gpt4 book ai didi

javascript - Protractor 页面对象问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:13:34 24 4
gpt4 key购买 nike

我好像卡在了页面对象的构造上。我阅读了很多关于页面对象的文档,知道它们包含两件事:

  • 出现在页面上的元素
  • 与页面交互的函数

当我检查示例文件时,我发现元素是在每个页面对象的开头定义的。在测试中,页面对象是通过 require 导入的。但是我看到的问题是当需求发生时对象还不存在。有没有另一种方法可以解决这个问题,而不必在页面加载时执行要求?

提前致谢。问候

最佳答案

有一个新的Protractor 样式指南 即将推出(目前正在审查中),它应该会清楚很多事情,尤其是页面对象的创建和要求部分。这是当前的草稿:

关于你的问题,首先需要将页面对象定义为函数,在构造函数中声明页面对象元素:

var QuestionPage = function() {
this.question = element(by.model('question.text'));
this.answer = element(by.binding('answer'));
this.button = element(by.className('question-button'));

this.ask = function(question) {
this.question.sendKeys(question);
this.button.click();
};
};

module.exports = QuestionPage;

然后,在测试套件的顶部要求您的页面对象:

var QuestionPage = require('./question-page');

describe('My Test', function() {
...
});

在测试套件中实例化您的页面对象:

describe('My Test', function() {
var questionPage = new QuestionPage();

// specs
});

关于javascript - Protractor 页面对象问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35063150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com