Vbscript QTP识别JavaEdit对象,但在运行脚本时无法设置值
我编写了一个简单的脚本,用于登录Java应用程序,在其中填写用户名和密码,然后单击“连接”按钮 奇怪的是,QTP正确识别了我的密码字段。当运行以下代码时,我按预期返回了一个值:Vbscript QTP识别JavaEdit对象,但在运行脚本时无法设置值,vbscript,qtp,hp-uft,Vbscript,Qtp,Hp Uft,我编写了一个简单的脚本,用于登录Java应用程序,在其中填写用户名和密码,然后单击“连接”按钮 奇怪的是,QTP正确识别了我的密码字段。当运行以下代码时,我按预期返回了一个值: MsgBox Main.JavaEdit("password").GetROProperty("attached_text") 我也尝试过在不加密的情况下设置密码,但它也不起作用 PS:同一个脚本以前工作过,后来由于未知原因停止工作 提前感谢。更换 UVC.JavaEdit("PSW").SetSecure "5256
MsgBox Main.JavaEdit("password").GetROProperty("attached_text")
我也尝试过在不加密的情况下设置密码,但它也不起作用
PS:同一个脚本以前工作过,后来由于未知原因停止工作
提前感谢。更换
UVC.JavaEdit("PSW").SetSecure "5256833195fsdqsdsqd447e4beefsdsdqd"
与
它甚至可以使用重放模式=“事件”。如果你想美化这一点,你可以在字段中间点击,如:
With UVC.JavaEdit("PSW")
.Click .GetROProperty ("width")\2, .GetROProperty ("height")\2
.SetSecure "5256833195fsdqsdsqd447e4beefsdsdqd"
End With
似乎大多数Java密码字段必须首先集中在SetSecure
-able上。替换
UVC.JavaEdit("PSW").SetSecure "5256833195fsdqsdsqd447e4beefsdsdqd"
与
它甚至可以使用重放模式=“事件”。如果你想美化这一点,你可以在字段中间点击,如:
With UVC.JavaEdit("PSW")
.Click .GetROProperty ("width")\2, .GetROProperty ("height")\2
.SetSecure "5256833195fsdqsdsqd447e4beefsdsdqd"
End With
似乎大多数Java密码字段必须首先聚焦于
SetSecure
-able.以确保..通过测试.getroproperty(“可编辑”)来检查该字段是否已启用
使用以下任何方法在Java编辑字段中设置文本
y=JavaEdit(“PSW”).Getroproperty(“abs_y”)
设置DRP=CreateObject(“Mercury.DevicePlay”)
DRP.MouseClick x,y,“0”
DRP.SendString“字符串”
这些方法中的任何一种都应该适用于您。如果运气不好..:)只是为了确定..请检查该字段是否已通过测试.getroperty(“可编辑”)启用 使用以下任何方法在Java编辑字段中设置文本
y=JavaEdit(“PSW”).Getroproperty(“abs_y”)
设置DRP=CreateObject(“Mercury.DevicePlay”)
DRP.MouseClick x,y,“0”
DRP.SendString“字符串”
这些方法中的任何一种都应该对你有用。如果运气不好的话:)谢谢你的回答,但是你的建议都不管用,我最终使用了一个基本的转变:
UVC.JavaEdit("JTextField").Set"admin"
UVC.JavaEdit("PSW").Click 1,1
UVC.JavaEdit("PSW").SetSecure"52581237d889935df36ae78587773a641f40"
UVC.JavaButton("Connect").Click
wait (5)
While JavaDialog("Login Error").Exist
JavaDialog("Login Error").JavaButton("Ok").click
UVC.JavaEdit("PSW").RefreshObject
UVC.JavaEdit("PSW").SetSecure"52581237d889935df36ae78587773a641f40"
UVC.JavaButton("Connect").Click
Wend
我真的不明白为什么同一个函数有时能工作,有时不能!!谢谢你的回答,但你的建议都不起作用,我最终使用了一个基本的转变:
UVC.JavaEdit("JTextField").Set"admin"
UVC.JavaEdit("PSW").Click 1,1
UVC.JavaEdit("PSW").SetSecure"52581237d889935df36ae78587773a641f40"
UVC.JavaButton("Connect").Click
wait (5)
While JavaDialog("Login Error").Exist
JavaDialog("Login Error").JavaButton("Ok").click
UVC.JavaEdit("PSW").RefreshObject
UVC.JavaEdit("PSW").SetSecure"52581237d889935df36ae78587773a641f40"
UVC.JavaButton("Connect").Click
Wend
我真的不明白为什么同一个函数有时能工作,有时不能!!调用SetSecure时会出现什么错误?或者是没有错误,值就是没有设置?还有,事实上,你在那里有等待语句,这表明在你设置用户名后,应用程序中有一些东西正在更新-是这样吗?我没有得到答案y SetSecure出现错误,该步骤已执行,但我可以看到密码未设置。我添加了wait语句只是为了调试,但没有需要等待的事件。从SetSecure获取返回值,查看它是否返回错误代码。同时检查错误号或错误说明hsa是否已在之后立即填充。问题被证明是错误的与应用程序本身相关,会无故触发错误弹出窗口。感谢您的帮助。哦,请添加“解决方案”作为答案,并自己接受它,因此(已回答/已解决)问题不再出现在未回答问题的列表中。调用SetSecure时会出现什么错误?或者没有错误,并且没有设置值?此外,您在其中有等待语句这一事实表明,在您设置用户名后,应用程序中的某些内容正在更新-是这样吗?我没有收到SetSecure的任何错误,该步骤已执行,但我可以看到密码未设置。我添加了wait语句只是为了调试,但没有要等待的事件。从SetSecure获取返回值,查看它是否返回错误代码。还要检查错误号或错误说明hsa是否在之后立即填充。该问题与applic有关如果没有任何原因会触发错误弹出框,请自行选择。谢谢您的帮助。哦,请添加“解决方案”作为答案,并自己接受它,这样(已回答/已解决)问题不再出现在未回答问题的列表中。我认为,每当应用程序窗口中的焦点发生未实现的更改时,该问题将无法工作。当windows使焦点更改应用程序的任务栏按钮闪烁时,就是这种情况。根据我的经验,设置安全取决于应用程序窗口是否具有焦点。是否执行此操作但我不知道为什么。我认为,只要你的应用程序窗口中存在未实现的焦点更改,它就无法工作。只要windows使焦点更改应用程序的任务栏按钮闪烁,就会出现这种情况。根据我的经验,设置安全性取决于应用程序窗口是否具有焦点。但我不知道为什么。