当前位置: 首页 > news >正文

Jenkins+Ant+Jmeter接口自动化集成测试

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快   

一、Jenkins安装配置

1、安装配置JDK1.6+环境变量;

2、下载jenkins.war,放入C:\jenkins目录下,目录位置随意;

 Jenkins启动方法:

cmd进入Jenkins目录下,执行java -jar jenkins.war

浏览器输入:localhost:8080可以访问Jenkins表示配置成功;

二、Ant安装配置

1、下载apache-ant-1.9.6;放入E盘,如E:\apache-ant-1.9.6,目录位置随意

2、配置环境变量:

ANT_HOME    E:\apache-ant-1.9.6

path          E:\apache-ant-1.9.6

classpath      E:\apache-ant-1.9.6

3、验证Ant配置是否成功;

cmd下输入Ant提示如下表示配置成功:

Buildfile: build.xml does not exist!

Build failed

三、配置xml文件

1、Jmeter目录位置:D:\tools\apache-jmeter-2.11,在jmeter中建立demo文件夹,demo中创建build.xml文件,需要配置Jmeter目录、生成报告的路径,报告的格式和脚本目录,内容如下:

<?xml version="1.0" encoding="UTF8"?><project name="ant-jmeter-test" default="run" basedir="."><tstamp><format property="time" pattern="yyyyMMddhhmm" /></tstamp><property environment="env"/><property name="ReportName" value="TestReport" /><!-- 本地的 Jmeter 目录--><property name="jmeter.home" value="D:\tools\apache-jmeter-2.11" /><!-- jmeter生成报告的路径--><property name="jmeter.result.dir" value="${env.WORKSPACE}/results/${env.BUILD_ID}" /><!-- 生成jtl、html格式的报告,以构建ID命名--> <property name="jmeter.result.jtlName" value="${env.WORKSPACE}/results/${env.BUILD_ID}/${env.BUILD_ID}.jtl" /><property name="jmeter.result.htmlName" value="${env.WORKSPACE}/results/${env.BUILD_ID}/${env.BUILD_ID}.html" /><target name="run"><echo message="start..."/><antcall target="clean" />                       <antcall target="test" /><antcall target="report" /></target><target name="clean"><mkdir dir="${env.WORKSPACE}/results/${env.BUILD_ID}" /></target><target name="test"><taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /><jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"><!-- 声明要运行的脚本和此目录下的jmeter脚本--><testplans dir="D:\tools\apache-jmeter-2.11\demo" includes="login.jmx" /><property name="jmeter.save.saveservice.output_format" value="xml"/></jmeter></target><target name="report"><xslt in="${jmeter.result.jtlName}"out="${jmeter.result.htmlName}"style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" /></target></project>

其中${env.WORKSPACE}/results/${env.BUILD_ID}/${env.BUILD_ID}.jtl和

${env.WORKSPACE}/results/${env.BUILD_ID}/${env.BUILD_ID}.html生成的报告位置在:

C:\Users\Administrator\.jenkins\jobs\test\workspace\results目录下,每次进行Jenkins构建的时候,都会生成一个新的构建编号目录和结果报告;

2、将jmeter测试脚本放入demo目录下,当然放入其他位置也可以,build.xml中需要配置jmeter脚本存放路径的对应位置。

四、构建Jenkins项目

1、启动Jenkins,浏览器输入localhost:8080进入管理界面,点击新建;

2、输入项目名称:Test_demo,选择构建一个自由风格的软件项目,点击OK;

3、勾选丢弃旧的构建,配置如下:

4、构建,增加构建步骤选择Invoke Ant,Targets输入run,点击高级,Build File输入build.xml文件路径,保存;

5、返回主页可以看到新建的项目,点击构建即可启动测试;

6、左侧可以看到启动状态及构建编号;

7、进入构建编号目录C:\Users\Administrator\.jenkins\jobs\Test_demo\workspace\results\60下即可查看jmeter脚本运行的报告;

五、使用Tomcat查看测试结果

1、修改build.xml文件html报告生成的路径,report文件在demo路径下,修改如下:

<property name="jmeter.result.htmlName" value="report/report.html" />

2、配置为tomcat的虚拟目录

a、配置server.xml

打开Tomcat目录下的/conf/server.xml文件,在Host标签之间加入下面内容。

<Context path="/test/report" docBase="/test/report " reloadable="true" debug="0"/>

path:工程名称+文件路径,当访问path目录下的文件时,实则访问docBase目录下的文件。

docBase:文件的真实路径。注意这里如果有文件长传,则将上传的文件路径设置为docBase,而不是path。

b、修改tomcat端口

Tomcat端口8080已经被Jenkins占用,则需要修改端口,打开Tomcat目录下的/conf/server.xml文件,将connector port修改成8088

<Connector port="8088" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" /

c、配置web.xml

打开Tomcat目录下的/conf/web.xml,将listings的属性设置为True。

<servlet><init-param><param-name>listings</param-name><param-value>true</param-value></init-param><load-on-startup>1</load-on-startup></servlet>

访问localhost:8088/report即可访问结果报告。

当然Jenkins的功能远不止这些,还有很多强大的地方等着你去发现。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

相关文章:

Jenkins+Ant+Jmeter接口自动化集成测试

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、Jenkins安装配置 1、安装配置JDK1.6环境变量&#xff1b; 2、下载jenkins.war&#xff0c;放入C:\jenkins目录下&#xff0c;目录位置随意&#xff1b; J…...

JavaSE——集合4:List接口实现类—LinkedList

目录 一、LinkedList的全面说明 二、LinkedList的底层操作机制 (一)LinkedList添加结点源码 (二)LinkedList删除结点源码 三、LinkedList常用方法 四、ArrayList与LinkedList的选择 一、LinkedList的全面说明 LinkedList底层实现了双向链表和双端队列的特点可以添加任意…...

FPGA图像处理之三行缓存

文章目录 一、前言二、FPGA实现三行缓存的架构三、Verilog代码实现四、仿真验证五、输入图像数据进行仿真验证 一、前言 在 FPGA 做图像处理时&#xff0c;行缓存是一个非常重要的一个步骤&#xff0c;因为图像输入还有输出都是一行一行进行的&#xff0c;即处理完一行后再处理…...

10月15日,每日信息差

第一、《哈利・波特与魔法石》在中国内地总票房突破 3 亿元&#xff0c;包括 2002 年首映的 5600 万&#xff0c;2020 年重映的 1.923 亿&#xff0c;以及 2024 年重映的 5170 万。 第二、全国铁路实施新货物列车运行图&#xff0c;增开城际班列至 131 列&#xff0c;多式联运…...

4G、5G通信中,“网络侧“含义

在5G通信中&#xff0c;"网络侧"这个术语可以指代不同的网络元素&#xff0c;具体取决于上下文。通常&#xff0c;网络侧可以包括以下两个主要部分&#xff1a; 基站&#xff08;gNB&#xff09;&#xff1a; 基站是无线接入网&#xff08;RAN&#xff09;的一部分&a…...

spring boot核心理解-各种starter

理解 Spring Boot 的 Starter 机制以及如何选择和使用各种 starter&#xff0c;是开发 Spring Boot 应用的重要一环。Spring Boot Starter 是一组方便的依赖组合&#xff0c;用于简化 Spring 项目中的依赖管理。它们可以帮助开发者快速引入所需的库和自动配置&#xff0c;从而加…...

解决海外社媒风控问题的工具——云手机

随着中国企业逐步进入海外市场&#xff0c;海外社交媒体的风控问题严重影响了企业的推广效果与账号运营。这种背景下&#xff0c;云手机作为一种新型技术解决方案&#xff0c;正日益成为企业应对海外社媒风控的重要工具。 由于海外社媒的严格监控&#xff0c;企业经常面临账号流…...

全能PDF工具集 | PDF Shaper Ultimate v14.6 便携版

软件简介 PDF Shaper是一款功能强大的PDF工具集&#xff0c;它提供了一系列用于处理PDF文档的工具。这款软件使用户能够轻松地转换、分割、合并、提取页面以及旋转和加密PDF文件。PDF Shaper的界面简洁直观&#xff0c;使得即使是新手用户也能快速上手。它支持广泛的功能&…...

Maven入门

Maven Maven Wrapper 版本一致性&#xff1a; Maven Wrapper 允许你在项目中指定一个特定的 Maven 版本。这意味着所有开发人员和 CI/CD 环境都将使用相同版本的 Maven&#xff0c;从而避免由于版本不一致导致的问题。 简化设置&#xff1a; 新开发者克隆项目时&#xff0c…...

Chromium 中window.DOMParser接口说明c++

一、DOMParser DOMParser 可以将存储在字符串中的 XML 或 HTML 源代码解析为一个 DOM Document。 备注&#xff1a; XMLHttpRequest 支持从 URL 可寻址资源解析 XML 和 HTML&#xff0c;在其response 属性中返回Document。 你可以使用XMLSerializer 接口执行相反的操作 - 将…...

linux 安装gitlab

安装环境 CentOS 7.7 (centos6.10会报错)2g内存防火墙关闭 安装步骤&#xff1a; 1 安装gitlab # yum install -y git curl policycoreutils-python openssh-server # 安装依赖 # wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.2.2-ce…...

java基础(5)继承与多态

目录 ​编辑 1.前言 2.正文 2.1继承 2.1.1继承概念 2.1.2继承语法 2.1.3子类访问父类 2.1.4super关键字 2.2多态 2.2.1多态概念 2.2.2多态条件 2.2.3重写 2.2.4向上转型与向下转型 2.2.5为什么要使用多态 3.小结 1.前言 哈喽大家好啊&#xff0c;今天继续来为大…...

Flink消费Kafka实时写入Doris

本文模拟实际生产环境&#xff0c;通过FileBeat采集日志信息到Kafka&#xff0c;再通过Flink消费Kafka实时写入Doris。 文章目录 Filebeat采集日志到KafkaFlink消费Kafka实时写入Doris总结 Filebeat采集日志到Kafka 常见的日志采集工具有以下几种&#xff1a;Flume、Logstash和…...

实现Web QQ音乐打开现有新标签页切换音乐

若没有打开播放音乐标签页&#xff0c;则打开新标签页播放所选音乐如果已打开新标签页&#xff0c;则直接切换所选音乐 pageA.vue <script setup lang"ts"> const tab2 ref<any>(null); const router useRouter();interface Track {id: number;name: …...

从底层结构开始学习FPGA(15)----时钟结构(通俗版)

目录 0、前言 1、IO Bank和Clock Region(时钟区域)是一个东西吗? 2、时钟输入管脚 3、时钟架构 3.1、全局时钟BUFG 3.2、水平时钟BUFH 3.3、IO时钟BUFIO 3.4、区域时钟BUFR/BUFMR 4、总结 《从底层结构开始学习FPGA》目录与传送门 0、前言 我思来想去,总觉…...

MacOS Sublime Text 解决中乱码

1. 安装Package Control 官方安装指南 手动安装 通过以此点击菜单 Sublime Text > Preferences > Browse Packages 打开Packages目录找到Packages的同级目录Installed Packages下载PackageControl.sublime-package并保存到Installed Packages中在菜单 Sublime Text &g…...

Python画笔案例-084 绘制 3D立方体

1、绘制 3D立方体 通过 python 的turtle 库绘制 3D立方体,如下图: 2、实现代码 绘制 3D立方体,以下为实现代码: import turtle import timeviewfactor = 150 xshift = 0 yshift = 0 zshift = 50...

“八股文”面试:助力、阻力还是空谈?

在当今的IT行业&#xff0c;面试程序员时提及“八股文”已成为一种普遍现象。所谓“八股文”&#xff0c;通常指的是一系列固定的、标准化的面试问题及其解答&#xff0c;这些问题往往涵盖了计算机科学和软件工程的基础知识&#xff0c;以及一些流行的技术框架和算法。然而&…...

如何实现弹出式窗口

文章目录 1 概念介绍2 使用方法3 示例代码我们在上一章回中介绍了Sliver综合示例相关的内容,本章回中将介绍PopupMenuButton组件.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 我们在本章回中介绍的PopupMenuButton组件位于AppBar右侧,通常显示三个圆点图标,点击该图标…...

Lua 函数

Lua 函数 Lua 是一种轻量级的编程语言&#xff0c;广泛用于游戏开发、脚本编写和其他应用程序中。在 Lua 中&#xff0c;函数是一等公民&#xff0c;这意味着它们可以被存储在变量中&#xff0c;作为参数传递给其他函数&#xff0c;以及作为其他函数的返回值。本文将详细介绍 …...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式&#xff1a;数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新&#xff1a;构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议&#xff1a;基于LayerZero协议实现以太坊、Solana等公链资产互通&#xff0c;通过零知…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中&#xff0c;部分节点存储的数据量或访问量远高于其他节点&#xff0c;导致这些节点负载过高&#xff0c;影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...