我正处于网站脚本的中间。如何与网站中的进度条进行同步?我正在唱QTP 9.5版。
答案 0 :(得分:1)
根据具体情况,有十几种方法可以做到这一点。因此,尝试查看进度条的创建和更新方式。
如果网站以时尚的方式编程,则会将其创建为具有内部状态的对象(即从0到9运行,当内部状态为9时,它会显示完整的进度条并且应用程序已准备就绪)。
如果是这种情况,请尝试捕获内部对象。如果您无法通过本机QTP访问它,您还可以使用页面中的Javascript对象(请参阅此优秀文章:http://www.softwareinquisition.com/-p=81.htm或使用QTP11,我刚刚从用户Motti学习)。
如果您需要有关此主题的更多帮助,请发布进度条的代码/ html片段。
答案 1 :(得分:0)
当进度条仍然在运行时,您可以同时在浏览器状态栏上保持跟踪,并且一旦浏览器状态变为 “完成” 或类似的东西(也取决于应用程序的实现)。
我希望您知道如何获取状态栏文本进行比较。因此,一旦浏览器状态更新,您可以继续执行后续步骤,直到该时间等待该状态发生变化。
为了避免无限循环,还要保留一个计数器。我希望这会有所帮助。
答案 2 :(得分:0)
For i = 1 to 10
if Browser().progressBar.exist =True then
wait(10)
if Browser().progressBar.exist =True then
raise failure "Progress Bar alive for more than 100 seconds"
只需添加此代码即可。
答案 3 :(得分:-1)
使用同步点: - 这是最好的方法之一,使用它我们可以与正确值对进行同步。例如 - 我们可以让QTP等到任何对象(比如进度条后面的对话框)在运行应用程序时启用。
或者通过这个链接,它可能会帮助你 http://www.qtpsudhakar.com/2009/02/synchronization.html
使用.Exist方法 - QTP检查对象是否存在,然后对它们进行操作。它将等待exists()方法中指定的最大时间,如果object出现在最大时间之前,它将移动到下一行。例如-Browser("")。页面("")。进度条。执行(5),此处QTP将等待最多5秒钟以显示按钮。
3.使用Harcoded Wait语句 - 最不受欢迎的方法.QTP将强制等待括号中指定的时间。有些时候假设我们已经为任何对象等待了5秒,但是对象在2秒内出现,那么它仍然是将等待额外的3秒,这是ti的浪费