📜  Watir-自动等待

📅  最后修改于: 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.

testwait.html

Testing UI using Watir
   
   
   
      
      
      
Enter First Name :


输出

自动等待

在文本框中输入文本时,您将需要等待3秒钟才能启用该按钮。

自动等待

单击提交按钮时,将显示以下文本:

提交按钮

现在,由于我们增加了启用按钮的延迟,因此自动化很难处理这种情况。每当我们有一些延迟或必须等待要定位的元素的某些事件或属性时,我们都可以使用wait_until,如下所示-

使用wait_until的Watir代码

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将等待按钮启用,然后再等待触发点击事件。捕获的屏幕截图如下所示-

Waittestbefore.png

等待之前

waittestafter.png

等待测试