2015-10-16 22 views
2

我的規格:量角器 - 無法讀取的未定義的屬性綁定爲EC.textToBePresentInElement

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失敗與工作正常關於未定義綁定的消息 - Failed: Cannot read property 'bind' of undefined。 這裏有什麼問題?

回答

2

我認爲這是一個簡單的複製粘貼錯誤。您需要使用userDetailsPage.position.value而不是userDetailsPage.position

positionUsersTableThirdRow.then(function (value) { 
    browser.wait(EC.textToBePresentInElement(userDetailsPage.position.value, value), 5000); 
}); 

請注意,我在這裏與then()解決positionUsersTableThirdRow明確。

+0

確實,它解決了綁定異常,但是這次出現了TimeoutError。就像它在等待什麼不存在的東西。 – Michal

+0

@Michal我不確定,但是不應該用'then()'明確地解決'positionUsersTableThirdRow'? – alecxe

+0

怎麼樣?你能糾正我的代碼嗎?我是js的新手。 – Michal

相關問題