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

相关推荐
wanhengidc3 小时前
云手机 高振畅玩不踩坑
运维·服务器·安全·web安全·智能手机
有谁看见我的剑了?3 小时前
linux 添加硬盘后系统识别不到硬盘处理
linux·运维·服务器
JoyCong19983 小时前
ToDesk远程屏幕墙技术白皮书:如何重塑全局运维视界
运维·电脑·远程工作
大势智慧3 小时前
矿影智测版|矿山自动化测绘,省时精准更省心!
自动化·三维建模·智慧矿山·安全巡检·空间智能··露天矿山
偶尔上线经常挺尸3 小时前
《100个“反常识”经验15:Nginx 502排查:从应用到内核》
运维·nginx·性能调优·反向代理·502错误·http排错
思茂信息4 小时前
CST软件如何进行参数化扫描?
运维·开发语言·javascript·windows·ecmascript·软件工程·软件需求
计算机安禾4 小时前
【Linux从入门到精通】第31篇:防火墙漫谈——iptables与firewalld防护指南
linux·运维·php
下一页盛夏花开5 小时前
ubuntu 20中安装QT以后出现红色空心断点
linux·运维·ubuntu
sxgzzn8 小时前
光伏数智化综合平台:让光伏电站运维更智能、更高效
运维