1.8 数据池(Data Table)的应用
阶段要点
● 熟悉测试数据和脚本业务分离的好处和优势。
● 学会利用Data Table将测试数据与业务分离。
● Global Sheet与Local Sheet的区别。
● Test DataTable VS Run-time DataTable。
● DataTable常用方法指引。
1.8.1 引言
作为一个QTP自动化测试工程师,学会使用Data Table是必不可少的。Data Table其实和Excel非常相似,几乎可以说是“克隆”出来的。所以,读者会上手的很快。
虽然上手会比较快,但是也别小看了它,因为在自动化测试过程中,数据之间的传递是非常重要和常用的,小小的一个Data Table可绝对是自动化测试的主力和核心组件。在前面已经学会了整个对象库的使用。那么在本章节就让我们来一起领略Data Table是如何管理好庞大而且繁琐的测试数据的、是如何进行不同测试数据的传递的……
1.8.2 学会使用DataTable进行参数化
1.8.2.1 为什么要进行参数化
首先,从最简单和常见的说起,相信大家对参数化这个词非常熟悉,在本书的前面也提到过,不过并没有细致地讲解如何参数化。因为,QTP内置的参数化功能其实在真实项目中是不会去使用的。那如何去参数化测试数据呢?答案就是利用这个Data Table,使用它配合代码来管理好繁杂的测试数据才是自动化测试的正道。接下来,让我们进入第一个实例,先来看下面这段代码:
SystemUtil.Run "www.baidu.com" For i = 0 to 9 Browser("百度一下,你就知道").Page("百度一下,你就知道")._ WebEdit("关键字输入框").Set "QTP自动化测试技术领航" Browser("百度一下,你就知道").Page("百度一下,你就知道")._ WebButton("百度一下").Click Browser("百度一下,你就知道").Page("百度搜索_搜索结果页面")._ Image("到百度首页").Click Next |
然后,图1-195是脚本对应的对象库,读者可以看一下。
图1-195
最后,我们解读一下脚本:这段脚本其实还是比较简单的。先打开一个浏览器,然后进入百度的首页,接着输入关键字“QTP自动化测试技术领航”,最后点击“百度一下”按钮。这样,百度会进入搜索匹配页面,此时便可以开始做很多测试验证。当然,这里验证省略掉了,因为这是后面章节的内容。那我们假设验证是通过的,成功匹配到了“QTP自动化测试技术领航”的一些相关信息,那么通过点击“到百度首页”这个Image对象回到首页,因为需要再一次输入测试数据,再进行N次测试,测试什么?就是测试关键字输入后点击搜索能否正确搜索到相关的信息。所以,在这里写了一个循环。这样,QTP就能测试10次了,这个结果应该很可靠了吧?如果10次都通过了,那这个功能就应该没问题了。