易用性测试主要是针对对象的一些属性进行测试,但如果每个测试版本都去验证对象的属性, 效率显然比较低,但是如果不验证,又担心开发工程师修改了对象的属性。而借助自动化测试工具 帮助进行易用性测试,显然可以提高测试的效率,但不是所有的属性都可以通过自动化测试来实现, 在测试过程中可以有选择地对对象的属性进行自动化测试。 易用性自动化测试实现的步骤如下:
(1)获取实际测试过程中对象的相关属性。 (2)将实际的对象属性与预期对象属性进行比较。 (3)如果不同,测试结果标为 FAIL;如果相同,则结果标为 PASS。 易用性测试内容见表 15-3。
在易用性测试表中,列出需要测试的对象名、对象的属性以及各属性的预期结果,在测试过程 中,获取实际运行时对象的属性值,并将它填写到表格中。之后再比较预期结果与实际结果的值是 否相同,如果相同,则在结果列中标为 PASS(字体颜色为绿色),否则标为 FAIL(字体颜色为红色)。 【实例】使用自动化测试工具 QuickTest Professional 测试图 15-20 中 OK 按钮的属性。
实现的代码如下:
'——————————————————————————————————— ' 函数名:CompareText ' ' 目的:比较预期结果和实际结果单元格的值是否相同 ' ' Parameters: ' sheetname:待比较的 sheet ' expectColumn:预期结果列 ' actualColumn:实际结果列 ' startRow:比较的开始行
' numberOfRows:共需要比较多少行 ' trimed:单元格中的值是否包含空格符 ' Date: 2011-11-27 '——————————————————————————————————— Function CompareText(sheetname, expectColumn, actualColumn, startRow, numberOfRows, trimed) Dim returnVal Dim cell returnVal = True '判断 sheet 对象是否为 nothing If sheetname Is nothing Then CompareText = False Exit Function End If '循环读取单元格中的值 For r = startRow to (startRow + (numberOfRows - 1)) Value1 = sheetname.Cells(r, expectColumn) Value2 = sheetname.Cells(r, actualColumn) '空格符去掉后再进行比较 If trimed Then Value1 = Trim(Value1) Value2 = Trim(Value2) End If '比较两个数据是否相等,如果相等将结果标为 PASS 并将字体置为绿色,否则将 结果标为 FAIL 并将字体置为红色 Set cell = sheetname.Cells(r,actualColumn+1) If Value1 <> Value2 Then sheetname.Cells(r, actualColumn+1).value = "FAIL" cell.Font.Color = vbRed returnVal = False else sheetname.Cells(r, actualColumn+1).value = "PASS" cell.Font.Color = vbGreen returnVal = True End If Next CompareText = returnVal End Function Set ExcelApp = CreateObject("Excel.Application") Set ExcelSheet = CreateObject("Excel.Sheet") Set myExcelBook1= ExcelApp.WorkBooks.Open("c:\1.xls") Set myExcelSheet1= myExcelBook1.WorkSheets("Sheet1") Dialog("Login").WinEdit("Agent Name:").Set "test" Dialog("Login").WinEdit("Password:").SetSecure "4ed2314da546f1e8280d3586032611a53dfbed13" myExcelSheet1.Cells(2,4).value = Dialog("Login").WinButton("OK").GetROProperty("text")
myExcelSheet1.Cells(3,4).value = Dialog("Login").WinButton("OK").GetROProperty("nativeclass") myExcelSheet1.Cells(4,4).value = Dialog("Login").WinButton("OK").GetROProperty("width") myExcelSheet1.Cells(5,4).value = Dialog("Login").WinButton("OK").GetROProperty("height") myExcelSheet1.Cells(6,4).value = Dialog("Login").WinButton("OK").GetROProperty("visible") myExcelSheet1.Cells(7,4).value = Dialog("Login").WinButton("OK").GetROProperty("enabled") Dialog("Login").WinButton("OK").Click Window("Flight Reservation").Close CompareText myExcelSheet1,3,4 ,2,6,False myExcelBook1.save ExcelApp.Quit Set myExcelSheet1= nothing Set myExcelBook1= nothing Set ExcelApp = nothing Set ExcelSheet = nothing 测试完成后的结果见表 15-4。