对于共同开发的自动化测试项目,实例方便的调用是很重要的。QTP采用的是vbscript脚本,所以也支持类,但是应为vbs并不支持类的继承,所以只能算作一种“拟类”。采用类对脚本进行封装,有很多好处,对于测试执行人员,可以通过项目情况对封装的类进行调用,而并不必关心类实现的细节。
此处对QTP类的使用进行一些总结。
'类名称 Class TestCase Private DataFile ' ----用例预置条件 Private Function CasePrepare() End Function ' ----测试数据输入 Public Function CaseData(byval RowNum) End Function ' ----测试执行 Public Function CaseRun() End Function ' ----测试结果检查 Public Function CaseCheck() End Function '获取测试用例号 Public Property Get CaseID() CaseID = "TestCase_0001" End Property '获取测试用例名称 Public Property Get CaseName() CaseName = "用户登录" End Property '----构造函数---- Private Sub Class_Initialize() DataFile = "C:\autotest\data.xls" Call CasePrepare() End Sub '----解构函数---- Private Sub Class_Terminate() End Sub End Class |
其中Class_initialize为构造函数,类初始化时调用,此处预设了数据文件,并在此处调用了用例预置函数。
Class_Terminate为解构函数,一般用于释放类执行过程种占用的内存等。
Property Get用于获取类的属性,此处获取该测试用例类的ID,和名称属性。
模拟测试用例,类中包含了测试用例的几个部分:
CasePrepare:测试预置条件,如测试用户登录,此处可以判断登录界面是否已经显示;
Casedata:测试数据准备,如测试用户登录,此处可以载入登录用户、登录密码等数据;
CaseRun:测试执行,如测试用户登录,此处可以执行输入验证码,点击登录按钮等操作;
CaseCheck:执行结果检查,如测试用户登录,此处可以对登录结果进行检查,如页面是否正确跳转,如用户、密码不对,是否正确显示提示信息等。
具体在QTP中的使用如下:
Dim CaseLogin Set CaseLogin = New TestCase CaseLogin.CaseData 2‘载入数据文件中的第2行数据作为测试输入 CaseLogin.CaseRun If CaseLogin.CaseCheck Then Case_LogInfo “测试用例”CaseLogin. CaseID & “测试通过!”,MicPass Else Case_LogError “测试用例”CaseLogin. CaseID & “测试失败!”,MicFail End If |
版权声明:本文出自danmy的51Testing软件测试博客:http://www.51testing.com/?81672
原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。