我正在使用QTP测试基于Web的应用程序9.一切运行良好,但有一些wicket ajax字段,我无法填写。
我的scricpt基于for循环中的许多功能。
For i=1 to 2
fill_A()
fill_B()
Next
而不是功能。
在页面http://relevantcodes.com/qtp-synchronization-for-ajax-applications/上我发现了可能的sotuion,但它也没有用。我需要用数字填充WebEdit字段 - 它们被填充,但数字是不可见的。当我点击一个按钮时它绝对消失了。
最终代码如下所示:
For i=1 to 2
fill_A()
fill_B()
Next
Function ElementSync(ByVal oWebElement)
If oWebElement.Exist(5) Then
oWebElement.GetTOProperty("parent").Sync
Dim desc, ix
Set desc = Description.Create
desc("micclass").Value = "WebElement"
Do
If oWebElement.GetROProperty("x") > 0 Then
Reporter.ReportEvent micDone, "Element=>Sync", "Sync complete"
Exit Do
End If
Wait(1)
ix = ix + 1
Loop Until ix = 10
End If
End Function
RegisterUserFunc "WebElement", "Sync", "ElementSync"
RegisterUserFunc "Link", "Sync", "ElementSync"
RegisterUserFunc "WebEdit", "Sync", "ElementSync"
Function fill_A()
...
EndFunction
Function fill_B()
Browser("AAA").WebEdit("BBB").Sync()
Browser("AAA").WebEdit("BBB").Set("123")
.....
EndFunction
我不是特别QTP功能的专家,也不是网络开发所以如果我写错了,请原谅我: - )