0

我在 QTP 11.5 中使用描述性编程,没有 obj 存储库。

我有一个简单的网络应用程序,但是在单击“运行”按钮之前,我需要打开一个 Java 对话窗口并选择一个复选框。

你们能帮我写代码吗?我做错了什么?

Dim JavaBro, JavaDial, Jobj, JBox, JButton, JWindow

Set JavaBro = Browser("micclass:=Browser")
Set JavaDial = JavaDialog("micclass:=JavaDialog")
Set JButton = JavaButton ("micclass:=JavaButton")
Set JWindow = JavaWindow ("micclass:=JavaWindow")
Set Jobj = JavaObject("micclass:=JavaObject")
Set JBox = JavaCheckBox("micclass:=JavaCheckBox")


Set oDesc = Description.Create()
oDesc("micclass").Value = "JavaCheckBox"
JavaDialog("text:=Security Warning").JavaCheckBox("label:=I accept the risk and want to run this application\.").Set "ON"
JavaDialog("text:=Security Warning").JavaButton("text:=Run").Click
4

1 回答 1

0

首先,您不需要在顶部创建的所有对象定义,但无论如何您都不会使用它。

最后两行足以识别并单击运行按钮。

想了解 Java Dialog 是否有父级?例如,如果它在浏览器或直接父级上?

如果它没有父代码,您的代码应该像这样工作,并正确输出出错的地方。为了让 QTP 更准确地识别对象,需要在添加一些独特属性的过程中添加更相关的描述。要学习独特的描述,请使用 object spy 并使用“,”将它们添加到此处,以分隔多个描述

If JavaDialog("text:=Security Warning").Exist( 5 ) Then
     If JavaDialog("text:=Security Warning").JavaCheckBox("label:=I accept the risk and want to run this application\.").Exist( 5 ) Then
           JavaDialog("text:=Security Warning").JavaCheckBox("label:=I accept the risk and want to run this application\.").Set "ON"
           If JavaDialog("text:=Security Warning").JavaButton("text:=Run").Exist( 5 ) Then
                  JavaDialog("text:=Security Warning").JavaButton("text:=Run").Click
           Else
                  MsgBox "Unable to Identify Run Button"
           End If
     Else
           MsgBox "Unable to Identify CheckBox"
     End If
Else
     MsgBox "Unable to Identify Security Dialog"
End If

如果您将浏览器作为父对象,则在每个对象事件语句上使用浏览器对象开始。

祝你好运

于 2013-11-26T06:17:40.107 回答