poi+properties文件实现多环境测试数据一键切换
在项目的接口测试过程中,之前的测试数据都是测试环境下的,长期在测试环境下运行。
目前希望通过很小的代价切换到线上环境运行。
考虑之下,决定使用poi包加上property文件来实现线上线下的数据切换。
具体方案:
先将测试数据用excel管理起来,为了方便切换环境,按照不同变量在测试环境和线上环境来分别保存数值。
例如:

然后在工程中引入poi包。Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对Microsoft Office格式档案读和写的功能。
引入的步骤很简单,在pom.xml文件中加入:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.9</version>
</dependency>
然后,在本地新建专门读取相应变量的类和方法,具体代码片段如下:

之后便可以通过以上方法获取到变量的值。

在相应的测试类中通过类似:
String username = DataFactory.GetData(DataFactory.username);
得到相应的变量
第二个问题是切换环境。
将环境配置在属性文件中,读取相应的值以读取excel表中不同环境的数据。
对不同环境的数据的读取通过以下代码实现:

之后通过切换property文件中的配置,便可以切换读取的数据,以适应不同环境的测试需要啦。
虽然如此,但是excel来管理众多的测试数据以适应不同环境的需求,还是比较繁复的,希望后续有更好的办法来简单的实现。
poi+properties文件实现多环境测试数据一键切换的更多相关文章
- windows系统同时安装多个nodejs环境(一键切换)
由于不同程序对nodejs的环境要求不同,从而导致在单台电脑上开发多个nodejs应用很烦人: 好在gnvm,这个家伙帮我解决了问题 官网: https://github.com/kenshin/gn ...
- docker 初始化执行.sh修改.properties文件
1.testmysql.properties rootuser=aarootpass=bb 2.用环境变量修改testmysql.properties里面的rootuser和rootpass的值的脚本 ...
- maven 不同环境加载不同的properties 文件
http://haohaoxuexi.iteye.com/blog/1900568 //参考文章 实际项目中pom配置如下 <profiles> <profile> <i ...
- 基于properties文件的Spring Boot多环境切换
当我们使用properties文件作为Spring Boot的配置文件而不是yaml文件时,怎样实现多环境使用不同的配置信息呢? 在Spring Boot中,多环境配置的文件名需要满足appl ...
- 在Spring环境下存取properties文件…
Spring中PropertyPlaceholderConfigurer的使用 (1) 基本的使用方法是 classpath:/spring/include/dbQuery.properties 其中 ...
- 五种方式让你在java中读取properties文件内容不再是难题
一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC ...
- Spring 配置文件中将common.properties文件外置
将配置文件的路径从项目中移出来 1. 在springApplicationContext中 <context:property-placeholder location="file:$ ...
- 关于properties文件在项目中的使用
这个是当时在学习JDBC的时候老师给讲的.web项目中把一些常用的用户名和密码都填写到一个对应的配置文件中,这样每次修改密码或者用户名的时候就可以直接修改这个配置文件了,不用动源码. 老师讲了两种读取 ...
- JAVA操作properties文件
va中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是"键=值"的格式,在properties ...
随机推荐
- JS中,日期对象(获取当前现在的年份,星期,时间)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- jquery-messager-消息提示
一.页面引入 jquery.js 下载地址问度娘 jquery-message.js 下载地址:jquery-message.js 二.页面使用 //ajax轮询检查新的订单 function che ...
- CentOS 7 下设置DNS
在CentOS 7下,手工设置 /etc/resolv.conf 里的DNS,过了一会,发现被系统重新覆盖或者清除了.和CentOS 6下的设置DNS方法不同,有几种方式: 1.使用全新的命令行工具 ...
- cmake 编译安装方法
cmake版本3.7.2 1.根目录下./bootstrap 2.make 3.sudo make install
- HDOJ 4802 GPA
Problem Description In college, a student may take several courses. for each course i, he earns a ce ...
- 505C Mr. Kitayuta, the Treasure Hunter
传送门 题目大意 一共有30000个位置,从第0个位置开始走,第一次走k步,对于每一次走步,可以走上一次的ki+1 ,ki ,ki-1步数(必须大于等于1),每个岛上有value,求最大能得到的val ...
- Luogu 3521 [POI2011]ROT-Tree Rotations
BZOJ 2212 从下到上线段树合并. 考虑到每一个子树内部产生的贡献不可能通过换儿子消除,所以一次更换只要看看把哪个儿子放在左边产生的逆序对数少就可以了. 逆序对数可以在线段树合并的时候顺便算出来 ...
- vue 之 表单输入绑定
vue的核心:声明式的指令和数据的双向绑定. 那么声明式的指令,已经给大家介绍完了.接下来我们来研究一下什么是数据的双向绑定? 另外,大家一定要知道vue的设计模式:MVVM M是Model的简写,V ...
- 学会使用postman工具模拟请求-----待补充
登录: backstop 密码:backstop的密码 记得加上header,在swagger中有content-type. 请求,则是api下对应的请求. get请求直接加入链接即可. post请求 ...
- IntelliJ Idea 免费激活方法
文章介绍 文章不错,指的研究一下,idea的联网激活确实有可行性,但是上有政策,下有对策,如何才能保护版权,是一个值得深思的问题. 文章属于转载,文末有文章来源,转载注明出处. 1 激活码激活 到网站 ...