the*_*sle 2 javascript jquery angularjs protractor
跳上测试车,现在正在实施一些网站的E2E测试,但我遇到了一个棘手的小问题.
我正在尝试选择一个字段,然后将密钥发送到该输入字段以更改值,唯一的问题是失败:未知错误:无法聚焦元素错误我似乎无法过去.我有它在其他领域工作,只是没有这个设置.
pageObject文件.
var profilePage = function() {
this.firstName = element(by.id('firstname'));
this.lastName = element(by.id('lastname'));
this.saveBtn = element(by.css('ng-click="saveLocalAccount()"'));
this.cancelBtn = element(by.css('ng-click="cancelChanges()"'));
this.changeName = function(firstname, lastname) {
this.firstName.click();
var input = firstName.element(by.css('input'));
input.click();
this.input.sendKeys(firstname);
this.lastName.click();
this.lastName.sendKeys(lastname);
browser.waitForAngular();
}
};
module.exports = new profilePage();
Run Code Online (Sandbox Code Playgroud)
规范.
var profilePage = require('TestProtractor/E2E/PageObjects/profile.pageObject.js');
describe('Testing the profile page functionality', function() {
var firstNameTest = "firstTest";
var lastNameTest = "lastTest";
it('Navigate to profile page.' ,function() {
browser.get('xxx');
expect(browser.getCurrentUrl())
.toContain('xxx');
});
it('Should change the firstname and lastname successfully', function() {
profilePage.changeName(firstNameTest, lastNameTest);
expect(element(by.id('firstname')).getText()).toContain(firstNameTest);
expect(element(by.id('lastname')).getText()).toContain(firstNameTest);
});
Run Code Online (Sandbox Code Playgroud)
});
HTML
Failed: unknown error: cannot focus element error当你试图sendKeys()找到一个不是的元素时,你会看到input
在您可重复使用的方法中,changeName()您正在尝试sendKeys()进入lastName = element(by.id('lastname'))哪个不是input元素.您必须以与输入名字文字相同的方式接近它
假设他们也是一个input内部姓氏
this.changeName = function(firstname, lastname) {
this.firstName.click();
var input = firstName.element(by.css('input'));
input.click();
this.input.sendKeys(firstname);
this.lastName.click();
var input2 = lastName.element(by.css('input'));
input2.click();
this.input2.sendKeys(lastName);
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7827 次 |
| 最近记录: |