在软件测试时脚本触发WEB客户端控件的事件
前两天遇到一个 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