一尘不染

量角器的预期条件

selenium

在Python中编写selenium测试时,我习惯于使用Explicit Waits来等待页面加载,或等待元素可见或可点击等:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.ID, "myDynamicElement"))
)

这里的关键概念是提供等待的 期望条件 ,有多种类型:

与使用sleep带有硬编码时间间隔的s 相比,使用期望条件使代码更清洁,更可靠。

现在,我们正在将端到端测试基础架构转换protractor为很多。

是否有类似Expected Conditions的量角器,因为在python-seleniumjava- selenium?如果不是,显式等待in中条件的规范方法是什么protractor

我浏览了量角器文档,却一无所获。


阅读 244

收藏
2020-06-26

共1个答案

一尘不染

一旦feat(expectedConditions)进入(可能是量角器1.7),就可以执行以下操作:

var EC = protractor.ExpectedConditions;
var e = element(by.id('xyz'));
browser.wait(EC.presenceOf(e), 10000);
expect(e.isPresent()).toBeTruthy();

但是请注意,如果您使用的是Angular应用程序,并且您的测试需要这些条件等待,则这是您所做工作的一个大警示,因为量角器应该本地处理等待。

2020-06-26