接着来说明QTP是如何调用这个对象的。例如,在“用户名输入框”中输入“a用户”,伪代码如下:
WebEdit(“用户名输入框”).Set “a用户”
现在分析一下这个语句:
首先,QTP会通过“用户名输入框”这个名字到对象库的对象名中查找,会找到以下这个对象名:
然后通过找到的对象名,找到对象名映射的属性包,如下图:
接着QTP就会通过这个属性包来匹配页面上的控件的属性,如果在页面上找到一个唯一与此属性包匹配的控件,那QTP就会认为此控件为要找的控件。
然后QTP根据“WebEdit”来确定控件的类型,并调用QTP对于此类控件内置的操作方法“Set”把“a用户”赋予了控件
至于其他控件的识别和操作,基本原理和上面一样。检验登录是否成功,也是通过比对登录成功后的页面特有的控件的属性值来判断。
QTP还提供描述性编程,从而可以不使用对象库,如在“用户名输入框”中输入“a用户”,可以使用以下伪代码:
WebEdit(“Html tag:=INPUT”,” Name=username”).Set “a用户”
细心的朋友可能已经发现,上面只是把识别对象的属性包中的属性和属性值按一定规则直接写到了“WebEdit()”的括号内了。这时QTP将不通过对象库,而是直接使用括号内的属性和属性值到页面上去找匹配项。然后操作与使用对象库的操作一样。
当然,QTP还提供了一些其他的功能,比如参数化,划分模块(Action)等。但最重要的还是对象的识别。
本次到此结束,希望对大家理解自动化能有所帮助。
文章来源于领测软件测试网 https://www.ltesting.net/