接口测试框架搭建思路
2017-11-20 10:34
344 查看
平时用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协议的接口测试框架搭建:
这几个部分测试框架的搭建思路:
√ 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协议的接口测试框架搭建:
相关文章推荐
- 怎样从0开始搭建一个测试框架_7——接口
- Jmeter通用接口性能测试框架设计思路
- 接口测试 Http 接口测试框架 (思路 + 实现中 + 开源 + 可能难产)
- 怎样从0开始搭建一个测试框架_7——接口
- Jmeter+Ant+Jenkins搭建持续集成的接口测试框架
- Jmeter+Ant+Jenkins搭建持续集成的接口测试框架
- Maven搭建SSM框架测试HTTP 接口
- 怎样从0开始搭建一个既可以功能测试+又可以接口测试框架(灰蓝作品,qq号:396214358 )
- excel数据驱动接口测试框架
- Android环境搭建Appium测试框架 Python
- [置顶] SSM基础框架的搭建和测试
- 以Python为基础的REST(JSON为交换数据)接口的测试框架设计(一)
- Asp.net 面向接口可扩展框架之使用“类型转化基础服务”测试四种Mapper(AutoMapper、EmitMapper、NLiteMapper及TinyMapper)
- wqrf 接口测试框架
- Groovy(java)+Spock+IDEA+maven+Jenkins+SVN+maven-surefire-plugin+maven-surefire-report-plugin/maven-antrun-extended-plugin集成接口测试框架
- 怎样从0开始搭建一个测试框架_5——邮件
- 接口测试框架(二)-项目概述
- SSM框架搭建思路及流程
- 怎样从0开始搭建一个测试框架_0——总章
- 基于Jmeter+Maven+Jenkins持续集成接口测试框架