接口测试框架搭建思路
来源:互联网 发布:恐怖整蛊软件 编辑:程序博客网 时间:2024/04/26 13:41
平时用postman构建请求的时候,留心观察,大致分为:postman(模拟浏览器)、请求方法、请求参数、发送请求、接收响应的构建
这几个部分测试框架的搭建思路:
√ 1、需要创建一个虚拟的浏览器,用来发送和接收请求:公司用的是http 1.1协议,可以用httpclient实现
√ 2、请求方法、发送请求、接收响应均利用 httpclient 实现
√ 3、testNG测试环境的搭建
√ 4、请求参数的构建:测试数据驱动,用 testNG 的 @DataProvider ,一般建议把数据驱动和测试方法@Test分开,便于阅读,那么需要一个专门处理数据驱动的工具类
√ 5、如果把所有的测试场景都写在代码中,代码看上去比较杂乱,那么一般建议从excel表格中读取用例场景,那么需要处理excel表格的工具类
√ 6、环境之类的配置信息,建议放在项目的properties文件中,那么需要一个读取properties文件的工具类
√ 7、如果这个接口开始执行之前,需要对数据库进行操作,那么需要处理数据库的工具类(MySQL、redis)
框架搭建好以后,在test下面新建不同的 package ,用来做不同项目的接口:每个项目的具体接口内容,只需要调用接口公用测试处理方法(因为每个接口测试方法中写的代码都是一样的,所以这里应该提取出来单独封装成一个类,然后每个具体接口调用这个公共类):
把提取出来的接口测试代码封装成Common类,代码如下:
代码层面搞定之后,怎么让jenkins实现不同的项目提交代码 只 执行对应的接口测试用例呢?利用testng的xml文件实现,每个项目有自己的testng的xml文件
在 pom.xml 文件中用参数来控制要读取的testng的xml文件
jenkins在创建一个通用的接口测试job的时候可以通过参数的方式,让别人选择需要手动构建哪个项目的接口脚本
!!!注意:build这里填写的 -DprojectName=${projectName} 这里填写的projectName参数名参数化构建过程、build 的 goals and options、pom.xml的文件中均保持一致
如果是需要配置指定项目的job时,build 的 goals and options里面应该替换成clean test -DprojectName=具体项目名称 -DtestType=具体要执行的testng的xml文件,比如要执行wms的冒烟测试用例,则填写成clean test -DprojectName=wms -DtestType=Smoke,这个就是表示要读取conf文件夹下面的wms文件夹下面的testngSmoke.xml文件
老版本的jenkins配置方法如下:
代码和集成环境都搭建完成了之后,如何设置自动发送的邮件,格式是执行通过了多少 失败了多少呢?
在job的邮件正文输入:${JELLY_SCRIPT,template="custom"} !注意:这里的custom需要维护一份对应的邮件正文发送模板
通用系统之间调用接口的搭建:http2.0协议的接口测试框架搭建:
- 接口测试框架搭建思路
- Eclipse+TestNG搭建接口自动化测试框架
- Eclipse+TestNG搭建接口自动化测试框架
- Maven搭建SSM框架测试HTTP 接口
- Jmeter通用接口性能测试框架设计思路
- selenium自动化测试框架搭建-思路,无代码
- 接口测试 Http 接口测试框架 (思路 + 实现中 + 开源 + 可能难产)
- 自动化测试框架思路
- 自动化测试框架思路
- 自动化测试框架思路
- 自动化测试框架思路
- JMeter自动化接口测试思路
- 接口自动化测试TestNG框架环境搭建 (1)
- 基于Jmeter和Jenkins接口自动化测试框架搭建过程
- 自动化测试框架设计思路
- 接口自动化测试框架
- 接口测试框架小结
- ITester接口测试框架
- C#托管和非托管的资源(一)——资源
- 在全志r40m平台调通ov5640(分色排版)V1.1版本
- 关于listener加载不到的问题
- 消息队列函数(msgget、msgctl、msgsnd、msgrcv)及其范例
- 果餐时客的自建电商与第三方平台战略转型-2017年11月江西IDC排行榜与发展报告
- 接口测试框架搭建思路
- Oracle安装——环境准备
- mt2503 [BT dialer v2.1]只能接听,不能挂断来电
- sublime使用xdebug调试php
- MySQL-----MySQL主-从双机热备
- 最新海康摄像机、NVR、流媒体服务器、回放取流RTSP地址规则说明
- GitHub
- 矩阵分解 SVD分解
- 微信小程序 蓝牙实现