自动化测试工具QTP的参数化

上传人:平*** 文档编号:10178887 上传时间:2017-10-06 格式:DOCX 页数:6 大小:212.97KB
返回 下载 相关 举报
自动化测试工具QTP的参数化_第1页
第1页 / 共6页
自动化测试工具QTP的参数化_第2页
第2页 / 共6页
自动化测试工具QTP的参数化_第3页
第3页 / 共6页
自动化测试工具QTP的参数化_第4页
第4页 / 共6页
自动化测试工具QTP的参数化_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《自动化测试工具QTP的参数化》由会员分享,可在线阅读,更多相关《自动化测试工具QTP的参数化(6页珍藏版)》请在金锄头文库上搜索。

1、自动化测试工具 QTP 的参数化一在测试应用程序时,因为设计测试用例的需要,我们可能要对一系列操作过程进行重复测试,当然在测试的过程中可能采用一组从不同角度设计的数据,那么 QTP 为了解决这类问题,不需要测试者将这一系列相同的操作过程重复多次,而只需将需要变化的数据进行参数化,通过脚本设置使得脚本在运行时循环一次取参数化中的不同数据,让程序在不同数据驱动下自动执行多次,所以参数化是自动化测试工具的一个技巧,也是测试者必须掌握的知识。QTP 的参数化测试流程下面我们通过举例来看一下 QTP 如何实现参数化测试,这里就以一个登录窗口功能测试参数话的过程:1. 设计测试用例我们设计以下四个测试用例

2、用来检验登陆功能的实现:用例 1:用户名正确,密码不正确,输出为“对不起,您的密码不正确”用例 2:用户名为空,密码不正确,输出为“请您输入正确的用户名”用例 3:用户名正确,密码为空,输出为“请您输入正确的密码”用例 4:用户名正确,密码正确,正常登陆2. 录制脚本,通过运行 QTP 登陆,录制正常的业务流程,以用户名为hhh,密码为 111 登陆。 ( WEB 协议) ,保存脚本。3. 参数化脚本变量,在树图窗口中找到用户名变量,点右键,通过设置将登陆用户名参数化为 mail_name,将登陆用户的密码变量参数化为 m a i l _ p a s s w o r d ,datatable

3、选本地表。4. 为了比较预期输出值与实际输出值是否一样,我们需要将预期输出值用一个变量通过循环依次取出来进行比较,因此可以在 datatable 中创建一个存储预期输出值的列 out_st.5. 按照功能测试的测试策略进行测试用例的设计, 并在 datatable 中输入 mail_name,mail_password,out_st 的值.6. 下面我们就可以通过 VBScript 的脚本来对脚本进行修改,使流程按照我们的要求进行运行,切换到专家视图,在脚本最前面创建相应的量为了依次能够访问到表格中的每一个测试用例的具体值,必须创建一个表示 datatable 表中行号的变量 i。7. 用 f

4、or 或 if 语句实现循环,使得 QTP 在运行脚本时能够通过循环依次读取表中每一个用户名。8. 为了得到实际输出结果,必须在脚本中插入文本输出点,用来输出系统运行时输出的实际信息, 并将结果保存到本地表 DATATABLE 中的 out_msg 列。 ( 新生成一列) 。9. 定义一个能够读取 datatable 表中 out_msg 列数据的变量out_value, 提取 out_ms 列数据放入变量 out_value 变量中。再定义一个读 datatable 表中 out_st 列数据的变量 out_is, 提取 out_st 列数据放入变量 out_is 变量中。 (提示:实际上这

5、是程序实际运行结果和程序预期输出结果) 。10. 为了便于测试结果的分析,在脚本代码中增加语句用来输出如果系统实际运行结果与测试用例预期运行结果不相同时的提示信息。为了取下一个测试用例的数据,在 FOR 循环中加入一条 netx 语句,以便读取datatable 表中下一行数据。11. 执行脚本,修改语法错误,至通过,根据测试结果进行功能分析。最后, 我们为了测试的目的性更强一点, 可以通过插入检查点的方式来强化脚本,在本例中可以通过插入文本检查点和网页检查点的方式来检验当不能正常登陆时出现的文字与正常登陆时出现的文字与网页的不同来进行比较。当然我们还可以通过测试结果窗口显示的信息和界面来对该

6、功能的实现进行对应的分析并写出测试报告。二 下面通过实例来介绍一下 QTP 实例化常用的两种方法(在这个过程中功能我会用实例来讲解一下)第一种针对输入的参数话目标如下:1 . 脚本需要处理成功和失败的用户的登陆2. 数据驱动设计开发脚本如下:第一步录制脚本如下Browser(监狱管理系统).Page(监狱管理系统).WebEdit(txtLoginName).Set 张三Browser(监狱管理系统).Page(监狱管理系统).WebButton( 登 录).set Browser(监狱管理系统).Page(Page).SynBrowser(监狱管理系统).Close以上为录制的正确的用户名,

7、下边录制错误的用户名Browser(监狱管理系统).Page(监狱管理系统).WebEdit(txtLoginName).Set xxBrowser(监狱管理系统).Page(监狱管理系统).WebButton( 登 录).set 出现错误提示“该用户不存在”第二步 增强脚本现在需要设计的是一套脚本驱动所有的测试数据,这样可以驱动所有的用例数据,qtp 中提供了 datatable。但是有数据驱动也要做一个事情就是如何处理错误的用户名和正确的用户名,如何结合起来呢?这里我把 datatable 看作存放测试用例的地方,里面放入测试数据,还放入测试的预期结果。这样我的设计已经出现雏形了。我把 d

8、atatable 设计为三列username password status张三 123 该用户不能为空第三列放入最后执行的结果,我设计的是空为成功登陆 ,如果有信息就用实际运行的结果和这一列对比。修改脚本如下:Dim iStatusBrowser(监狱管理系统).Page(监狱管理系统).WebEdit(txtLoginName).Set DataTable(username, dtLocalSheet)Browser(监狱管理系统).Page(监狱管理系统).WebButton( 登 录).set DataTable(password, dtLocalSheet)iStatus = Dat

9、aTable(status, dtLocalSheet)If iStatus= ThenBrowser(监狱管理系统 ).CloseEnd IfIf iStatus=该用户不存在 ThenReporter.ReportEvent micFail, 登陆, 登陆失败.End IfBrowser(监狱管理系统).Close第三步,设置脚本运行过程打开 tests-settings设置 RUN TAB 页面下 Datatable iterations 中 Run On all rows这样就完成了整个脚本的设计工作,以上通过一个简单例子吧脚本的设计和软件的功能结合起来,达成脚本的设计效果。下面是我用

10、都联网系统作为例子进行的脚本加强的例子上图这个是都联网正常登录之后录制的脚本。上图是都联网错误登录的录制脚本(弹出用户名或者密码错误)下图是经过加强之后的录制脚本:select 选择值的参数化在不更改对象库的基础上上,运用SetTOProperty 函数方法来达到同样的效果例:录制打开百度搜索主页,输入,点击搜索按纽,进入搜索后的页面,随便打开其中一个连接,然后关闭网页录制脚本如下: 现在我想做的是,能测试搜索页面上的其他 link 打开是否正确那么势必要把上面选中部分给参数化首先我们要在选中部分这句代码上面增加一句话,如下: SetTOProperty 方法能够在脚本运行中,设置对象的属性值

11、而 QTP识别应用程序上的对象,完全是依靠对象库中的对象来识别的所以只要对象库中的对象属性值变掉了,QTP 操作的对象也不同了通过对该 Link 对象,在对象库中属性及属性值的研究发现,启决定性作用的是该对象 text 属性所以只要更改这个 text 属性,就能让 QTP 点击其他 Link 了在这里我们做两个 link 的修改,如下:在我的脚本的对象库中是没有58 同城 ,这个 link 对象的让我们看看这样修改后,能不能通过两次循环,依次点击打开名为58 同城的连接,然后关闭接着继续点击打开名为CNTV的连接,然后关闭结果自然是通过的,我们通过对 SetTOProperty 方法的运用,同样达到了参数化的要求。 以上的两种方法就是我今天为大家介绍的 QTP 的参数化的方法,下面为大家展示一下用 QTP 增强的都联网的登录脚本(带验证码)对于 QTP 的自动化测试本人需要学习的还有很多希望大家多多指点。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号