【碎碎念】
在进行UI自动化测试时,需要等元素加载完成,才能对元素进行操作,不然找不到元素会报错,因此需要增加等待
上篇selenium+java元素定位的使用中,用到了三种等待方式,强制等待、隐式等待、显式等待。
看了一些视频、资料,发现上篇关于等待部分有一些坑。这篇来学习并排下坑吧。
有表述不正确的,欢迎指正。
selenium waits文档: https://www.selenium.dev/documentation/en/webdriver/waits/
【正文】
三种等待方式:
1.隐式等待Implicit Wait
一直等待页面加载完成,直至超时。
在创建webDriver后添加这行代码:
driver.manage().timeouts().implicitlyWait(60,TimeUnit.SECONDS);//隐式等待
注意1:
Warning:Do not mix implicit and explicit waits. Doing so can cause unpredictable wait times.
For example, setting an implicit wait of 10 seconds and an explicit wait of 15 seconds could cause a timeout to occur after 20 seconds.
警告: 请勿混合使用隐式和显式等待。这样做可能导致无法预测的等待时间。例如,将隐式等待设置为10秒,将显式等待设置为15秒,则可能导致20秒后发生超时。
(上篇就混用了...