我需要找到一种方法来等待我的 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);
关于Angular2 E2E Protractor 。等到元素有类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43653215/