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,即可运行,并生成文件。

相关推荐
SelectDB1 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
XIAOHEZIcode2 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220703 天前
如何搭建本地yum源(上)
运维
大树886 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠6 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质6 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工6 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智6 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_6 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
施努卡机器视觉6 天前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造