0

我有一段代码将 QTP 用于网页

Browser("Sarit_2").Page("Sarit").WebEdit("frm_vendor_address1").Set dtVAdd1

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

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

有什么建议么?

4

4 回答 4

1

“Type”是一种用于Windows 应用程序、Delphi、Java、swf 等的方法……但它不用于Web 应用程序。

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

如果要计算字段限制,可以在 webedit 上进行对象监视-> 将其最大长度值保存到任何变量-> 在运行时使用 'Browser("..." )。页(”...”)。.... .GetROProperty("最大长度")。现在将这两个变量与 if 语句进行比较。

于 2013-05-30T11:03:03.060 回答
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"
于 2013-05-26T13:10:16.200 回答
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 接口来发送击键。这很容易用谷歌搜索。

于 2013-09-26T15:12:36.223 回答
0

我们知道 WebEdit 不支持 Type 方法,我们可以使用替代方法,例如

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

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

2.使用本机对象属性 Browser("Sarit_2").Page("Sarit").WebEdit("frm_vendor_address1").object.value ="dtVAdd1" 但这几乎类似于 Set 方法

3.在 UFT 中使用Advance Run 设置

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

于 2014-12-19T03:38:30.247 回答