jmeter接口自动化+ant执行(方案)

测试框架脚本结构:

  1. setup线程组中完成登录获取token,并进行其他的一些初始化操作,或teardow现场组去清(下图没有)

注意点:

  1. 测试计划中,勾选了我独立运行每个线程组。(这样就可以保证一个线程去按脚本顺序来执行,因为我在脚本中要获取shop_id,才能去操作食品管理)
  1. 跨线程组,要把变量保存为属性,其他线程才能使用。
  1. 业务线程组一般配成永远执行,都用CSV来驱动执行,csv选遇到结束符停止,用文件中的做参数,做断言。和标题设置

如果业务现场组中有接口只需要执行一次,可以添加【仅一次控制器】

一些操作

foreach控制器。 (初始化把所有查到的食品id给删了)

团队开发(没操作过)

结合ant 生成美观测试报告+批量运行jmx 方案

Apache Ant - Welcome 下载解压就可以用

ant 可以生成报告,和批量执行,还可以结合jenkins(没操作过。)

压缩包解压后,bin 目录放到环境变量,就可以输入ant --version 命令

准备工作

需要准备这个东西到 extras里面,他是报告模板(要用哪个模板就到build.xml去改要用哪个)

第一个偏向功能测试,第二个偏向性能测试

注:21_xsl可能需要collspge.png 和 expand.png ,我有但没去确认。

准备这个东西,放到extras里,好像是要跟 xsl一起

新建项目目录

随便放到哪里,子目录结构要这样。

  • script中放 jmx 脚本
  • buildfile中 放名为 build.xml 的文件(需要改4个目录的位置。)
XML 复制代码
<?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="E:\mysoft\apache-jmeter-5.1" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="E:\mysoft\apache-jmeter-5.1\sq_waimai\jtl" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="E:\mysoft\apache-jmeter-5.1\sq_waimai\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" />
<target name="run">
<antcall target="test" />
<antcall target="report" />
</target>
<target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"  classpath="${jmeter.home}/extras/ant-jmeter-1.1.1.jar;" />
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
<!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
<testplans dir="E:\mysoft\apache-jmeter-5.1\sq_waimai\script" includes="*.jmx" />

<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target>

<path id="xslt.classpath">
<fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
<fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
</path>

<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.shanhe.me.xsl" />

<!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
</project>

需要改4个目录的位置-,和xsl报告模板,没有可以找我要。

运行

在 buildfile目录下, 执行ant,即可运行,并生成文件。

相关推荐
wd5i8kA8i19 小时前
自研多线程 SSH 极速文件传输助手(附 GitHub 源码)
运维·ssh·github
Boop_wu19 小时前
[Java 算法] 字符串
linux·运维·服务器·数据结构·算法·leetcode
菱玖20 小时前
SRC常见漏洞情况分类
运维·安全·安全威胁分析
SkyXZ~21 小时前
Jetson有Jtop,Linux有Htop,RDK也有Dtop!
linux·运维·服务器·rdkx5·rdks100·dtop
舒一笑1 天前
一次“翻车”的部署,让我看清了技术、权力和职场的真相
运维·程序员·创业
杨云龙UP1 天前
Oracle Data Pump实战:expdp/impdp常用参数与导入导出命令整理_20260406
linux·运维·服务器·数据库·oracle
我科绝伦(Huanhuan Zhou)1 天前
分享一个服务故障自愈系统
运维·人工智能·自动化
ZC跨境爬虫1 天前
极验滑动验证码自动化实战:背景提取、缺口定位与Playwright滑动模拟
前端·爬虫·python·自动化
失伟1 天前
Stratovirt安装及使用
运维·虚拟化
捧月华如1 天前
Linux 系统性能压测工具全景指南(含工程实战)
linux·运维·服务器