首页 测试 工具 查看内容

透析QTP自动化测试框架SAFFRON(下)

2014-4-24 22:36| 发布者: tianzc| 查看: 702| 评论: 0

摘要:   4.7 检查对象是否存在  前面的小例子仅仅实现了启动浏览器、导航、点击链接和按钮的功能,如果要组成一个完整的测试用例,还缺少一些东西,例如检查指定的对象是否存在,在SAFFRON中,用Verify函数来实现这个 ...

' Verify the Existence of an object

' objtype - values should be limited to values in the object array

' text - multi-purpose argument that indicates what to verify

' - for a link, or button, it's the text of the control

' - for a list, it's the name of the control

' - for a frame, it's the name of the frame

Public Function Verify (objtype, text)

rval = false

localDesc = ""

estr = ""

If thirdlevel <> "" Then

localDesc = GenerateDescription(level(2))

Else

localDesc = GenerateDescription(level(1))

End If

AutoSync()

Select Case objtype

Case "Page"

Execute "rval = " & GenerateDescription(level(1)) & "Exist (0)"

If rval Then

Execute "title = " & GenerateDescription(level(1)) & "GetROProperty(" & Quote("title") & ")"

If title = text Then

rval = true

Else

rval = false

End If

End If

Case "CurrentFrame"

If thirdlevel <> "" Then

estr = "rval = " & localDesc

End If

Case "Link"

estr = "rval = " & localDesc & GenerateObjectDescription("Link", "innertext:=" & text)

Case "WebButton"

estr = "rval = " & localDesc & GenerateObjectDescription("WebButton", "value:=" & text)

Case "WebList"

estr = "rval = " & localDesc & GenerateObjectDescription("WebList", "name:=" & text)

Case "WebEdit"

estr = "rval = " & localDesc & GenerateObjectDescription("WebEdit", "name:=" & text)

End Select

If estr <> "" Then

Execute estr + "Exist (0)"

End If

If rval Then

Report micPass, objtype & " Verification", "The " & objtype & " " & Quote(text) & " was verified to exist"

Else

Report micFail, objtype & " Verification", "The " & objtype & " " & Quote(text) & " was not found"

End If

If "True" = rval Then

rval = True

Else

rval = False

End If

Verify = rval

End Function

  由于判断不同对象的存在需要采用不同的属性,因此Verify函数中对不同的对象类型进行判断、分别处理。例如,对于Link类型的对象,用innertext属性,对于WebButton,则采用value属性,但是最后都需要组合成一条语句,后接"Exist",通过Execute方法执行这个语句,从而实现对象是否存在的判断。

  对于页面对象(Page)的存在性检查有点不一样,采用的是以下脚本:

Case "Page"

Execute "rval = " & GenerateDescription(level(1)) & "Exist (0)"

If rval Then

Execute "title = " & GenerateDescription(level(1)) & "GetROProperty(" & Quote("title") & ")"

If title = text Then

rval = true

Else

rval = false

End If

End If

  通过GetROProperty方法获取当前页面的title属性,然后与传入的"text"参数进行比较,如果相等,则认为页面对象是存在的。

  在测试脚本中可以这样使用Verify函数:

' 启动浏览器

Launch "website","http://127.0.0.1:1080"

' 导航到“http://127.0.0.1:1080/WebTours”

BrowseTo "http://127.0.0.1:1080/WebTours/"

If Verify ("Link","administration")= False then

Reporter.ReportEvent micFail,"检查链接","链接不存在"

Else

' 点击名为“administration”的链接

Activate "Link","administration"

End IF

  脚本中先用Verify检查名为"administration"的链接对象是否存在,如果不存在则提示错误,如果存在则进一步调用Activate函数点击链接。

  4.7 检查对象是否存在

  前面的小例子仅仅实现了启动浏览器、导航、点击链接和按钮的功能,如果要组成一个完整的测试用例,还缺少一些东西,例如检查指定的对象是否存在,在SAFFRON中,用Verify函数来实现这个功能,Verify函数的定义如下所示:

123下一页

鲜花

握手

雷人

路过

鸡蛋

扫一扫关注最新动态

毒镜头:老镜头、摄影器材资料库、老镜头样片、摄影
爱评测 aipingce.com  
返回顶部