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 ...
随机推荐
- java线程面试题及答案
1)2017Java面试题及答案:什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务 ...
- 理解configure,make,make install(笔记整理)
在Linux系统里有时候需要自己编译安装一些提供了源文件的软件,比如Nginx.一般编译的步骤是:configure -> make -> make install. 1. configu ...
- @SuppressWarnings("unused")注解的作用
JDK5.0后的新特性,你在使用IDE如eclipse的时候,当你定义了一个变量如int a=0;但是你后面根本就没有使用到这个变量,这一行的前面会有一个黄色的警告标志,你将鼠标移动到上面会提示“这个 ...
- filter(函数,可以迭代的对象)
#!/usr/bin/env python #filter(函数,可以迭代的对象) def f1(x): if x > 22: return True else: return False re ...
- javascript 函数,事件
1.函数字符串函数 var s=new string(); var ss="hello world"; var sss=""HELLO, WORLD" ...
- jmeter CSV Data数据中带有逗号解决方法
今天用jmeter做性能测试,由于参数的数据中含有逗号,一直失败,尝试了几次终于成功,先写下经验 首先看设置 E:\apache-jmeter-2.12\bin\litaojunzb.csv文件格式如 ...
- c语言输入数据
比如要求输入一行数据(注意:没有给出输入多少个),并且以空格隔开那么就可以如下进行判断 '; ],temp,i=; while(c!='\n') { scanf("%d%c",&a ...
- DesertWind TopCoder - 1570
传送门 分析 首先我们要知道为了情况最坏,无论你到哪,一定会在你前往绿洲的最短路上的那片沙子上刮风,所以这个点到绿洲的最短路即为他相连的点中到绿洲距离最短的距离+3和次短的距离+1的最小值,具体实现见 ...
- 给大家推荐 用 hBuilder编写代码非常好用
截图 可以试哈
- STM32 CAN控制器简介
1.STM32自带了基本扩展CAN外设,又称bxCAN,bxCAN的特点如下: 2.模式:分为工作模式.测试模式.调试模式 睡眠模式主要用于降低功耗! 在静默模式下的工作原理 由图可知,它只会接受来自 ...