[英]Angular2 E2E Protractor. Wait until element has class
我需要找到一種方法來等待我的 e2e 測試(angular2 項目),直到被測元素獲得特定的 css 類。
沒有browser.wait()
或browser.sleep()
有什么可能的方法嗎?
您甚至在問題中使用了“等待”一詞,但要求在沒有內置等待功能的情況下解決它。 我認為這沒有多大意義。
我們之前已經解決了類似的問題,並提出了一個自定義等待函數,它可以用作browser.wait()
的預期條件:
function waitForCssClass(elementFinder, desiredClass) {
return function () {
return elementFinder.getAttribute('class').then(function (classValue) {
return classValue && classValue.indexOf(desiredClass) >= 0;
});
};
};
browser.wait(waitForCssClass($("#myid"), "desiredClass"), 5000);
給定元素對象 (ElementFinder) 和要檢查的 CSS 類,此函數等待類從元素中消失。
static async waitCssClassToDisappear(elem:ElementFinder, cssClass:string, timeout?: number) { await browser.wait(()=>{ return elem.getAttribute('class').then((value) =>{ return value.indexOf(cssClass) < 0; }); }, timeout ? timeout : Utils.defaultTimeout, 'CSS class did not disappear within specified timeout'); }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.