自动化测试 - RFT系列教程8:最复杂的控件:TABLE(一) 校验(读取)表格的内容
2010-06-27 22:02
302 查看
根据我个人的工作经验,Table应该是除某些自定义控件外,最复杂的被测控件。而Table经常被广泛地应用于被测系统中,尤其是Web系统中。无论在何行业,我们的被测系统都会存在各种各样的表单表格。可以应付复杂的Table是我们考察自动化测试工具时首先想到的一个问题。
RFT一般提供两种方法校验Table的内容,一是VP,另外一种是可以通过Api来读取表格的内容,然后手动比较。
本节将会以RFT自带的example来演示这两种方法。
1. 通过VP来校验Table
可以通过使用普通的VP来校验Table,可以通过选择“单元格选择”来改变要校验的范围(某些行,某些列或者某些格),同时也可以改变Expected Results的值。
该方法的优劣:
优势,由于是适用RFT自带的VP,所以可以很好的配合RFT自带的report。通过report里面的VP可以轻松查看VP的结果及Actual Result
劣势,必须要事先设定好校验范围,预期值(通过某些api也可以在运行时修改这些值,这些将会在后面的章节单独讨论)
2. 手动读取表格信息并手工校验
结合上一节的内容(RFT系列教程7:读取控件信息),我们可以通过TestData来获取表格的内容。然后通过开放的Report Api来打印结果。这里如果不清楚getTestData的参数,可以使用getTestDataTypes来查看可用的参数。
该方法的优劣:
优势,完全可以在运行时来控制校验,这样就可以轻松完成某些复杂的Table校验工作,比如Table和数据库内容之间的校验。
劣势,必须自行写很多代码来处理结果的检验和report的生成。
总结,由于RFT自带的VP以及Report的功能相比QTP都有很大的不足,一般来说我们都会自行校验Table的内容,也会自己编写校验模块和Report模块。所以我更倾向于手动来校验表格,尤其是遇到更加复杂Table。
RFT一般提供两种方法校验Table的内容,一是VP,另外一种是可以通过Api来读取表格的内容,然后手动比较。
本节将会以RFT自带的example来演示这两种方法。
1. 通过VP来校验Table
可以通过使用普通的VP来校验Table,可以通过选择“单元格选择”来改变要校验的范围(某些行,某些列或者某些格),同时也可以改变Expected Results的值。
该方法的优劣:
优势,由于是适用RFT自带的VP,所以可以很好的配合RFT自带的report。通过report里面的VP可以轻松查看VP的结果及Actual Result
劣势,必须要事先设定好校验范围,预期值(通过某些api也可以在运行时修改这些值,这些将会在后面的章节单独讨论)
2. 手动读取表格信息并手工校验
结合上一节的内容(RFT系列教程7:读取控件信息),我们可以通过TestData来获取表格的内容。然后通过开放的Report Api来打印结果。这里如果不清楚getTestData的参数,可以使用getTestDataTypes来查看可用的参数。
//get TestData from TestObject ITestDataTable table = (ITestDataTable) orderTable().getTestData("contents"); //get Cell value by row and column index Object cell = Object table.getCell(rowIndex, columnIndex); //write the report with results logTestResult("Verify whether some cell is ABC", "ABC".equals(cell));
该方法的优劣:
优势,完全可以在运行时来控制校验,这样就可以轻松完成某些复杂的Table校验工作,比如Table和数据库内容之间的校验。
劣势,必须自行写很多代码来处理结果的检验和report的生成。
总结,由于RFT自带的VP以及Report的功能相比QTP都有很大的不足,一般来说我们都会自行校验Table的内容,也会自己编写校验模块和Report模块。所以我更倾向于手动来校验表格,尤其是遇到更加复杂Table。
相关文章推荐
- 自动化测试 - RFT系列教程9:最复杂的控件:TABLE(二) 表格的行数是不确定的
- 自动化测试 - RFT系列教程10:最复杂的控件:TABLE(三) 嵌套其他控件的Table
- 自动化测试 - RFT系列教程7: 读取控件信息
- 自动化测试 - RFT系列教程6: 操作被测控件的陷阱(setProperty)
- 自动化测试 - RFT系列教程5: RFT是如何识别控件的(三) TestObject的种类:Mapped和Bound
- 自动化测试 - RFT系列教程4: RFT是如何识别控件的(二) 对象库与脚本
- 自动化测试 - RFT系列教程3: RFT是如何识别控件的(一) 抓取控件
- VS2005 系列控件演示之 表格《Table》
- 自动化测试 - RFT系列教程11: RFT中的描述性编程 - 详解find方法
- Android UI控件系列:TableLayout(表格布局)
- WEB打印系列教程之四--使用ScriptX进行复杂的WEB打印设置、使用jatoolsPrinter控件进行WEB打印设置
- JavaFX表格控件TableView高级应用:自动添加ID列、删除操作列、单元格内容个性化渲染
- 表格教程:table的td也可以隐藏掉超出的内容
- 自动化测试 - RFT系列教程12: Test Object Inspector介绍
- VS2005 系列控件演示之 表格《Table》
- asp.NET自定义服务器控件内部细节系列教程六(复杂属性)
- 自动化测试 - RFT系列教程2: 从配置开始
- 自动化测试 - RFT系列教程1: 适用范围
- WML教程10:分组选择控件(Optgroup)和复杂实例
- 亿能测试视频教程 - QTP自动化测试视频系列