lvkai 发表于 2009-11-25 11:32:59

提高Web 2.0自动化测试脚本的稳定性之一

http://blog.sina.com.cn/s/blog_406a3c480100g18n.html

Web 2.0 (本文针对Ajax)相对传统Web应用的一个区别是,整页的载入变得很少,代之以在javascript线程里异步提交数据和获得更新。

在Web2.0之前,测试工具通过判断页面的载入是否完成来判断一个动作十分完成,现在这个方法不灵了。

一个简单的办法是在测试脚本中插入sleep语句,来等待ajax动作的完成。但是ajax动作所需要的时间,随网络状况和服务器性能而变化。如果 sleep时间过短,会造成在页面动作完成之前就开始下一步测试动作,从而带来不应有的错误;反正,如果sleep时间过长,会浪费测试时间。而且,我们还需要随网络状况和服务器性能的变化,来调整sleep时间。

比较好的办法是去找一个标志,通过这个标志来判断动作是否完成。

比如刷新gmail收件箱的时候,网页上方正中央的“正在载入”就可以用来作为判断这个刷新是否完成的标志。

在选取第三方标志的时候,一定要注意这个标志真正能代表这个动作是否完成。

举个反例。某系统在网页下方有个事件记录的区域,每次动作完成,就会刷新,且只显示最后一条。在这里如果用这个最后事件的名称作为标志就是不合适的。因为你做重复性的动作的时候,这个标志就不能代表你的动作是否完成了。

dennyqiang 发表于 2010-1-4 11:54:45

说得在理 .....
页: [1]
查看完整版本: 提高Web 2.0自动化测试脚本的稳定性之一