Javascript 量角器-can';t读取EC.texttobepresentElement的未定义属性绑定
我的规格:Javascript 量角器-can';t读取EC.texttobepresentElement的未定义属性绑定,javascript,exception,selenium-webdriver,protractor,Javascript,Exception,Selenium Webdriver,Protractor,我的规格: it('displays user details page of an active user', function () { var userDetailsPage = new UserDetailsPage(); var usersPage = new UsersPage(); expectVisibilityOf(usersPage.thirdRow, 'element firstRow was not visible ')
it('displays user details page of an active user', function () {
var userDetailsPage = new UserDetailsPage();
var usersPage = new UsersPage();
expectVisibilityOf(usersPage.thirdRow, 'element firstRow was not visible ');
var positionUsersTableThirdRow = usersPage.thirdRowPosition.getText();
var idUsersTableThirdRow = usersPage.thirdRowId.getText();
var emailUsersTableThirdRow = usersPage.thirdRowEmail.getText();
clickWithWait(usersPage.thirdRow);
browser.wait(EC.elementToBeClickable(userDetailsPage.position.value), WAIT_TIMEOUT, 'element position was not clickable ');
browser.wait(EC.elementToBeClickable(userDetailsPage.id), WAIT_TIMEOUT, 'element id was not clickable ');
browser.wait(EC.elementToBeClickable(userDetailsPage.email), WAIT_TIMEOUT, 'element email was not clickable ');
browser.wait(EC.textToBePresentInElement(userDetailsPage.position, positionUsersTableThirdRow), 5000);
browser.wait(EC.textToBePresentInElement(userDetailsPage.id, idUsersTableThirdRow), 5000);
browser.wait(EC.textToBePresentInElement(userDetailsPage.email, emailUsersTableThirdRow), 5000);
//expect(userDetailsPage.position.value.getText()).toEqual(positionUsersTableThirdRow);
//expect(userDetailsPage.id.getText()).toEqual(idUsersTableThirdRow);
//expect(userDetailsPage.email.getText()).toEqual(emailUsersTableThirdRow);
});
问题是,当我使用expect(element.getText()).toEqual()时,测试工作正常代码>(这些注释项)但对于量角器ExpectedCondition,它会失败,并显示有关未定义绑定的消息-失败:无法读取未定义的属性“bind”。
这里有什么问题?我认为这是一个简单的复制粘贴错误。您需要使用userDetailsPage.position.value
而不是userDetailsPage.position
:
positionUsersTableThirdRow.then(function (value) {
browser.wait(EC.textToBePresentInElement(userDetailsPage.position.value, value), 5000);
});
请注意,这里我使用then()
True显式解析positionUsersTableThirdRow
,它解决了绑定异常,但这次出现了TimeoutError。就像它在等待一些不存在的东西。@Michal我不确定,但你不应该用then()
?…如何明确地解析positionUsersTableThirdRow
?你能更正我的密码吗?我是js的新手。@Michal顺便说一句,有一个更新-你能检查一下它是否适合你吗?谢谢