史上最全,Jmeter+Ant+Jenkins接口自动化集成(图文步骤)

news2025/4/9 4:00:42

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

1、安装 jdk、Jmeter、Ant、Jenkins

安装图文之前写过,这里就不再过多叙述

2、配置 Ant

1)将 Jmeter 所在目录下 extras 子目录里的 ant-JMeter-1.1.1.jar 复制到 Ant 所在目录 lib 子目录之下,这样 Ant 运行时才能找到"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,从而成功触发 JMeter 脚本

2)Jmeter 默认保存的是.csv 格式的文件,所以我们先要设置一下 bin/jmeter.properties 文件内容,保存jmeter.save.saveservice.output_format=xml

在这里插入图片描述

3)创建一个文件夹(此处命名为demo),demo下创建一个report文件夹用来存放测试报告html和jtl文件的目录(创建的目录在生成测试报告需要用到)

D:\acan\demo\report\html
D:\acan\demo\report\jtl

4)新建build.xml文件存放在demo的文件夹下,并修改文档里内容

<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
	<tstamp>
		<format property="time" pattern="yyyyMMddHHmm" />
	</tstamp>
	<!-- 需要改成自己本地的Jmeter目录-->
	<property name="jmeter.home" value="D:\apache-jmeter-5.3" />
	<!-- jmeter生成jtl格式的结果报告的路径-->
	<property name="jmeter.result.jtl.dir" value="D:\acan\demo\report\jtl" />
	<!-- jmeter生成html格式的结果报告的路径-->
	<property name="jmeter.result.html.dir" value="D:\acan\demo\report\html" />
	<!-- 生成的报告的前缀-->
	<property name="ReportName" value="TestReport" />
	<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
	<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
	<!-- 输出生成的报告名称和存放路径-->
	<echo message="${jmeter.result.jtlName}"/>
	<echo message="${jmeter.result.htmlName}"/>
	<echo message="${jmeter.result.html.dir}"/>

	<target name="run">
		<antcall target="test"/>
		<antcall target="report"/>
	</target>
	<!-- 指定ant-jmeter-1.1.1.jar 的位置 -->
	<path id="jmeter.classpath">
		<fileset dir="${jmeter.home}/extras">
			<include name="ant-jmeter-1.1.1.jar"/>
		</fileset>

	</path>
	<!--加载jar包,解决显示时间问题-->
	<path id="xslt.classpath">
		<fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
		<fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
	</path>

	<target name="test">
		<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
		<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
			<!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本,比如test*.jmx表示以test开头的所有.jmx文件-->
			<testplans dir="D:\acan\demo" includes="*.jmx" />
			<!-- 声明ant执行jmeter时,传入jmeter的属性值,可以自定义必须是xml格式 -->
			<property name="jmeter.save.saveservice.output_format" value="xml"/>
		</jmeter>
	</target>

	<target name="report">
	<tstamp> <format property="report.datestamp" pattern="yyyy-MM-dd HH:mm" /></tstamp>
		<xslt
			classpathref="xslt.classpath"
			force="true"
			in="${jmeter.result.jtlName}"
			out="${jmeter.result.htmlName}"
			style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
			<!--jmeter-results-detail-report_21.xsl这里的文件名可以换成你想要的报告效果-->
			<!--显示dateReport的时间-->
			<param name="dateReport" expression="${report.datestamp}"/>
		</xslt>
		<!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
		<copy todir="${jmeter.result.html.dir}">
			<fileset dir="${jmeter.home}/extras">
				<include name="collapse.png" />
				<include name="expand.png" />
			</fileset>
		</copy>
	</target>
</project>

5)标记的地方修改为自己的路径,其余不需要修改

在这里插入图片描述

在这里插入图片描述

6)验证配置的结果是否成功,把jmeter编写的jmx文件放到demo文件夹下,在demo文件下打开cmd窗口,输入ant,生成结果如下则表示配置成功,BUILD SUCCESSFUL

在这里插入图片描述

在D:\acan\demo\report\html的文件夹中生成了html测试报告

在这里插入图片描述

3、配置 Jenkins

1)安装插件 HTML Publisher Plugin、、Ant Plugin、email extension plugin(可选)、performance plugin

在这里插入图片描述

搜索html插件,安装

在这里插入图片描述

2)全局配置中创建ant
进入Manage Jenkins全局设置

在这里插入图片描述

Ant安装点击新增Ant

在这里插入图片描述

输入自定义的ant名称,ANT_HOME输入在本机中ant的安装路径,点击保存

在这里插入图片描述

3)新建job
创建一个任务

在这里插入图片描述

输入任务的名称,选择Freestyle project,点击确定

在这里插入图片描述

勾选构建环境Add timestamps to the Console Output,将时间在控制台输出

在这里插入图片描述

构建–>增加构建步骤–>Invoke Ant

在这里插入图片描述

构建下的选项Ant Version填写配置ant定义的ant名称,Targets填写build.xml中定义的run

在这里插入图片描述

build.xml中定义的target为run,所以上方Targets填写的run

在这里插入图片描述

高级中配置build.xml的路径

在这里插入图片描述

Build File填写build.xml在本机中存放路径

在这里插入图片描述

增加构建后的步骤Publish HTML reports,生成测试报告

在这里插入图片描述

点击新增按钮

在这里插入图片描述

填写本机创建的html报告存放地址

在这里插入图片描述

配置完成之后点击保存

4)点击按钮进行构建

在这里插入图片描述

在构建历史中查看构建结果

在这里插入图片描述

控制台结果中看到BUILD SUCCESSFUL表示生成测试报告成功

在这里插入图片描述

5)查看生成的测试报告

在这里插入图片描述

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只要心怀梦想,坚定信仰,不断前行,就能让梦想逐渐成为现实。沿途所经历的风雨和荆棘只会让自己更加强大,一路向前,奋斗不止。

生命中最大的幸福,就是追求自己的梦想。不断努力,放飞理想,脚踏实地,永不言败,才能在人生舞台上创造出最为辉煌的篇章。相信自己,拼搏到底,奋斗不止。

人生充满了无数个可能,你唯一要做的就是勇敢地去追寻自己想要的那个。没有过不去的坎,没有攀不上的高峰,只有更加精彩的未来等待着你去征服。坚定信念,挑战自我,用心奋斗,抵达辉煌!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

水电站生态流量监测解决方案(dtu数据采集和分析)

1. 引言 水电站是重要的清洁能源发电设施&#xff0c;但其建设和运营也对当地生态环境带来一定的影响。为了科学合理地评估水电站的生态流量&#xff0c;监测和记录河流中的流量数据变得至关重要。通过采集和分析这些数据&#xff0c;可以做出合理的决策和调整&#xff0c;以最…

华为云新开源低代码引擎 TinyEngine核心亮点

核心亮点 • 可以定制开发低码平台。 TinyEngine 采用灵活的系统架构,其出色的整体架构提供了高度的自定义自由度,使用户能够像搭建积木一样选择不同的模块来构建自己的专属设计器。此外,插件化的架构使得用户可以方便地扩展与业务相关的功能。在 TinyEngine 中,插件根据…

外贸SEO应该怎样做?

这几年做外贸SEO的越来越多&#xff0c;背后原因很复杂&#xff0c;不去探讨了。今天就自己SEO服务客户情况所见&#xff0c;聊一点外贸网站SEO该怎么做的感想。 我所遇到的英文外贸网站&#xff0c;大部分是卖产品的&#xff0c;产品各种各样&#xff0c;从单一软件或产品小网…

基于边缘网关的智慧工地监测方案

边缘物联网技术为千行百业赋能&#xff0c;依托边缘计算的低延时、高效率、广适用优势&#xff0c;也为工程建设产业带来新的增长动力。 例如在智慧工地应用中&#xff0c;围绕建设施工过程中的人员、设备、环境等要素&#xff0c;利用边缘计算网关构建全面的数据采集、分析、联…

【UE5 Cesium】15-Cesium for Unreal 加载本地影像和地形

目录 一、加载全球无高度地形 二、加载区域DEM 三、加载离线地图影像 一、加载全球无高度地形 1. 先去如下网址下载全球无高度地形&#xff1a;Using a global terrain layer without height detail - #9 by RidhwanAziz - Cesium for Unreal - Cesium Community 下载后如下…

核桃派walnutpi添加红外遥控器键盘映射(其他的linux板子同理)ir-keytable

01studio终于又发布新品了&#xff0c;全志h616 linux开发板核桃派&#xff0c;正好我也打算学习linux&#xff0c;做为我的启蒙公司&#xff0c;必须支持果断入了一个。 这个板子自带红外接收头&#xff0c;比较少见&#xff0c;一般都需要自己加&#xff0c;看官网文档&…

Git指导:提交干净的commit信息

为什么我们应该关心编写干净的提交消息&#xff1f; 提交是程序员技术的有形构建块。它们充当代码的锦上添花&#xff0c;如果编写正确&#xff0c;它们会带来巨大的价值。编写良好的提交消息变得不可或缺&#xff0c;因为它们提供了上下文——否则一开始就不需要提交消息。 良…

windows 远程连接 ubuntu桌面xrdp

更新 sudo apt update安装组件 sudo apt-get install xorg sudo apt-get install xserver-xorg-core sudo apt-get install xorgxrdp sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utilsxrdp sudo apt install xrdp sudo systemctl status xrdp sudo …

证件照快速抠图更换背景 - Python OpenCV图像分割

需要更换证件照的背景&#xff0c;大多软件App直接收费或者需要支付后才可去水除印&#xff0c;本文公开不收费&#xff0c;欢迎使用&#xff0c;代码可在IDE如PyCharm或者Linux上直接运行&#xff0c;程序会自动安装依赖库OpenCV&#xff0c;如果觉得不错随手点个赞哦 &#x…

美客多平台运营策略揭秘,卖家如何实现安全稳定的测评!

要在美客多平台上取得成功&#xff0c;卖家需要具备一定的运营策略。本文将为大家分享一些关键的运营策略&#xff0c;帮助卖家在美客多平台上实现可持续发展。 一&#xff1a;优化商品页面&#xff0c;提升转化率 在美客多平台上&#xff0c;商品页面是吸引用户注意力的关键。…

c++中的map和set

文章目录 1. 关联式容器2. 键值对3. 树形结构的关联式容器3.1 set3.1.1 set的介绍3.1.2 set的使用 3.2 map3.2.1 map的介绍3.2.2 map的使用 3.3 multiset3.3.1 multiset的介绍3.3.2 multiset的使用 3.4 multimap3.4.1 multimap的介绍3.4.2 multimap的使用 1. 关联式容器 在初阶…

pycharm配置远程服务器

1.首先在服务器的一个位置创建一个文件夹 作为我们的工作文件夹&#xff0c;这里就命名为hhr。 2.配置我们的解释器 &#xff08;实验室服务器python环境都配好了&#xff0c;我们只需要找到就可以了&#xff09;&#xff0c;这里可以连上Xhell之后输入python打开python解释器…

网工内推 | IT高级运维工程师,周末双休,包吃包住,14-20k

01 深圳朗特智能控制股份有限公司 招聘岗位&#xff1a;IT高级运维工程师 职责描述&#xff1a; 1、对集团网络基础架构的建设、运维、安全制定相关标准和准则&#xff1b; 2、负责集团数据中心、核心设备、信息安全的管理和运维&#xff1b; 3、执行网络、服务器、核心交换机…

【已解决】Operation timed out 问题

概述 今天遇到了这样一个有点奇葩的问题&#xff0c;再阿里云服务器上部署了Mysql服务&#xff0c;再使用NaviCat的过程中链接不上&#xff0c;connect to address IP地址: Operation timed out&#xff0c;最后是服务器防火墙的问题。 查看Mysql服务/端口 1.查看Mysql是否启…

解决loadDep:omelette: sill install loadAllDepsIntoIdealTree

报错信息如下&#xff1a; 解决方案&#xff1a; 1、设置为淘宝的镜像源 npm config set registry https://registry.npm.taobao.org 2、 命令检验是否成功 npm config get registry 3、继续运行npm install即可 npm install 运行效果&#xff1a;

C/C++ 中的函数返回局部变量以及局部变量的地址?

C/C中&#xff0c;函数内部的一切变量(函数内部局部变量&#xff0c;形参)都是在其被调用时才被分配内存单元。形参和函数内部的局部变量的生命期和作用域都是在函数内部(static变量的生命期除外)。子函数运行结束时&#xff0c;所有局部变量的内存单元会被系统释放。在C中&…

帮助文档Api

帮助文档Api 按照帮助文档的使用步骤学习Scanner类的使用&#xff0c;并实现键盘录入一个字符串&#xff0c;最后输出在控制台 部分Scanner的api文档如下&#xff1a; package com.api.Demo01;// 需要导入 Scanner包 import java.util.Scanner;public class Test01 {public sta…

千兆以太网传输层 UDP 协议原理与 FPGA 实现(UDP接收)

文章目录 前言心得体会一、 UDP 协议简单回顾二、UDP接收实现三、完整代码展示四、仿真测试(1)模拟电脑数据发送,(2)测试顶层文件编写(3)仿真文件(4)仿真波形前言 在前面我们对以太网 UDP 帧格式做了讲解,UDP 帧格式包括前导码+帧界定符、以太网头部数据、IP 头部数…

Ride基本使用

基本使用步骤&#xff1a; 创建项目(New Project)创建模块(New Directory)创建测试套件(New Suite)创建测试用例(New Test Case)创建资源文件(New Resource)创建业务关键字(New User Keyword)常用关键字用例编写robot报告显示 创建项目(New Project) File --> New Project…

程序无法启动,提示“找不到msvcp140.dll”或“msvcp140.dll缺失报错”解决方法

大家好&#xff01;今天我来给大家分享一下msvcp140.dll丢失的解决方法。我们都知道&#xff0c;在运行一些软件或游戏时&#xff0c;经常会遇到“找不到msvcp140.dll”的错误提示&#xff0c;这会让我们非常苦恼。那么&#xff0c;这个问题该怎么解决呢&#xff1f;下面我将为…