我们的团队正在为基于 ExtJS 的应用程序设置测试脚本,以便使用 QTP 自动执行交互测试。
我们的许多元素/对象都根据需要被检测,但列标题排序触发器除外。
我们的网格面板具有远程排序功能,但是以编程方式触发列标题"单击"不会触发我们的排序,尽管在列标题上手动"单击"会触发排序。我已经尝试过鼠标向下和鼠标向上,在列标题 Div 上,它也是子项 -titleEl 和 -textEl。
有什么想法吗?
提前谢谢。
最简单的方法是告诉 QTP 生成鼠标事件,这样,当真人单击标头时触发的所有事件都将在 QTP 单击它时触发。
如图所示
origReplayType = Setting.WebPackage("ReplayType")
Setting.WebPackage("ReplayType") = 2
Browser("B").Page("P").WebElement("column header").Click ' your script line here
Setting.WebPackage("ReplayType") = origReplayType
如果这种情况很常见,则可以使用 RegisterUserFunc
为测试对象定义新的DeviceClick
函数。
稍微复杂的方法是调试应用程序并查看哪个事件触发对列进行排序,然后将FireEvent
与正确的事件一起使用。