Javascript QTP中描述编程中的集合对象识别
晚上好,我是QTP的初学者,我需要帮助,我开发了一个复杂的程序,用于读取页面中的关税(用Javascript开发),并使用强大的描述性编程,对于未经处理的每个共享,识别对象Javascript QTP中描述编程中的集合对象识别,javascript,qtp,Javascript,Qtp,晚上好,我是QTP的初学者,我需要帮助,我开发了一个复杂的程序,用于读取页面中的关税(用Javascript开发),并使用强大的描述性编程,对于未经处理的每个共享,识别对象。getROProperty(“InnerText”),并将其放入数据库变量中。 索引很多,但都有相同的属性(micclass、html标记),只会更改类和html id 类和html id将它们恢复为数据表 我创建了一个特定的函数,它根据一对集合值处理索引的读取,该集合值只能定义对象 这是脚本(函数)中我需要识别对象的部分:
。getROProperty(“InnerText”)
,并将其放入数据库变量中。
索引很多,但都有相同的属性(micclass、html标记),只会更改类和html id
类和html id将它们恢复为数据表
我创建了一个特定的函数,它根据一对集合值处理索引的读取,该集合值只能定义对象
这是脚本(函数)中我需要识别对象的部分:
Function recover_q_cvq (q_cvq_ogg, ogg_class)
' Dim variables
Dim object_collection
Dim r_object
Dim rate_cvq
Dim count_object
Dim rate_trim
print "Object:" & q_cvq_ogg
print "Class:" & ogg_class
' recover rate with object collection, micclass, html tag, class, html id
Set object_collection = Description.Create()
object_collection("micclass").Value = "WebElement"
object_collection("html tag").Value = "DIV"
object_collection("class").Value = ogg_class
object_collection("html id").Value = q_cvq_ogg
object_collection("visible").Value = "True"
Set r_object = Browser("(H) Gestione Quote").Page("(H) Gestione Quote").ChildObjects(object_collection)
r_object.RefreshObject
count_object = r_object.count
If count_object = 1 Then
rate_cvq = r_object(0).getROProperty("innertext")
print "Object rate: " &rate_cvq
rate_trim_cvq = Replace(rate_cvq,",","")
recover_q_cvq = rate_trim_cvq
'empty variables object_collection,r_object,count_object
Set object_collection = nothing
Set r_object = nothing
Set count_object = nothing
Else
print "Object is not collected"
print "Error:" & err.number
print DescribeResult(err.number)
End if
End Function
脚本运行良好,我有一个可变速率的_cvq对象,我只在执行期间感兴趣,QTP经常会突然停止识别该对象,没有明显的原因,尽管收集不完整,因此无法识别收集该对象的ChildObject。从那时起,在测试结束之前,不会识别任何对象
这种异常是随机发生的,从不在同一点发生,在一次执行中检测到相同的速率,而在另一次执行中检测不到。这让我觉得脚本没有问题
有人能帮我吗?我必须在脚本中添加一些其他属性?我错在哪里?非常感谢您的回复
克里斯蒂亚诺我想我已经解决了,在进入识别太阳的功能之前,我放置了一个刷新对象。object_collection.RefreshObjectI我想我已经解决了,我在进入识别太阳的函数之前放置了一个刷新对象。object\u collection.RefreshObject