从量角器中的页面对象获取元素
Getting element from pageobject in protractor
我正在使用页面对象编写一些 Protractor 测试用例。但是,我无法直接在规范文件中使用 Pageobject 文件中的元素。
可能我遗漏了一些 JS 的细微差别,因为我没有用 JS 写那么多。
我想像这样使用 Pageobject 中定义的一些元素:
var PageObject = function()
{
var loginUsername = element(by.id('loginusername'));
//other methods
};
module.exports = PageObject;
像这样在我的规范文件中使用:
var PageObject = require('./pageObject.page.js');
describe( ' Login page ', function(){
it('type something in the usernamefield', function(){
var pageObject = new PageObject();
pageObject.get();
pageObject.loginUsername.sendKeys('Test');
});
});
使用方法(例如 get 和其他方法)工作正常,但直接使用元素会导致一些未定义的错误。
我正在尝试复制类似这样的东西,据说它应该可以工作。
你缺少的东西,
bind your variable to object in pageObject.page.js, using this keyword
var PageObject = function()
{
this.loginUsername = element(by.id('loginusername'));
......
};
module.exports = PageObject;
In Spec first get the real application and do real work
it('type something in the usernamefield', function(){
browser.get('"https://....');
var pageObject = new PageObject();
pageObject.loginUsername.sendKeys('Test');
});
这对我来说很完美,
我正在使用页面对象编写一些 Protractor 测试用例。但是,我无法直接在规范文件中使用 Pageobject 文件中的元素。
可能我遗漏了一些 JS 的细微差别,因为我没有用 JS 写那么多。
我想像这样使用 Pageobject 中定义的一些元素:
var PageObject = function()
{
var loginUsername = element(by.id('loginusername'));
//other methods
};
module.exports = PageObject;
像这样在我的规范文件中使用:
var PageObject = require('./pageObject.page.js');
describe( ' Login page ', function(){
it('type something in the usernamefield', function(){
var pageObject = new PageObject();
pageObject.get();
pageObject.loginUsername.sendKeys('Test');
});
});
使用方法(例如 get 和其他方法)工作正常,但直接使用元素会导致一些未定义的错误。
我正在尝试复制类似这样的东西,据说它应该可以工作。
你缺少的东西,
bind your variable to object in pageObject.page.js, using this keyword
var PageObject = function()
{
this.loginUsername = element(by.id('loginusername'));
......
};
module.exports = PageObject;
In Spec first get the real application and do real work
it('type something in the usernamefield', function(){
browser.get('"https://....');
var pageObject = new PageObject();
pageObject.loginUsername.sendKeys('Test');
});
这对我来说很完美,