QTP:描述性编程和Java窗口

时间:2013-11-07 21:44:29

标签: qtp

我在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

1 个答案:

答案 0 :(得分:0)

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

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

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

如果它没有父,你的代码应该像这样工作,并正确输出它出错的地方。为了使QTP更准确地识别对象,需要在向其添加少量唯一属性时添加更多相关描述。要学习唯一描述,请使用对象间谍,并使用“,”将其添加到此处以分隔多个描述

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

如果您将Browser作为父对象,请使用Browser对象以每个对象事件语句开头。

祝你好运