0

在我的测试中,我想单击类型 WebArea 的对象,它会打开一个 webelement 弹出窗口,其中包含一些我需要测试的字段。

通过代码单击 WebArea 对象后弹出窗口未打开的问题。

我使用的代码如下。

Browser("WW").page("assessment").WebArea("areaassesment").Click

上述行执行后没有任何反应。

4

2 回答 2

2

查看 WebArea 的 HTML 并查看触发弹出窗口的操作。通常它有类似的东西onclick='showPopup();',但在其他情况下它是onmousedownor onmouseup

如果是这种情况,您必须相应地设置 QTP。这里有多条路要走,一条是看你的高级网络设置是如何配置的。转到工具>选项>Web>高级并查看运行设置。
将 Replay Type 设置为 Event 将通过事件(默认mousedown为 ,mouseup然后mouseclick)或鼠标(您会看到鼠标指针在此模式下移动,QTP 将通过通过 Windows api 发送 WM_* 消息以移动到正确的屏幕位置并触发点击)。
尽管它重播速度更快,但如果Run only click选中,最好取消选中它以触发所有事件/消息。

事件也可以通过以下FireEvent方法触发:

Browser("WW").page("assessment").WebArea("areaassessment").FireEvent("onclick")

或通过对象本机方法:

call Browser("WW").page("assessment").WebArea("areaassessment").Object.click()
call Browser("WW").page("assessment").WebArea("areaassessment").Object.FireEvent("onclick")
于 2013-03-28T09:26:11.937 回答
0

正如@AutomateChaos 所说,QTP 可能没有模拟一个事件,解决此问题的一种方法是按照@AutomateChaos 的建议进行操作并模拟所需的事件。一种更简单的方法是更改​​为设备重播(如我在此处此处所述)。

于 2013-04-03T08:39:17.623 回答