gpt4 book ai didi

testing - HP QTP/UFT 中 fireevent() 的功能是什么?

转载 作者:行者123 更新时间:2023-11-28 19:55:28 33 4
gpt4 key购买 nike

我正在学习 HP UFT。

最近我遇到了fireevent,我尝试在Flipkart的网站上实现它。 .我尝试使用 firevent("onmouseover") 作为网站主页上的链接 Men

我使用 ChildObjects 找出链接和 WebElement (在两个不同的测试中),首先突出显示它然后使用 object.fireevent("onmouseover") 以及 object.fireevent("OnClick")OnClick 正在运行,它显示链接被选中(即当我们按 Tab 键时覆盖链接的虚线框),但它没有显示 Men 部分下的菜单.

我在谷歌上搜索了很多次。但无法在 QTP/UFT 中找到 FireEvent 的确切工作方式。

请帮我解决上面的问题以及FireEvent的一些教程。

编辑:我正在使用 IE 11 进行测试。

最佳答案

Motti 已经回答了技术定义,但我将尝试为您提供功能问题的解决方案。

根据我的经验,.FireEvent 通常不会像您期望的那样工作。 onmouseover 之类的替代方法是通过实际将鼠标移动到所需位置来更接近地模拟用户行为。在我们的框架中,我们有一个小的扩展函数来做到这一点,这里显示了一个精简版本:

Sub My_MouseOver(objSender)
Dim absX : absX = objSender.GetROProperty("abs_x")
Dim absY : absY = objSender.GetROProperty("abs_y")
Dim width : width = objSender.GetROProperty("width")
Dim height : height = objSender.GetROProperty("height")
Dim x : x = (absX + (width / 2))
Dim y : y = (absY + (height / 2))
Dim deviceReplay : Set deviceReplay = CreateObject("Mercury.DeviceReplay")
deviceReplay.MouseMove x, y

Reporter.ReportEvent micDone, "A step name", "A useful step description"
End Sub
RegisterUserFunc "Link", "MouseOver", "My_MouseOver"
RegisterUserFunc "WebButton", "MouseOver", "My_MouseOver"
RegisterUserFunc "WebElement", "MouseOver", "My_MouseOver"

例如,您可以执行以下操作以在 flipkart.com 上显示“ELECTRONICS”菜单覆盖(显然替换您自己的 BrowserPage 定义):

Browser("Flipkart").Page("Main Nav").Link("xpath:=//a[@data-tracking-id='electronics']").MouseOver

在原始版本中,有各种额外的错误处理和自定义报告,因此它会告诉您点击了什么,但本质是一样的。它在屏幕上定位对象,计算中心并将鼠标移到那里。在调用 之前,您可能需要等待一小段时间让菜单覆盖出现。单击 新显示的子元素之一。

关于testing - HP QTP/UFT 中 fireevent() 的功能是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24155771/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com