我有一個表,我有某些鏈接。由於此表非常動態,我想要搜索鏈接。頁面上的搜索元素,並選擇下一步如果找不到元素
this.invoiceTable.element(by.cssContainingText('a','1616050'));
如果在當前頁面沒有找到,我想點擊下一個30條記錄按鈕來獲得下30條記錄。
this.invoiceTable.element(by.cssContainingText('a','Next 30')).click();
並再次開始搜索下一頁上的上一個鏈接。 我不知道如何實現這一點,我應該記錄什麼錯誤的元素未找到,以便它單擊下一個30鏈接,並再次開始搜索。
有人可以幫助正確的方法來記錄表中找不到的元素的錯誤,然後單擊下一步按鈕,然後再次搜索?
使用下面的代碼嘗試,但它是在調用測試()拋出錯誤
test() {
var invoicetable1 = element(by.css('[id$="MainContent_uxInvoiceList"]'));
browser.isElementPresent(by.cssContainingText('a','1626547')).then(function(isPresent) {
if (isPresent) {
invoicetable1.element(by.cssContainingText('a','1626547')).click();
} else {
invoicetable1.element(by.cssContainingText('a','Next 30 Invoices')).click();
test();
}
});
}
我無法再以某種方式再次使用測試。這個函數是我作爲一個類創建的pageobject。在課堂內部,我已經定義了我的功能,如我更新後的問題所定義的。我在調用測試函數時遇到錯誤,說明測試不是函數。 – NewWorld
我得到的錯誤: '失敗:測試未定義' 我也嘗試使用this.test(),但然後我得到錯誤'失敗:無法讀取未定義的屬性'測試' – NewWorld
@NewWorld你不能使用'this'在回調函數內部 - 在'test()'函數的頂部創建一個閉包:'var self = this',並在遞歸調用時使用'self.test()'。欲瞭解更多信息,請參閱http://stackoverflow.com/questions/337878/var-self-this。 – alecxe