QTP中的同步

时间:2011-02-28 05:03:01

标签: synchronization qtp

我正处于网站脚本的中间。如何与网站中的进度条进行同步?我正在唱QTP 9.5版。

4 个答案:

答案 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)

  1. 使用同步点: - 这是最好的方法之一,使用它我们可以与正确值对进行同步。例如 - 我们可以让QTP等到任何对象(比如进度条后面的对话框)在运行应用程序时启用。

    或者通过这个链接,它可能会帮助你     http://www.qtpsudhakar.com/2009/02/synchronization.html

  2. 使用.Exist方法 - QTP检查对象是否存在,然后对它们进行操作。它将等待exists()方法中指定的最大时间,如果object出现在最大时间之前,它将移动到下一行。例如-Browser("")。页面("")。进度条。执行(5),此处QTP将等待最多5秒钟以显示按钮。

  3. 3.使用Harcoded Wait语句 - 最不受欢迎的方法.QTP将强制等待括号中指定的时间。有些时候假设我们已经为任何对象等待了5秒,但是对象在2秒内出现,那么它仍然是将等待额外的3秒,这是ti的浪费