在软件测试时脚本触发WEB客户端控件的事件

发表于:2009-04-22来源:作者:点击数: 标签:软件测试webWEBWeb脚本
前两天遇到一个 QTP 脚本编写的问题。脚本需要填写一个WEB表单然后提交,表单里面有两个WebEdit“商品单价”和“购买数量”,只要在“购买数量”中填写数据,页面会立即自动计算出商品的总价。结果发现,脚本回放的时候,无法计算出总价。 经过分析发现原因是
前两天遇到一个QTP脚本编写的问题。脚本需要填写一个WEB表单然后提交,表单里面有两个WebEdit“商品单价”和“购买数量”,只要在“购买数量”中填写数据,页面会立即自动计算出商品的总价。结果发现,脚本回放的时候,无法计算出总价。
 
        经过分析发现原因是这样的。即时计算总价这个功能,是由客户端的js函数实现的,触发这个函数的事件是“购买数量”这个控件的“onkeyup”事件。在手工操作时候,我们敲击键盘会触发这个事件,但是在QTP脚本里面是这样写的:
Browser(\"购买\").Page(\"订单\").WebEdit(\"购买数量\").Set \"8\"
 
        这行代码是直接修改了控件的值,因此并没有触发“onkeyup”这个事件
 
        解决这个问题也很简单,只要再增加一句代码即可:
Browser(\"购买\").Page(\"订单\").WebEdit(\"购买数量\").FireEvent \"onkeyup\"
 
        需要注意的是,由于开发人员的编程习惯不同,有的可能是“onkeydown”或者其他事件,所以我们需要先弄清楚,是什么事件触发了js函数。

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