0

我正在尝试自动化使用PEGA 7with构建的 Web 应用程序UFT 12.0。有一个自动完成的下拉框,当开始输入国家名称时,它将显示选项列表。在录制过程中,我能够看到列表并进行选择。但是在播放时,列表没有显示。请让我知道如何实现这一目标。

<code> Browser("Pega7").Page("CPMInteractionPortal").Frame("PegaGadget1Ifr").WebEdit("$PpyWorkPage$pCallBackDetails$_4").Set "Ind"
wait 5
Browser("Pega7").Page("CPMInteractionPortal").Frame("PegaGadget1Ifr").WebEdit("$PpyWorkPage$pCallBackDetails$_4").Set "India"
Browser("Pega 7").Page("CPMInteractionPortal").Frame("PegaGadget1Ifr").WebButton("Save").Click
Browser("Pega 7").CloseAllTabs
</code>
4

1 回答 1

0

我从未从事过 PEGA 应用程序,但我从事过 Web 应用程序。

通常,根据在其中键入的内容关联或生成动态搜索结果的文本框与文本框的某些事件相关联,例如当焦点位于文本框时按下任何键时触发的 onkeydown 或当键为 onkeyup 时当焦点在文本框时释放

当触发此事件时,将进行后台 ajax 调用并为您动态填充结果。

使用 QTP 设置方法,它通常设置文本框的值,其中与控件关联的事件不会被触发。

为了触发这些事件,您可以使用以下方法(无论对您有帮助,您都可以尝试使用它)

1.尝试再次单击文本框,有时这在某些应用程序中也可以解决问题

Browser("Pega7").Page("CPMInteractionPortal").Frame("PegaGadget1Ifr").WebEdit("$PpyWorkPage$pCallBackDetails$_4").Set "India"
Browser("Pega7").Page("CPMInteractionPortal").Frame("PegaGadget1Ifr").WebEdit("$PpyWorkPage$pCallBackDetails$_4").Click

2.可以尝试使用QTP中的FireEvent方法

Browser("Pega7").Page("CPMInteractionPortal").Frame("PegaGadget1Ifr").WebEdit("$PpyWorkPage$pCallBackDetails$_4").Set "India"
Browser("Pega7").Page("CPMInteractionPortal").Frame("PegaGadget1Ifr").WebEdit("$PpyWorkPage$pCallBackDetails$_4").FireEvent "onclick"

注意 - 请尝试其他事件,如 onkeydown、onkeyup、onkeypress、onblur 等

3.您可以使用您必须首先创建一个shell对象的Sendkeys(如您的评论中所述)示例

Set WshShell = CreateObject("WScript.Shell")
Browser("Pega7").Page("CPMInteractionPortal").Frame("PegaGadget1Ifr").WebEdit("$PpyWorkPage$pCallBackDetails$_4").Set "India"
WshShell.SendKeys ""

注意 - 您也可以在 sendkeys 中键入文本而不是空白

让我们知道如果没有任何效果,我们可以尝试寻找其他解决方案。

于 2015-12-01T20:40:37.270 回答