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

相关推荐
星霜笔记24 分钟前
Docker 部署 MariaDB+phpMyAdmin+Nextcloud 完整教程
运维·数据库·docker·容器·mariadb
一只栖枝3 小时前
华为 HCIE 大数据认证中 Linux 命令行的运用及价值
大数据·linux·运维·华为·华为认证·hcie·it
wuicer5 小时前
ubuntu 20.04 安装anaconda以及安装spyder
linux·运维·ubuntu
小晶晶京京8 小时前
day34-LNMP详解
linux·运维·服务器
fengyehongWorld8 小时前
Linux crontab定时任务
linux·运维
碎像9 小时前
Linux上配置环境变量
linux·运维·服务器
Jinkxs10 小时前
自动化测试的下一站:AI缺陷检测工具如何实现“bug提前预警”?
人工智能·自动化
sunflower_w10 小时前
linux I2C核心、总线与设备驱动
linux·运维·服务器
myzzb11 小时前
基于uiautomation的自动化流程RPA开源开发演示
运维·python·学习·算法·自动化·rpa
曾经的三心草11 小时前
微服务的编程测评系统11-jmeter-redis-竞赛列表
redis·jmeter·微服务