测试同步
相关项: GUI 测试和脚本化 GUI 组件
运行测试时,应用程序可能不能始终以相同速度响应。例如,以下过程可能需要几秒钟时间:
-
进度栏达到 100%
-
显示状态消息
-
按钮变成启用状态
-
打开窗口或弹出消息
通过同步测试来处理这些预计的时间问题,以确保 UFT One 在执行特定步骤之前等待直至应用程序准备就绪。
可以使用以下几个选项来同步测试。
添加同步点
如果不希望 UFT One 在应用程序中的对象达到特定状态之前执行步骤或检查点,请插入同步点以指示 UFT One 暂停测试。
例如,假设您在 Advantage Online Shopping 网站上录制测试。您想将反馈发送给卖方。您输入自己的电子邮件地址,然后在“主题”编辑框中输入您的建议或反馈。当您填写“电子邮件”编辑框和“主题”编辑框时,“发送”按钮将变得可用。但是,您稍后可能想要修改电子邮件地址或反馈。
如果没有同步点,UFT One 甚至可能会在“发送”按钮再次显示在测试运行中之前尝试单击该按钮,并且测试将失败。
UFT One 必须能够识别指定对象,才能执行同步点。要指示 UFT One 等待对象显示,请使用 Exist 或 Wait 语句。
示例: 为“发送”按钮插入同步点之后,屏幕可能如下所示:
在编辑器中显示为:
Browser("Advantage Shopping").Page("Advantage Shopping").WebEdit("emailContactUs").Set "123@google.com"
Browser("Advantage Shopping").Page("Advantage Shopping").WebEdit("subjectTextareaContactUs").Set "the laptop is good"
Browser("Advantage Shopping").Page("Advantage Shopping").Sync
Browser("Advantage Shopping").Page("Advantage Shopping").WebButton("send_btnundefined").WaitProperty "visible", true, 10000
Exist 和 Wait 语句
使用 Exist 和/或 Wait 语句指示 UFT One 等待窗口打开或等待对象显示。您可以在循环中合并这些语句,指示 UFT One 在继续测试之前等待直到对象出现。
例如,以下语句指示 UFT One 在打开“航班表”对话框前最多等待 20 秒钟。
blnDone=Window("Flight Reservation").Dialog("Flights Table").Exist
counter=1
While Not blnDone
Wait (2)
blnDone=Window("Flight Reservation").Dialog("Flights Table").Exist
counter=counter+1
If counter=10 then
blnDone=True
End if
Wend
有关详细信息,请参阅添加同步点对话框。
超时设置
通常,如果发现 UFT One 等待对象显示或等待浏览器导航到指定页面的时间不够长,则可以增加测试的默认对象同步超时值和测试的浏览器导航超时值。
-
使用测试时,要修改 UFT One 等待对象显示的最大时间量,请在文件 > 设置 > 运行窗格中更改对象同步超时。
-
要修改 UFT One 等待网页加载的时间量,请在文件 > 设置 > Web 窗格中更改浏览器导航超时。