我在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
答案 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对象以每个对象事件语句开头。
祝你好运