Angularjs 量角器--页面对象,获取错误无法读取属性';单击';未定义的。如何解决此错误?
尝试使用page object menu.js从spec.js访问角度应用程序的菜单,但运行量角器时出现错误。失败:无法读取未定义的属性“单击”Angularjs 量角器--页面对象,获取错误无法读取属性';单击';未定义的。如何解决此错误?,angularjs,protractor,Angularjs,Protractor,尝试使用page object menu.js从spec.js访问角度应用程序的菜单,但运行量角器时出现错误。失败:无法读取未定义的属性“单击” spec.js var loginpage = require('./login'); var Menu = require('./menu'); describe('todo', function() { it('activity', function() {
spec.js
var loginpage = require('./login');
var Menu = require('./menu');
describe('todo', function() {
it('activity', function() {
var question = new loginpage();
var menu = new Menu();
browser.sleep(10000);
menu.dropdown('Inquiry').click();
});
});
PAGE OBJECT FILE menu.js
var MenuPage = function() {
this.dropdown = function(dropdownName) {
var openDropdown = function() {
element(by.css('.nav'))
.element(by.css('[title=dropdownName]'))
.click();
};
return {
option: function(optionName) {
openDropdown();
return element(by.css('.dropdown.open'))
.element(by.linkText(optionName));
}
}
};
};
module.exports = MenuPage;
哇,你的考试很老套。使用
JS
的新功能要容易得多
但是,返回对象
。而不是返回元素
。您可以返回函数,该函数将返回与您的代码样式相关的元素:
return function(optionName) {
openDropdown();
return element(by.css('.dropdown.open'))
.element(by.linkText(optionName));
}