📅  最后修改于: 2020-12-03 05:22:07             🧑  作者: Mango
在本章中,让我们详细了解等待。为了了解自动等待,我们创建了一个简单的测试页面。当用户在文本框中输入文本时,将触发onchange事件,并在3秒钟后启用该按钮。
Watir有一个wait_unit api调用,它会等待特定的事件或属性。我们将对测试页进行相同的测试,如下所示-
browser.button(id: 'btnsubmit').wait_until(&:enabled?)
//here the wait is on the button with id : btnsubmit to be enabled.
Testing UI using Watir
Enter First Name :
在文本框中输入文本时,您将需要等待3秒钟才能启用该按钮。
单击提交按钮时,将显示以下文本:
现在,由于我们增加了启用按钮的延迟,因此自动化很难处理这种情况。每当我们有一些延迟或必须等待要定位的元素的某些事件或属性时,我们都可以使用wait_until,如下所示-
require 'watir'
b = Watir::Browser.new :chrome
b.goto('http://localhost/uitesting/testwait.html')
t = b.text_field(name: 'firstname')
t.exists?
t.set 'Riya Kapoor'
b.screenshot.save 'waittestbefore.png'
t.value
t.fire_event('onchange')
btn = b.button(id: 'btnsubmit').wait_until(&:enabled?)
btn.fire_event('onclick');
b.screenshot.save 'waittestafter.png'
接下来,使用以下命令
btn = b.button(id: 'btnsubmit').wait_until(&:enabled?)
Watir将等待按钮启用,然后再等待触发点击事件。捕获的屏幕截图如下所示-