QTP小型web自动化测试框架设计之核心:library
Frank
框架主要的功夫(核心)在于设计一个通用性很高的library(文件格式为qfl,txt,vbs)文件,即把很常用的function集合在一个library文件里。
通用性高指的两个方面:
一是每个testcase 要统一处理的function,比如,每个testcase要在run之前要求打开webbrowser,导入这个testcase 的excel测试数据;
二是指很多testcases要用到的常用方法,比如说取验证webtable的某行某列的cell的值,可以写个通用的functionsCheckCellVal(webTable, iCol, iROW, ExpectVal).这样所有的test case就可以调这个function。
统一处理的function:我们可以模块化,比如我们写一个Function endTestCase来关掉IE,清除cookies等。
Function startTestCase ‘Function1: 判断QC是否连接,就连接是否分别初始化各种变量,比如说设置当前项目的总文件夹目录(CurrentDirectory);生成report文件夹;error image保存地址; datasheet 文件夹,
如果是本地(未连接QC),设置本地的project folder 地址为CurrentDirectory, 创建local 的 本test case report folder。 如果是连接QC, 设置本地的temporary folder 地址为CurrentDirectory;再把QC的data sheet 下载到temporary folder, 创建temporary folder下面的本test case report folder。 ‘Function2: Import Excel Test Data to Data Table ‘Function3: close all IE, clear cookies, and open IE to specific url. End Function
|
Function endTestCase ‘Function1: log out the system ‘Function2: report results to external file (e.g. excel) , or zip result file to QC if QC connected。 End Function |
常用方法的function:也就是通用的function。写这样的function就是注意其拓展性。不能有太多hardcode.这样不管test case需要什么情景,都可以使用这个方法。
比如创建一个通用function用来检查文件是否存在,不存在建立文件。