Jmeter+Ant+Jenkins接口自动化测试(二)_测试方案设计及jmeter脚本开发
前言
根据之前部署好的测试环境,进行接口自动化测试的方案设计及Jmeter脚本开发。测试方案设计过程中采用了数据分离和对象分离等思路,因此直接通过特定的测试用例文档来驱动整个自动化接口测试的执行,相关测试人员只需在后期更改测试用例即可维护自动化接口测试,完成相关测试任务。
特别提示:
知识是用来分享的,但是也要尊重作者的权益,转载请注明出处,未经本人允许不可用于商业目的。
自动化接口测试方案:
测试用例模板编写:
为了批量执行待测试的接口,我们采用测试用例模板的方式在jmeter中进行参数化,用例只主要包括接口名称、接口路径、接口传输参数、返回值验证、前期验证SQL、前期SQL结果验证、后期验证SQL、后期SQL结果验证字段等,用例文件格式为文本文件(制表符分隔),如下图所示:(建议以Excel方式打开)
Jmeter脚本开发:
1、在jmeter的测试计划中添加“线程组”,如下图所示:
2、选中线程组后添加配置元件“HTTP请求默认值”,如下图所示:
在默认http请求中添加服务器IP和端口号,如下图所示:
3、选中线程组右键配置元件中的“JDBC Connection Configuration”,如下图所示:
输入数据库连接参数,如下图所示:(以oracle为例)
备注:建议使用2.13版本并且将oracle所需的jar拷贝到jmeter安装路径下的lib文件夹中,或者在测试计划界面的Library下直接添加,如下图所示:
4、选中线程组右键在Sampler中选择“BeanShell Sampler”,如下图所示:
在BeanShell Sampler中填写读取用例条数代码,如下图所示:
5、选中线程组右键在逻辑控制器中选择“简单控制器”,如下图所示:
修改名称为:前期清理,之后在其下右键添加Sampler中的“JDBC Request”,并配置相关参数,如下图所示:
备注:JDBC Request中的Variable Name要与JDBC Connection Configuration中的保持一致,sql执行中输入要初始化数据库的语句。
6、选中线程组右键控制器中选择添加“循环控制器”,并在循环控制器下方添加配置元件中的“CSV Data Set Config”(注意一定要在循环控制器下添加),并将存储有接口测试用例的txt文件配置到其中,用于参数化操作,如下图所示:
备注:此处根据测试用例文档进行相关字段参数化对照表:
接口名称 |
接口路径 |
接口传输参数 |
返回值验证 |
前期验证SQL |
前期SQL结果验证 |
后期验证SQL |
后期SQL结果验证 |
ApiName |
Url |
Body |
Assert |
PreSQL |
PreAssert |
PostSQL |
PostAssert |
7、在循环控制器下添加简单控制器,并在其下添加前期验证和后期验证的“JDBC Request”,方式可参考步骤5中的操作,同是在简单控制器下还需添加sampler中的“HTTP请求”,并配置相关参数,如下图所示:
调整前期验证、接口请求、后期验证等执行顺序,如下图所示:
调整顺序后,在前期验证、接口请求、后期验证下添加响应断言组件,对响应结果进行正确性判断。如下图所示:
最后通过添加“察看结果树”和“Debug Sampler”进行脚本调试,调试通过后保存到指定文档中。
Jmeter+Ant+Jenkins接口自动化测试(二)_测试方案设计及jmeter脚本开发的更多相关文章
- Jmeter+Ant+Jenkins接口自动化测试(一)_环境部署
前言: 2017年最后一个月份,今天抽出时间把之前的一些记录分享出来,也为今年画上个简单的句号吧,无论好与坏,无论成功与失败,简单的记忆,不要留下点点空白. 特别提示: 知识是用来分享的,但是也要尊重 ...
- Jmeter+ant+jenkins接口自动化测试 平台搭建(一)
平台简介 一个完整的接口自动化测试平台需要支持接口的自动执行,自动生成测试报告,以及持续集成.Jmeter 支持接口的测试,Ant 支持自动构建,而 Jenkins 支持持续集成,所以三者组合在一起可 ...
- Jmeter+Ant+Jenkins接口自动化测试框架搭建
前言 软件开发的V模型大家都不陌生,其中测试阶段分为单元测试→功能测试→系统测试→验收测试.其中单元测试一般由开发同学们自己完成,大部分测试具体实施(这里不包括用例设计)是从单体功能测试开始着手的. ...
- jmeter+ant+jenkins接口自动化测试框架
大致思路:Jmeter可以做接口测试,也能做压力测试,而且是开源软件:Ant是基于Java的构建工具,完成脚本执行并收集结果生成报告,可以跨平台,Jenkins是持续集成工具.将这三者结合起来可以搭建 ...
- Jmeter+ant+jenkins接口自动化测试 平台搭建(三)
四.报告优化 Jmeter 默认生成报告不是很详细,因此我们需要进行优化.这里我们使用新的报告模板:默认的报告模板是 jmeter-results-detail-report_21.xsl 先上效果图 ...
- Jmeter+ant+jenkins接口自动化测试 平台搭建(二)
一.依赖文件配置 1.在ant目录C:\apache-ant-1.10.5下新建一个demo文件夹,并将jmeter测试脚本放在该文件夹中 2.将\apache-jmeter-3.3\extras下面 ...
- jmeter+ant+jenkins 接口自动化测试持续集成(送源码)
9.1 安装和介绍 JMeter 安装文件路径:https://pan.baidu.com/s/1kVJdnuv. JMeter 是轻量级的开源且稳定的自动化测试工具. 思路:在接口说明文档中整理 ...
- ant +jmeter+jenkins接口自动化测试二
[Jmeter篇]Jmeter+Ant+Jenkins接口自动化测试集成之半路逆转(二) 橙子探索测试发表于橙子探索测试订阅 72 [Jmeter篇]jmeter+Ant+Jenkins接口自动化测试 ...
- 使用jmeter+ant进行接口自动化测试(数据驱动)之二:利用apache-ant执行测试用例并生成HTML格式测试报告
在 使用jmeter+ant进行接口自动化测试(数据驱动)之一 介绍了如何使用csv文件来批量管理接口 本次接着介绍如何利用apache-ant执行测试用例并生成HTML格式测试报告 ①下载安装 ap ...
随机推荐
- Android UsageStatsService(应用使用统计服务)的学习与调研
一. 简介 UsageStatsService是一个系统服务,其主要通过AMS等,来监测并记录各个应用的使用数据,如上次调用com.android.settings的时间等. UsageStatsSe ...
- 天梯赛 L2-020. 功夫传人 BFS
L2-020. 功夫传人 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 一门武功能否传承久远并被发扬光大,是要看缘分的.一般来 ...
- CCF-201509-2-日期计算
问题描述 试题编号: 201509-2 试题名称: 日期计算 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定一个年份y和一个整数d,问这一年的第d天是几月几日? 注意闰年 ...
- linux禁用锁定和解除解锁用户账号的方法
Linux系统使用的是/etc/shadow保存加密了的用户密码,要禁止一个帐号的话,最快的方法就是修改存储于/etc/shadow中的密码. 一般情况下,一个有效的Linux用户在/etc/shad ...
- 【OCR技术系列之二】文字定位与切割
要做文字识别,第一步要考虑的就是怎么将每一个字符从图片中切割下来,然后才可以送入我们设计好的模型进行字符识别.现在就以下面这张图片为例,说一说最一般的字符切割的步骤是哪些. 当然,我们实际上要识别的图 ...
- Web Api 基于Zookeeper的服务注册与发现
安装与差异 Zookeeper安装请参考我上篇文章 http://www.cnblogs.com/woxpp/p/7700368.html 基于Nginx的服务提供和消费 基于zookeeper的服务 ...
- Struts2学习笔记整理(一)
最近在学习框架,很多人建议我直接学SSM,SSM看了一段时间后发现很多东西虽然可以用了,但是并不是很了解,所以我打算重新来过.从SSH开始学习,前面已经大致的学习了Hibernate,对于Hibern ...
- 剑指Offer_5_替换空格
题目描述 请实现一个函数,将一个字符串中的空格替换成"%20". 例如,当字符串为We Are Happy.则经过替换之后的字符串为 We%20Are%20Happy. 在网络编程 ...
- [Contiki系列论文之1]Contiki——为微传感器网络而生的轻量级的、灵活的操作系统
说明:本系列文章翻译自Contiki之父Adam Dunkels经典论文,版权归原作者全部. Contiki是由Adam Dunkels及其团队开发的系统,研读其论文是对深入理解Contiki系统的最 ...
- hdu 5225 Tom and permutation(回溯)
题目链接:hdu 5225 Tom and permutation #include <cstdio> #include <cstring> #include <algo ...