博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
接口测试入门(4)--接口自动化测试框架 / list和map用法 / 随机选取新闻 (随机数生成) / 接口相关id映射...
阅读量:5224 次
发布时间:2019-06-14

本文共 2255 字,大约阅读时间需要 7 分钟。

转自: http://www.cnblogs.com/alwayswyy/p/5495777.html

 

 

 

 

一.接口自动化测试框架

为了更好的组织测试方法,测试用例并且持续集成,我们选择了  java+testNG(测试用例组织)+gitlab(代码版本管理)+Jenkins(持续集成工具) 作为一整套的自动化测试框架,和UI自动化测试框架一样。

整个项目分为三大模块:

1.config:设置全局的配置文件,以.properties结尾,例如:常用的host,账号,邮件发送

2.src:通用的方法+各个用例单独调用的方法+testcase 的组织(运行哪些方法)

3.testcase:其中包括 接口地址配置文件+testNG.xml文件(组织2中测试用例的运行,如:执行顺序,运行次数,线程设置等)

二. 相关Java知识

1.list和map的用法

list的用法:(用于两个场景:1.json解析,输出某一列的值   2.获取list,随机取出其中的值)

获得集合内元素个数:list.size(); 默认添加:list.add(e);    指定下标添加(添加后下标后的元素向后挪一位):list.add(index,e) 取出元素:list.get(index);      清空集合:list.clear();
判断集合中是否存在某个元素(存在返回true,不存在返回false):list.contains(e); 获得元素下标: 元素存在则返回找到的第一个元素的下标,不存在则返回-1:list.indexOf(e);
判断集合是否为空(空则返回true,非空则返回false):list.isEmpty(); 将集合转换为数组: 默认类型:list.toArray(); map的用法:(常用于 1.post参数设置   2.配置文件的id映射 (properties类实现了map接口)如:url接口地址+map映射id

1.声明一个Map :     Map map = new HashMap();

2 .向map中放值 ,注意: map是key-value的形式存放的,如:  map.put("sa","dd");

3 .从map中取值 : String str = map.get("sa").toString

4 .遍历一个map,从中取得key和value :

Map m= new HashMap();  

for(Object obj : map.keySet()){

Object value = map.get(obj );

}

2.随机选取某一个值,(先生成一个随机数,然后进行将随机数当做下标)
list.add("笨蛋~");            Random rd=new Random();              int random=rd.nextInt(list.size());//生成一个随机数,范围在size中,如果是数组,则是array.length()             String comment = list.get(random);

3.读取接口配置文件properties(加载接口地址,加载账号和url地址)/随机获取的id如何映射到map中

这里用到特别好用的    ,使用load方法就可以产生一个内存map,小样例可以详细可以见  

public static String propertiesPath = "api_config/";classLoader = getClass().getClassLoader();   //先加载class路径File caseFile = new File(getClassLoaderPath() + casePath); //拼接测试用例路径File[] caseFiles = caseFile.listFiles(); for (File caseproperties : caseFiles) {                if (caseproperties.isFile()) {                    Properties pro = new Properties();                    try {                        pro.load(new FileInputStream(caseproperties));

如何使随机挑选的id映射到加载的接口路径中? 

思路:创建一个全局变量,方法1中给变量赋值,方法2中的使用map,使用this方法赋值给接口url的参数  ,如: urlMap.put("postId",this.postId);

创建一个共通的方法,参数中{}中的参数信息,参数来自于配置文件和Map。

 

如何使用框架组织一个用例?(以评论某一文章,收藏为例)

1.测试方法(Java类):

评论:随机选出一篇文章>获取评论数>随机评论>获取评论数(校验),获取评论内容(校验)

收藏:随机选出一篇文章>获取收藏状态>收藏/取消收藏

2.测试case(测试用例组织)

结合1中的方法,几个方法组成一个case

3.testNg中:

接口路径配置文件+testNG(xml文件,调整一下方法执行顺序)

 

 

转载于:https://www.cnblogs.com/cheese320/p/8534346.html

你可能感兴趣的文章
linux后台运行和关闭SSH运行,查看后台任务
查看>>
cookies相关概念
查看>>
CAN总线波形中ACK位电平为什么会偏高?
查看>>
MyBatis课程2
查看>>
桥接模式-Bridge(Java实现)
查看>>
svn客户端清空账号信息的两种方法
查看>>
springboot添加servlet的两种方法
查看>>
java的Array和List相互转换
查看>>
layui父页面执行子页面方法
查看>>
如何破解域管理员密码
查看>>
Windows Server 2008 R2忘记管理员密码后的解决方法
查看>>
IE11兼容IE8的设置
查看>>
windows server 2008 R2 怎么集成USB3.0驱动
查看>>
Foxmail:导入联系人
查看>>
vue:axios二次封装,接口统一存放
查看>>
vue中router与route的区别
查看>>
js 时间对象方法
查看>>
网络请求返回HTTP状态码(404,400,500)
查看>>
Spring的JdbcTemplate、NamedParameterJdbcTemplate、SimpleJdbcTemplate
查看>>
Mac下使用crontab来实现定时任务
查看>>