使用datatable 将测试数据与业务分离
当基本一致的业务流程, 需要测试繁杂的测试数据时,就可以将测试数据参数化了,同时使用datatable来实现测试数据与业务分离,这个方法在我现在的项目中应用在很多地方,感觉超级方便,现对工作中的应用做下总结:
1、在本地建个EXCEL , 用于存储测试数据的参数名及参数值。
2、在QTP中设置EXCEL路径
打开QTP->File->setting->environment->Variable(选择User-defined)-> 点击
...设置如下图:

通过设置localpath,使测试数据表不需要设放置在统一的路径下,增加Excel路径灵活度。实现无论在谁的电脑上跑脚本都可以通过QTP设置的localpath调到本地提前放好的Excel测试数据表。
类似代码如下:
localpath = Environment.value("localpath")
DataTable.AddSheet("login")
DataTable.ImportSheet localpath&"login.xls","login","login"
rowCount1 = DataTable.GetSheet("Login").GetRowCount
SystemUtil.Run "C:\Program Files\Internet Explorer\IEXPLORE.EXE","http://deliver.sinosure.com.cn"
For i = 1 to rowCount1
datatable.SetCurrentRow(i)
user = DataTable.Value("user","Login")
pwd = DataTable.Value("pwd","Login")
Browser("中国出口信用保险公司.*").Page("中国出口信用保险公司.*").WebEdit("username").Set user
Browser("中国出口信用保险公司.*").Page("中国出口信用保险公司.*").WebEdit("password").Set pwd
Browser("中国出口信用保险公司.*").Page("中国出口信用保险公司.*").WebButton("登录").Click
Browser("中国出口信用保险公司.*").Page("中国出口信用保险公司.*").WebButton("注销").Click
Next
测试数据表如下:

PS:QTP支持xls后缀的excel文档,不支持xlsx后缀的
使用datatable 将测试数据与业务分离的更多相关文章
- 开源分布式Job系统,调度与业务分离-如何创建一个计划HttpJob任务
项目介绍: Hangfire:是一个开源的job调度系统,支持分布式JOB!! Hangfire.HttpJob 是我针对Hangfire开发的一个组件,该组件和Hangfire本身是独立的.可以独立 ...
- 开源分布式Job系统,调度与业务分离-如何创建周期性的HttpJob任务
项目介绍: Hangfire:是一个开源的job调度系统,支持分布式JOB!! Hangfire.HttpJob 是我针对Hangfire开发的一个组件,该组件和Hangfire本身是独立的.可以独立 ...
- 开源分布式Job系统,调度与业务分离-HttpJob.Agent组件介绍以及如何使用
项目介绍: Hangfire:是一个开源的job调度系统,支持分布式JOB!! Hangfire.HttpJob 是我针对Hangfire开发的一个组件,该组件和Hangfire本身是独立的.可以独立 ...
- Appium+Python之测试数据与脚本分离
如果脚本中有很多的魔法数据,那代码的复用性就不会很高,所以我们需要将测试数据和脚本分离. 思路:将测试数据放在一个json文件中,然后写一个读取json文件的基类,测试用例中通过调基类中方法来获取js ...
- 基于Netty的RPC架构学习笔记(十二):借助spring实现业务分离、聊天室小项目、netty3和4、5的不同、业务线程池以及消息串行化
文章目录 借助spring实现业务分离(
- 所思所想 关于asp.net界面业务分离
1.体会:使用ASP.NET控件来做前段是有很大的局限性的 2.使用拼接HTML的方式来写代码虽然不符合模式,但是有很大的灵活性 3.如果使用拼接字符串的方式来生成前台的代码,使用NV的话完全可以实现 ...
- nginx实现wap移动端和PC端业务分离
随着移动互联网时代的来临,很多WEB网站都已经推出了基于手机,Ipad等移动客户端的页面访问,这里介绍一下如何利用用户UA实现用户不同终端下的用户访问: $http_user_agent 为ngin ...
- QTP 参数化
PS:方法内容是转的别人的,我们项目中只用到了方法三,主要用于将测试数据与业务分离,增强测试数据的可维护性. 方法一.DataTable方法 这是QTP提供的一种方法,也是最容易实现参数化的一种方式. ...
- 关于《Python自动化测试实战》
作者有话说 笔者写这本书的初心是想通过自身经验分享一些在自动化测试领域中的实用技术,能够帮助那些正在从事自动化测试相关工作或者准备转型自动化测试的测试人员.任何一门技术涵盖的知识点都是非常广泛的,可能 ...
随机推荐
- Knockout.Js学习目录
1.Knockout.Js(简介) 2.Knockout.Js(监控属性Observables) 3.Knockout.Js(属性绑定) 4.Knockout.Js(事件绑定) 5.Knockout. ...
- linux打开端口
客户那边有台服务器同一个局域网中都无法访问,排除lamp环境问题,发现时服务器中的防火墙没有开启80端口.于是去网上搜索了一下,在脚本之家看到一种添加代码的方法 代码如下 复制代码 vi /etc/ ...
- ios9网络请求https适配
发现问题:今天升级Xcode 7.0 bata发现网络访问失败.输出错误信息: The resource could not be loaded because the App Transport S ...
- discuz分类信息地区联动菜单字段
1 = 河南省 1.1 = 郑州市 1.1.1 = 中原区 1.1.2 = 二七区 1.1.3 = 管城区 1.1.4 = 金水区 1.1.5 = 上街区 1.1.6 = 惠济区 1.1.7 = 巩义 ...
- 【转载】VGA时序与原理
显示器扫描方式分为逐行扫描和隔行扫描:逐行扫描是扫描从屏幕左上角一点开始,从左像右逐点扫描,每扫描完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信 ...
- 使用C语言在Win控制台中实现指定位置输出
在古老的Turbo C中有个GotoXY可以让你在指定坐标中输出文字,可恨的是我看过的C语言书籍,有一半都是关于它的.我现在用着Windows系统,不可能还让我去写着DOS程序啊,起码也得从Win控制 ...
- cnblogs体验
用博客园可以让我更好的关注我们班同学的情况,通过关注他们,浏览他们发布的博客,学习到了很 多,比如不同的设计思想,良好的变成习惯,变量命名,缩进,注释等,而且自己不会的,可以帮助自己 有一些想法,是自 ...
- NABC需求分析
我们团队项目为7-magic,在这个七巧板项目中,我们团队的这个项目有许多的特点,我就其中的一个特点:用户可以自主的用七巧板设计自己想象出的图形,并与大家分享. N (Need 需求): 你的创意解决 ...
- 转载:centos上yum安装apache+php+mysql等
1. 更新系统内核到最新. [root@linuxfei ~]#yum -y update 系统更新后,如果yum安装时提示错误信息,请执行以下命令修复. [root@linuxfei ~]#rpm ...
- C# 或 JQuery导出Excel
首先要添加NPOI.dll文件 然后添加类:NPOIHelper.cs using System; using System.Data; using System.Configuration; usi ...