如何让你的 Jmeter+Ant 测试报告更具吸引力?

引言

想象一下,你辛苦搭建了一个复杂的网站,投入了大量的时间和精力进行开发和测试。当你终于完成了测试并准备生成测试报告时,你可能会发现这个过程相当乏味,而对于其他人来说,它可能也不那么吸引人。

但是,不要放弃!因为在本文中,我们将分享如何使用 Jmeter+Ant 生成测试报告,并让它更具吸引力。

JMeter生成测试报告使用的是Ant(Maven)构建工具来生成HTML的测试报告。

一、安装apache-Ant

1、解压apache-ant安装包
ant是Java语言的构建工具 Apache Ant - Binary Distributions


2、配置环境
①:复制ant中bin目录的路径放到Path变量中(注意以英文的分号和前面的隔开)
E:\workplace\Ant\apache-ant-1.9.14\bin

3、验证ant否安装成功
控制台指令:ant -v

二、Jmeter准备

1、jmeter目录下新建tests文件夹(tests文件夹里面存储测试脚本和测试报告),在tests文件夹下新建report和script文件夹,再在report文件夹下新建html和jtl文件夹
2、把jmeter保存的测试脚本保存到script下
目录结构如下图所示:

 
  1. 把jmeter下的extras文件下的ant-jmeter-1.1.1.jar复制,粘贴到ant下的lib文件中

  2. 编写build.xml文件,把build.xml放在jmeter的tests的文件下

  3. 在jmeter的bin目录下找到jmeter.properties用记事本打开,CTRL+F找到#jmeter.save.saveservice.output_format=csv,然后把井号取消,等号后面改为xml

  4. activation.jar, commons-email-1.2.jar, mail.jar,这三个文件放在ant的lib目录下

  5. 完善build.xml文件:

  6. build.xml文件定义了

  7. A、执行哪个测试脚本

  8. B、实现自动发送脚本(邮箱)

  9. C、自动生成测试报告

  10. 定义jmeter地址 加上接受报告的qq邮箱 要执行的测试脚本的名字 自动生成测试报告

  11. 在控制台进入到tests,输入ant,这时在report下的html中,会有测试报告

把build.xml放在jmeter的tests的文件下:



3、生成测试报告

ant执行的条件是需要有build.xml的文件的,build.xml文件里面主要编写三个内容:
1、定义了被执行的测试脚本
2、定义了测试报告的目录
3、定义了自动发送邮件

HTTP COOKIE管理器(SESSION会话对象--》代码级别):
1、所有请求之间的COOKIE是共享的
2、所有请求之间的COOKIE共享的同时底层的TCP连接只建立一次连接

11表示匹配到的第1个值赋给引用名称。


4、JMeter动态参数处理逻辑是什么?

以登录为案例,登录成功后返回的TOKEN每次都是不一样的,这个值就是动态参数,那么在登录成功后的接口中(如首页)需要调用到这个TOKEN:
1、在登录的接口中添加后置处理器中的JSON提取器,定义一个变量获取登录成功后返回的token的值
2、在下个接口(如首页)中通过${}来调用这个变量
3、执行线程组中的任务,就能够实现参数的上下关联

常用的组件:
1、HTTP信息头管理器
2、COOKIE管理器
3、查看结果树
4、JSON提取器/正则表达式提取器
5、JSON断言以及响应断言
6、HTTP请求默认值
7、用户定义的变量(分离的是公共的数据)

5、JMeter是怎么做API自动化测试的?

1、首先在JMeter里面创建测试计划,在测试计划里面创建线程组
2、在线程组里面添加HTTP的请求,以及添加API的测试用例
3、编写测试用例结束后,结合Ant构建工具,编写build.xml文件(执行脚本,测试报告目录,自动发送邮件)
4、在build.xml文件的目录下执行ant,就会自动执行
5、最后整合到Jenkins持续集成的平台,那么在下个版本中,只需要点击构建就能够自动化的执行

针对一个服务,你怎么测试?
1、正常功能
2、异常功能
A、请求参数是必须填写,但是没有带,后台有没有做判断
B、请求参数的数据类型是否做了判断
C、特定参数需要特定的值
D、请求参数超过长度的限制
3、安全测试,主要指的是服务是否做了认证授权
4、性能测试(这个服务同时多少个人可以访问)
5、稳定性测试(指的是验证一个服务的稳定性)

结语

这篇贴子到这里就结束了,最后,希望看这篇帖子的朋友能够有所收获。

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

  1. 文档获取方式:

  2. 加入我的软件测试交流群:1007119548免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/250133.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【RT-DETR改进涨点】ResNet18、34、50、101等多个版本移植到ultralytics仓库(RT-DETR官方一比一移植)

👑欢迎大家订阅本专栏,一起学习RT-DETR👑 一、本文介绍 本文是本专栏的第一篇改进,我将RT-DETR官方版本中的ResNet18、ResNet34、ResNet50、ResNet101移植到ultralytics仓库,网上很多改进机制是将基础版本的也就是2015年发布的ResNet移植到ultralytics仓库中,但是其实…

【Qt基本功修炼】Qt线程的两种运行模式

1. 前言 QThread是Qt中的线程类,用于实现多线程运行。 QThread有两种工作模式,即 消息循环模式无消息循环模式 两种模式分别适用于不同的场景。下面我们将从多个方面,讲解QThread两种工作模式的区别。 2. 消息循环模式 2.1 实现原理 Q…

【misc | CTF】攻防世界 2017_Dating_in_Singapore

天命:这次终于碰到了算是真正的misc题目了 下载附件,打开是PDF,我一开始以为是flag隐写在PDF里面了 虽然也不奇怪,应该是可以的,毕竟PDF有xss漏洞也是可以的 言归正传,打开PDF 看着新加坡的日历&#xff…

大数据平台-可视化面板介绍-Echarts

应对现在数据可视化的趋势,越来越多企业需要在很多场景(营销数据,生产数据,用户数据)下使用,可视化图表来展示体现数据,让数据更加直观,数据特点更加突出。 目录 01-使用技术 02- 案例适配方案 03-基础…

【BUG】golang gorm导入数据库报错 “unexpected type clause.Expr“

帮同事排查一个gorm导入数据报错的问题 事发现场 ck sql CREATE TABLE ods_api.t_sms_jg_msg_callback_dis (app_key String DEFAULT COMMENT 应用标识,callback_type Int32 DEFAULT 0 COMMENT 0送达,1回执,channel Int32 DEFAULT 0 COMMENT uid下发的渠道,mode…

EasyExcel通用导入 | 简单封装

0. 前言:1. 基本思路:2. 调用代码: 0. 前言: 之前做了好几个导入,用EasyExcel每次都要定义监听器去处理,就想能不能做个通用的方式,如下 1. 基本思路: 导入无非主要就是参数校验和数…

MacBook安装虚拟机Parallels Desktop

MacBook安装虚拟机Parallels Desktop 官方下载地址: https://www.parallels.cn/pd/general/ 介绍 Parallels Desktop 被称为 macOS 上最强大的虚拟机软件。可以在 Mac 下同时模拟运行 Win、Linux、Android 等多种操作系统及软件而不必重启电脑,并能在不同系统间随…

数据结构------算法时间复杂度

通俗的理解一下算法的时间复杂度 主要是看这个速发的时间性能,从这个算法规模入手,具体的看一下这个算法的所需时间与这个算法规模的关系 关系有 O(1) 常数次 1次 2次。。。。。。 O(n)一个for循环 O(n^2)两个for循环(嵌套) O(mn)…

【动态规划】【数学】1388. 3n 块披萨

作者推荐 【动态规划】【字符串】【表达式】2019. 解出数学表达式的学生分数 本文涉及知识点 动态规划汇总 LeetCode1388 3n 块披萨 给你一个披萨,它由 3n 块不同大小的部分组成,现在你和你的朋友们需要按照如下规则来分披萨: 你挑选 任…

异步编程,到底有什么用?

关键词:高性能、架构设计、异步思想、场景落地 文章导读 场景切入 先来看一个日常生活快递寄件场景,从寄件人(寄件)到收件人(收件),全流程如下 当你准备寄送一个包裹时,通常你可以…

ManticoreSearch-(安装配置,集群搭建)-学习总结

ManticoreSearch-(安装配置)-学习总结 基础概念安装搭建集群搭建(基于K8S) 原文地址 https://blog.csdn.net/liuyij3430448/article/details/135955025 基础概念 Manticore Search是一个专门为搜索设计的多存储数据库,具有强大的全文搜索功能,适用于…

Python代码重构库之rope使用详解

概要 Python是一门强大的编程语言,但在大型项目中,维护和重构代码可能会变得复杂和困难。为了提高开发人员的效率和准确性,有许多工具可用于辅助代码重构和智能代码补全。其中之一是Python Rope。 Python Rope是一个用于Python编程语言的强大工具,它提供了丰富的功能,包…

EasyX图形库学习(一)

目录 一、easyX图形库基本介绍 1、easyX的原理 2、easyX的安装 3、easyX的颜色(RGB颜色模型) 颜色模型相关函数: 4、easyX的坐标 二、相关函数介绍: 绘图设备相关函数: 图形颜色及样式设置相关函数: 图形绘制相关函数: 文字输出相关…

iMazing 3中文版双平台版本同步,iOS 设备在 Windows 上也能自动备份了

自从WWDC 2019 宣布 iTunes 退役后,也许很多小伙伴都对「上位者」iMazing 有所耳闻。 这款设计更加人性化、功能细致强大的 iOS 备份管理工具。 iMazing 支持在 Windows 及 Mac 上运行,而这个月 Windows 版本更新至 2.17. 之后,iMazing 的双…

【GitHub项目推荐--一个由OpenAI提供支持的聊天机器人和虚拟助手的构建平台】【转载】

Botpress Botpress是一个开源项目,它提供了一个平台,用于构建、部署和管理基于人工智能的聊天机器人和虚拟助手 github地址: https://github.com/botpress/botpress Botpress的介绍 Botpress是一个开源项目,它提供了一个平台&…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之TextClock组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之TextClock组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、TextClock组件 TextClock组件通过文本将当前系统时间显示在设备上。支持不同…

【Power Platform】实现对SharePoint文档库中上传的文件进行审批

这次要分享的案例还是来自于我们客户的一个新需求。 我们这个客户主要是在使用SharePoint的List来搭建申请单,然后对申请单进行审批,但由于我们之前给客户提出的生成PDF打印件的方案,是需要先在SharePoint或OneDrive中放一个文档模板的&…

Keil软件某些汉字输出乱码,0xFD问题,51单片机

1. 问题 keil软件输入某些汉字的时候会输出乱码,例如:升、 数 2. 原因 keil软件会忽略0xFD。 升的GB2312编码为 0xc9fd,keil解析为0xc9数的GB2312编码为 0xcafd,keil解析为0xca 关于Keil软件中0xFD问题的说明 3. 解决方案1 …

从零开始复现GPT2(三):词表,Tokenizer和语料库的实现

源码地址:https://gitee.com/guojialiang2023/gpt2 GPT2 模型词表TokenizerTokenizer 类_normalize 方法_tokenize 方法_CHINESE_CHAR_RANGE 和 _PUNCTUATION_RANGE 数据集语料库TokenizedCorpus 类 模型 词表 定义了一个名为 Vocab 的类,用于处理和管理…

若依CMS代码审计

1.安装 安装过程 ruoyi-admin\src\main\resources\application-druid.yml配置数据库等信息 2.审计过程 2.1 文件下载漏洞(v4.7.6) 在com.ruoyi.web.controller.common.resourceDownload存在文件下载 首先简单分析下其代码:请求url如:http://127.0.0.1/c…