欢迎来到天天文库
浏览记录
ID:40884782
大小:211.91 KB
页数:6页
时间:2019-08-09
《自动化测试工具QTP的参数化》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、自动化测试工具QTP的参数化一.在测试应用程序时,因为设计测试用例的需要,我们可能要对一系列操作过程进行重复测试,当然在测试的过程中可能采用一组从不同角度设计的数据,那么QTP为了解决这类问题,不需要测试者将这一系列相同的操作过程重复多次,而只需将需要变化的数据进行参数化,通过脚本设置使得脚本在运行时循环一次取参数化中的不同数据,让程序在不同数据驱动下自动执行多次,所以参数化是自动化测试工具的一个技巧,也是测试者必须掌握的知识。QTP的参数化测试流程下面我们通过举例来看一下QTP如何实现参数化测试,这里就以一个登录窗口功能测试参数话的过
2、程:1.设计测试用例我们设计以下四个测试用例用来检验登陆功能的实现:用例1:用户名正确,密码不正确,输出为“对不起,您的密码不正确”用例2:用户名为空,密码不正确,输出为“请您输入正确的用户名”用例3:用户名正确,密码为空,输出为“请您输入正确的密码”用例4:用户名正确,密码正确,正常登陆2.录制脚本,通过运行QTP登陆,录制正常的业务流程,以用户名为hhh,密码为111登陆。(WEB协议),保存脚本。3.参数化脚本变量,在树图窗口中找到用户名变量,点右键,通过设置将登陆用户名参数化为mail_name,将登陆用户的密码变量参数化为ma
3、il_password,datatable选本地表。4.为了比较预期输出值与实际输出值是否一样,我们需要将预期输出值用一个变量通过循环依次取出来进行比较,因此可以在datatable中创建一个存储预期输出值的列out_st.5.按照功能测试的测试策略进行测试用例的设计,并在datatable中输入mail_name,mail_password,out_st的值.6.下面我们就可以通过VBScript的脚本来对脚本进行修改,使流程按照我们的要求进行运行,切换到专家视图,在脚本最前面创建相应的量为了依次能够访问到表格中的每一个测试用例的具体
4、值,必须创建一个表示datatable表中行号的变量i。7.用for或if语句实现循环,使得QTP在运行脚本时能够通过循环依次读取表中每一个用户名。8.为了得到实际输出结果,必须在脚本中插入文本输出点,用来输出系统运行时输出的实际信息,并将结果保存到本地表DATATABLE中的out_msg列。(新生成一列)。9.定义一个能够读取datatable表中out_msg列数据的变量out_value,提取out_ms列数据放入变量out_value变量中。再定义一个读datatable表中out_st列数据的变量out_is,提取out_s
5、t列数据放入变量out_is变量中。(提示:实际上这是程序实际运行结果和程序预期输出结果)。10.为了便于测试结果的分析,在脚本代码中增加语句用来输出如果系统实际运行结果与测试用例预期运行结果不相同时的提示信息。为了取下一个测试用例的数据,在FOR循环中加入一条netx语句,以便读取datatable表中下一行数据。11.执行脚本,修改语法错误,至通过,根据测试结果进行功能分析。最后,我们为了测试的目的性更强一点,可以通过插入检查点的方式来强化脚本,在本例中可以通过插入文本检查点和网页检查点的方式来检验当不能正常登陆时出现的文字与正常登
6、陆时出现的文字与网页的不同来进行比较。当然我们还可以通过测试结果窗口显示的信息和界面来对该功能的实现进行对应的分析并写出测试报告。二.下面通过实例来介绍一下QTP实例化常用的两种方法(在这个过程中功能我会用实例来讲解一下)①第一种针对输入的参数话目标如下:1.脚本需要处理成功和失败的用户的登陆2.数据驱动设计开发脚本如下:第一步录制脚本如下Browser("监狱管理系统").Page("监狱管理系统").WebEdit("txtLoginName").Set"张三"Browser("监狱管理系统").Page("监狱管理系统").Web
7、Button("登录").set""Browser("监狱管理系统").Page("Page").SynBrowser("监狱管理系统").Close以上为录制的正确的用户名,下边录制错误的用户名Browser("监狱管理系统").Page("监狱管理系统").WebEdit("txtLoginName").Set"xx"Browser("监狱管理系统").Page("监狱管理系统").WebButton("登录").set""出现错误提示“该用户不存在”第二步增强脚本现在需要设计的是一套脚本驱动所有的测试数据,这样可以驱动所有的用例数
8、据,qtp中提供了datatable。但是有数据驱动也要做一个事情就是如何处理错误的用户名和正确的用户名,如何结合起来呢?这里我把datatable看作存放测试用例的地方,里面放入测试数据,还放入测试的预期
此文档下载收益归作者所有