Javascript QTP中描述编程中的集合对象识别

Javascript QTP中描述编程中的集合对象识别,javascript,qtp,Javascript,Qtp,晚上好,我是QTP的初学者,我需要帮助,我开发了一个复杂的程序,用于读取页面中的关税(用Javascript开发),并使用强大的描述性编程,对于未经处理的每个共享,识别对象。getROProperty(“InnerText”),并将其放入数据库变量中。 索引很多,但都有相同的属性(micclass、html标记),只会更改类和html id 类和html id将它们恢复为数据表 我创建了一个特定的函数,它根据一对集合值处理索引的读取,该集合值只能定义对象 这是脚本(函数)中我需要识别对象的部分:

晚上好,我是QTP的初学者,我需要帮助,我开发了一个复杂的程序,用于读取页面中的关税(用Javascript开发),并使用强大的描述性编程,对于未经处理的每个共享,识别对象
。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