gpt4 book ai didi

javascript - Protractor 页面对象 - TypeError : Object # has no method 'methodName'
转载 作者:行者123 更新时间:2023-11-28 01:02:00 25 4
gpt4 key购买 nike

我正在尝试使用页面对象模式编写一个简单的测试 - 基于 ' docs/page-objects '.

我创建了一个描述页面对象的文件,并使用此页面对象来测试页面。

//page object
var LoginPage = function() {

this.userInput = browser.driver.findElement(by.id('username'));
this.pwdInput = browser.driver.findElement(by.id('password'));
this.btnEnter = browser.driver.findElement(by.id('btnLogin'));

this.get = function(){
browser.get('http://example.com');
};

this.setUser = function (user){
this.userInput.sendKeys(user);
};

this.setPasswd = function (password) {
this.pwdInput.sendKeys(password);
};

this.clickBtnEnter = function (){
btnEnter.click();
};};

规范文件:

var loginPage = require('./LoginPage.js');
describe('myApp', function() {
it('should save contract config', function (){
loginPage.get();
loginPage.setUser('userid');
loginPage.setPasswd('passwd');
loginPage.clickBtnEnter();
});
});

当我运行此测试时,显示以下错误:TypeError: Object # has no method 'get' - 在这一行:loginPage.get();。

当我搜索这个问题时,我发现了在Protractor中使用页面对象的各种方法,例如Astrolable 。现在我不确定页面对象的正确用法。

您对如何修复此测试有什么想法吗?

谢谢大家。

最佳答案

试试这个:

确保您的 LoginPage.js 文件中有以下内容

module.exports = LoginPage;

添加缺少的new关键字

var LoginPage = require('./LoginPage.js');
var loginPage = new LoginPage();

关于javascript - Protractor 页面对象 - TypeError : Object #<Object> has no method 'methodName' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25518874/

25 4 0