使用Robot Framework测试AJAX(3)

发表于:2012-02-29来源:新浪博客作者:lxg0618点击数: 标签:自动化测试框架
为了解决这个问题,我们应该在 click button 关键字的后面加上 dont wait参数,这样就不会出现500错误了。 click button xpath=//button[1] dont wait 修改后我们继续运行
使用Robot <wbr>Framework测试AJAX

  为了解决这个问题,我们应该在 click button 关键字的后面加上 don't wait参数,这样就不会出现500错误了。


click button
xpath=//button[1] don't wait

  修改后我们继续运行一遍测试用例,没有500错误出现,但这次却出现了其他错误。

  TestFail | FAIL |

  Page should have contained text '本内容是使用 GET 方法请求的' but did not

  这又是为什么呢?记住。Ajax的刷新是异步的,返回文字需要时间。而由于使用了don't wait参数,Robot Framework直接执行了下一个关键字 Page should contain,此时返回文字这时还没有出现,自然会失败。

  这时候我们就用到了另外一个关键字 Wait Until Page Contains

  我们将Page should contain 这一句换成下面这一句(第二个参数5000指的是等待5000毫秒,超过后就抛出超时错误)。

Wait Until Page Contains 本内容是使用 GET 方法请求的 5000

  这样再次运行测试用例,就得到TestPass了。

  拓展

  上述的例子只是实现了最简单的对Ajax的测试方法。由于JavaScript代码能写得各式各样,因此测试用例的写法也会不尽相同。但是本质上AJAX就两个关键点:异步和动态DOM变更。只要抓住这2点,基本上什么都难不倒你了。下面的几个关键字应该能搞定绝大部分AJAX测试:

  Wait For Condition · Wait Until Page Contains · Wait Until Page Contains Element

  尤其是Wait For Condition,由于能够直接访问JavaScript代码,它异常强大,值得关注。

原文转自:http://www.ltesting.net