Я пытаюсь написать простой тест с использованием шаблона объектов страницы - на основе 'документы/объекты-страницы'.
Я создал файл, описывающий объект страницы и другие, используя этот объект страницы для тестирования страницы.
//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. Теперь я не уверен в правильном использовании объектов страницы.
Есть ли у вас какие-либо идеи о том, как я могу исправить этот тест?
Спасибо вам, ребята.