本人在做接口测试的过程中,遇到了一个问题,有好几个需要测试的环境,配置了不同的域名但是每个域名下需要测试的接口不同,但是接口的用例都是公用的,经过仔细学习了一下java代码的执行顺序之后,终于想到了一个办法,相当于写一个配置类,专门配置不同的域名和域名下的接口。
首先分享一下工程目录:
前三个包都是不同环境下的测试类内容非常简单,base是配置文件,case是执行所有方法,test调试接口的类。
分享一个测试代码里面的public属性设置:
publicstaticlist
packagejuziyule;importjava.util.hashmap;importjava.util.map;importsource.apilibrary;importsource.sourcecode;publicclassbase_juziextendsapilibrary{static{apilibrary.host="http://testapi.app.happyjuzi.com";apilibrary.hosttype=false;sourcecode.getinstance().output(host);mapgroup001=newhashmap<>();apigroups.add(group001);group001.put("/common/menu",get);//首页导航接口group001.put("/common/setting",get);//设置,abtest相关group001.put("/topic/get",get);//专题列表group001.put("/user/info",get);//获取用户信息group001.put("/video/home",get);//全部视频列表group001.put("/video/category",get);//视频栏目下的列表sourcecode.getinstance().output("一共测试了"+group001.size()+"个接口!");}}这样就完美解决了每次都要修改host和hosttype的值的办法了。因为如果我需要测试online环境,java会执行case_online里面的代码,然后会依赖base_online,只会加载base_online这一个配置类的代码,host和hosttype就是我想要测试的域名和域名类型,剩下的就是配置的接口。