soapui工具_【接口测试】在soapui里面使用groovy脚本生成测试报告的方法
![](/assets/blank.gif)
soapui绝对是一个非常棒的软件,通过官网的宣传标题就知道他们有多自信了
![](/assets/blank.gif)
对于这样的工具,如果不学习,那真是没有道理的。
所以,我们一起来看看这个工具道理自信在哪里:
1. 先下载安装它,在soapui官网下载开源版本:https://www.soapui.org/
![](/assets/blank.gif)
2. 打开soapui,在File中选择New REST Project
![](/assets/blank.gif)
![](/assets/blank.gif)
3. 在REST窗口填写自己要测试的api地址
![](/assets/blank.gif)
4. 选择接口的请求方法、填写请求参数、请求头部信息
![](/assets/blank.gif)
5. 运行验证一下看能不能跑通
![](/assets/blank.gif)
6. 那么接口的基本信息我们就填写好了,现在我们需要能够实现接口自动化,并且可以自动生成测试结果文件,这就需要结合groovy脚本来实现了,先在接口上面右键,选择Generate TestSuite生成测试套件
![](/assets/blank.gif)
7. 结构如下,可以给自己的测试用例修改名字
![](/assets/blank.gif)
你可以看到在测试套件中,有load test和security test两项,所以soapui是可以进行接口的性能测试以及安全测试的
8. 在测试用例上右键选择Groovy Script创建脚本文件,给自己的脚本文件取个名字
![](/assets/blank.gif)
9. 现在我们可以开始在这个Groovy脚本文件中编写自己的东西了
![](/assets/blank.gif)
10. 要实现的基本功能如下,生成测试报告的文件夹--生成日志文件--放入每个接口的测试结果
首先导入文件读写的模块
import java.io.*
生成一个日历
def cal = Calendar.getInstance
获取到现在的年月日信息,因为月的定义是0-11,所以要额外加1
def Y = cal.get(Calendar.YEAR)
def M = cal.get(Calendar.MONTH)+1
def D = cal.get(Calendar.DATE)
统一月、日的格式,然后拼接一个年月日的值
if (M<10){
M="0"+M
}
if (D<10){
D="0"+D
}
def date = Y+"-"+M+"-"+D
定义日志存放的文件夹位置
def logFolder = new File("D:/logs")
def subFolder = new File("D:/logs/"+date+"/")
判断系统的位置上有没有这个文件夹,如果没有,就创建它
if(!logFolder.exists()){
logFolder.mkdirs()
}
if(!subFolder.exists()){
subFolder.mkdirs()
}
定义日志文件的位置和名字
def responseLogFile = new File("D:/logs/"+date+"/"+"api_test.log")
判断如果没有这个文件,那么就创建一个
if (!responseLogFile.exists()){
responseLogFile.createNewFile()
}
打开我们的测试套件,先运行一遍,成功之后,去自己定义的文件位置看一看是不是有日志文件生成了
![](/assets/blank.gif)
![](/assets/blank.gif)
接下来我们取每次测试之后接口的响应结果,先导入获取响应信息节点的模块
import com.eviware.soapui.support.GroovyUtils
把测试的响应结果保存到一个变量中
def response = new GroovyUtils(context)
将接口中必要的响应结果字段也同样保存起来
def code=response.getXmlHolder("ResponseAsXml").getNodeValue("//*:code")
def msg=response.getXmlHolder("ResponseAsXml").getNodeValue("//*:msg")
判断响应结果是否符合实际预期,也就是将预期结果和实际结果做对比
def results
if (code=="1" && msg=="登录成功"){
results = "测试成功"
}else{
results = "测试失败"
}
最后,将所有可能用到的信息,全部存放到日志文件中,包括结果、测试时间、响应的结果和请求的参数值
生成当前时间
def time = cal.getTime().toString()
获取测试用例的标题
def testcaseName = testRunner.testCase.name
写入日志,换行需要使用"rn"来表示
responseLogFile.append(testcaseName+": "+results+" "+"响应的结果是:"+"code: "+code+" msg:"+msg+"rn")
到这一步截止,保存测试结果的脚本差不多写完了,我们可以通过运行测试套件来看看结果
![](/assets/blank.gif)
简直完美!
大家也可以到我的公众号中查看测试小文章,谢谢支持~
在soapui里面使用groovy脚本生成测试报告的方法(绝密!!!)mp.weixin.qq.com
![](/assets/blank.gif)
soapui工具_【接口测试】在soapui里面使用groovy脚本生成测试报告的方法相关推荐
- webservice接口测试,使用SoapUI工具进行接口测试
webservice接口测试,使用SoapUI工具进行接口测试 首先,接口使用cxf编写接口,测试工具使用SoapUI 5.2.1 安装之后是这样的图标: 测试操作步骤如下: (1)首先找到cxf-w ...
- soapui工具_自动化测试需知的4项测试工具
一般来说学自动化会建议大家先学selenium,因为最早的时候,自动化就代表selenium,进入测试行业就开始做接口测试,而且现在基本每个公司都需要接口测试.今天就和大家聊一下接口测试的工具. 一. ...
- soapui工具_基于开源的API测试工具!不再为web服务负载测试而发愁
通过一个可视化.拖拽式的界面,LoadUI允许您实时.交互式地创建.配置和重分配负载测试.在单一测试环境下,LoadUI提供完整的测试覆盖,支持所有标准的协议和技术.它功能强大,能从任意数量的本地和远 ...
- soapui 乱码_接口测试-soapui-中文乱码总结
可能方案一: 1.在方法的属性框中,选择get还是post方式,这个对请求的参数编码是有影响的: 1.png 2.在请求的属性框中,将 post QueryString 打钩,这个对请求参数采用pos ...
- socket接口测试工具_接口测试是什么?如何做好接口测试?
文章目录 1.什么是接口? 2.接口都有哪些类型? 3.什么是接口测试? 4.为什么要做接口测试? 5.怎样做接口测试? 6.接口测测试点是什么? 7.接口测试都要掌握哪些知识? 8.其他相关知识? ...
- java接口测试工具_接口测试基础了解篇
什么是接口测试? 接口测试又称为API测试,是测试系统组件间接口的一种测试,属于灰盒测试范畴. 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交 ...
- 接口测试工具_接口测试工具Jmeter与postman - 瞎扯
一.[开局前30秒:唠嗑] 1.今天刚刚注册的知乎,听说周边好多大牛都在用,心血来潮小菜鸟的我跃跃欲试-- 2.初次写文章,手抖内心还紧张-- 3.个人jmeter用得较多,postman较少,作为一 ...
- c mysql实体类生成工具_【干货分享】C# 实体类生成工具
前言: 项目实战中不论是业务编码还是通用编码,总会归纳出一些通用的工具类.放入项目中一劳永逸,让兄弟姐妹们避免编写重复代码.所以利用了工作之余的时间,将这些散落在多个项目中精致优雅的工具类,归纳起来形 ...
- tkinter的可视化拖拽工具_拒绝丑图表,教你用最简单的方法做最炫酷的可视化图表!附教程...
数据可视化在我们的工作和生活中应用的越来越多,不管是在各种年度季度总结报告中,还是专业的数据分析报告中,我们经常要利用可视化图表来展现分析数据,一个高端大气的可视化图表就能给我们报告加分不少. 以前企 ...
最新文章
- 阿里员工的Java问题排查工具单
- mysql 自定义哈希函数_C++ STL无序容器自定义哈希函数和比较规则(超级详细)...
- 第十六届全国大学生智能车竞赛全国总决赛报名信息汇总
- 定位系列论文:基于行为识别的楼层定位(二):Research on HAR-Based Floor Positioning
- 舞力全开加速_国行舞力全开评测:丝滑得不像是育碧服务器!
- Linux密码是一个回文,usermod命令和用户密码管理
- Elasticsearch启动报错:Exception in thread “main“ java.nio.file.AccessDeniedException:
- Windows下Eclipse 安装 SVN 插件的两种方法
- 玉伯的一道课后题题解(关于 IEEE 754 双精度浮点型精度损失)
- 王献之碧玉小楷《洛神赋十三行》王献之小楷高清原石拓本对比图
- 用 Mac 输入罗马数字
- Hypervisor介绍
- 花了我一个晚上时间整理的Python魂斗罗小游戏源代码
- wifi之1M传输速率时占空比
- 快狗打车冲击港股,同城货运的战役才刚刚开始
- +new Date()是什么意思
- python辗转相除法算法_辗转相除法的算法
- ERP软件主要的作用有哪些?
- 三菱变频器常见故障分析与故障处理方法
- android记账本折线图_Android自定义View - 仿支付宝月账单折线图