关于描述性编程,初学者最常用的就是静态描述性编程。举个例子,何为静态描述性编程。比如点击baidu网页的”更多>>”这个链接,原始代码如下:
Browser("百度一下,你就知道").Page("百度一下,你就知道").Link("更多>>").Click
使用静态描述性编程后,代码如下:
Browser("title:=百度一下,你就知道").Page("title:=百度一下,你就知道").Link("text:=更多>>").Click
可见,静态描述性编程只需要在语句中使用对象的”属性:=属性值”的方法,一一列出对象的属性和属性值即可。
而另外的一种描述性编程,我们称之为动态描述性编程,动态描述性编程,需要用到一个Description对象,为这个对象添加属性和值的集合,在使用
时,直接在语句中输入对象的名称即可。举个例子:
systemutil.Run "C:/Program Files/Internet Explorer/iexplore.exe"
Browser("title:=about:blank").Page("url:=about:blank").Sync
Browser("title:=about:blank").Navigate "http://newtours.demoaut.com/"
Browser("title:=Welcome: Mercury Tours").Page("title:=Welcome: Mercury Tours").WebEdit("name:=userName").Set "mercury"
Browser("title:=Welcome: Mercury Tours").Page("title:=Welcome: Mercury Tours").WebEdit("name:=password").SetSecure "4bea3fd45a732c43d6813ae2946128152c5eff8d"
Browser("title:=Welcome: Mercury Tours").Page("title:=Welcome: Mercury Tours").Image("name:=login").Click 21,2
Set MyDescription= Description.Create() ‘创建一个Description对象
MyDescription("html tag").value="A" ‘添加Description对象”html tag”属性的值为”A”
Set Checkboxes=Browser("title:=Find a Flight: Mercury Tours:").Page("title:=Find a Flight: Mercury Tours:").ChildObjects(MyDescription)
For i=0 to Checkboxes.count-1
Checkboxes(i).click ‘依次点击”html tag”属性值为”A”的所有对象,也就是依次点击各个link
Next
以上代码以QTP自带的” Mercury Tours Web Site”为例,实现了用户登陆,然后依次点击登陆后页面的各个link的操作过程。
在后面的学习过程中,也会着重涉及动态描述性编程的部分,因为这种编程方式在大多数case中更加有效和灵活。