【问题标题】:How can we get the value of textbox in QTP?我们如何获取 QTP 中文本框的值?
【发布时间】:2019-06-11 22:20:20
【问题描述】:

我正在UFT 12.5 中执行自动化测试脚本我是 UFT 的新手。对代码不太熟悉。有一个编辑框,我必须在其中输入值“S05292”。示例:

Browser(Browsername").Page("Pagename").WebEdit("ctl00$ConBody$txtPDNumber").Set "S05292"

问题是我的脚本在这一步失败并且没有输入值。有人可以为我提供一个易于理解的解决方案。我尝试了以下两种方法

方法(一)

a=Browser().page().webedit(ctl00$ConBody$txtPDNumber).getroproperty("value")
if a=="S05292" then
msgbox ("displayed message is S05292")
else
msgbox ("msg is not S05292")
end if 

方法(二)

x = Browser("Browsername").Page("Pagename").Webedit("ctl00$ConBody$txtPDNumber").GetROProperty("value")
msgbox x

显示的错误信息是

无法识别对象“ctl00$ConBody$txtPDNumber”(属于 WebEdit 类)。 验证此对象的属性是否与您的应用程序中当前显示的对象匹配。

【问题讨论】:

  • 对象库中的对象ctl00$ConBody$txtPDNumber 与屏幕上的任何对象都不匹配。使用 Object Spy 在运行时检查对象的属性与您在 OR 中学到的属性是否匹配。

标签: hp-uft


【解决方案1】:

使用 Object Spy 在运行时获取该文本框的属性,然后确保它们与您定义的对象存储库中该文本框的属性相匹配。也许这不匹配,或者您没有唯一标识该文本框。 如果您不想使用对象存储库,则必须在运行时向其传递一个属性以唯一标识它。就像是: Browser().page().webedit("开发者姓名:=PDNumber")。 您可以使用 .type 代替 .set 在文本框中设置/键入值

【讨论】:

  • 类型不适用于 Web 应用程序。这是基于网络的。因此它只需要 .set
  • 我通过调用 New Action 将脚本划分为不同的动作,这样就完成了。它确实输入了值“S05292”。
  • 当它是一个长脚本时,它无法识别对象属性,而是分解成diff。行动解决了问题
猜你喜欢
  • 2015-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-23
  • 1970-01-01
  • 2014-07-28
  • 2016-11-04
  • 2013-02-06
相关资源
最近更新 更多