Hom*_*ker 3 javascript pageobjects protractor
我似乎陷入了页面对象的构造.我阅读了很多关于页面对象的文档,并且知道它们包含两件事:
当我检查示例文件时,我看到元素是在每个页面对象的开头定义的.在测试中,pageobject通过require导入.但我看到的问题是,当需求发生时,对象尚未存在.有没有其他方法来解决这个问题,而不必在页面加载时执行需求?
提前致谢.问候
有一个新的Protractor样式指南即将出现(目前在评论中),它应该清理很多东西,尤其是页面对象创建和需要部分.这是目前的草案:
关于你的问题,首先,需要将Page Objects定义为函数,在构造函数中声明页面对象元素:
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;
Run Code Online (Sandbox Code Playgroud)
然后,在测试套件的顶部需要您的页面对象:
var QuestionPage = require('./question-page');
describe('My Test', function() {
...
});
Run Code Online (Sandbox Code Playgroud)
在测试套件中实例化您的页面对象:
describe('My Test', function() {
var questionPage = new QuestionPage();
// specs
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
148 次 |
| 最近记录: |