使用WebEdit .Type属性不能使用

时间:2013-05-24 09:21:53

标签: vbscript qtp

我在网页上使用QTP时有一段代码

  

浏览器(“Sarit_2”)。页面(“Sarit”)。WebEdit(“frm_vendor_address1”)。设置dtVAdd1

你会观察到,我使用了'Set'属性。实际上,我想使用'Type'属性,因为很快我会编写脚本来检查字段限制。当我尝试设置一个大于字段长度的值时,.Set属性会抛出一个错误。但Type属性(我在win32应用程序中使用它),它的字段长度类型,但至少不会抛出我无法处理的错误。

WebEdit或此特定WebEdit中的QTP不允许我选择.Type。为什么在SWFfield的情况下允许我这样做?

有什么建议吗?

4 个答案:

答案 0 :(得分:1)

“Type”是用于Windows应用程序,Delphi,Java,swf等的方法......但它不用于Web应用程序。

对于Web应用程序,我们必须使用“Set”方法。因此上面的代码接受'Set'方法。这也说明了为什么你不能对基于web的对象使用'Type'方法。

如果你想计算字段限制,你可以在webedit上对象间谍 - >将其最大长度值保存到任何变量 - >在运行时使用“浏览器(”...“)将页面编辑字段的最大长度存储到variable2。页面(”...“)。 ....GetROProperty(“最大长度”)。 现在将这两个变量与if语句进行比较。

此致 Dheeraj

Mindfire Solutions,印度

答案 1 :(得分:0)

WebEdit测试对象有助于阻止您在编辑字段中设置无效值。

你显然不希望这个帮助我不清楚的问题是你想要完成的事情。如果您想将字符串的第一部分设置为maxlength,您可以执行以下操作:

Public Function SetLimit(ByRef test_object, ByRef Value)
    max = test_object.GetROProperty("max length")
    If Len(Value) > max Then
        test_object.Set Left(Value, max)
    Else
        test_object.Set Value
    End If
End Function
RegisterUserFunc "WebEdit", "Set", "SetLimit"

答案 2 :(得分:0)

您可以使用WScript shell对象将焦点发送到WebEdit (通过单击它)。如http://h30499.www3.hp.com/t5/Quality-Center-Support-and-News/QTP-cannot-input-value-to-Webedit-field/td-p/4206627#.UkRMyIbIYyg中所示:

Set WshShell = CreateObject("WScript.Shell")
Browser("Sarit_2").Page("Sarit").WebEdit("frm_vendor_address1").Click
WshShell.SendKeys(dtVAdd1)
Set WshShell = Nothing

请注意,dtVAdd1的值必须符合SendKeys期望的格式 - 如(例如)http://msdn.microsoft.com/en-us/library/8c6yea83(v=vs.84).aspx中所述。

或者,您可以使用未记录的Mercury.DeviceReplay界面发送击键。这很容易上网。

答案 3 :(得分:0)

我们知道WebEdit不支持Type方法,我们可以使用像

这样的替代方法

1的的SendKeys
设置objClick = CreateObject(" WScript.Shell") 浏览器(" Sarit_2&#34)页。("沙立&#34)WebEdit。(" frm_vendor_address1&#34)。按此
objClick.SendKeys" dtVAdd1"
设置objClick = Nothing

http://www.ufthelp.com/2013/02/sending-keyboard-strokes-in-uft-115.html

2.使用原生对象属性 浏览器(" Sarit_2")。页面(" Sarit")。WebEdit(" frm_vendor_address1")。object.value =" dtVAdd1" 但这与Set方法

几乎相似

3.在UFT中使用提前运行设置

工具 - >选项 - > GUI测试 - >网络 - >高级 - >运行设置 - >重播类型 - >鼠标