9.1  安装和介绍

JMeter 安装文件路径:https://pan.baidu.com/s/1kVJdnuv。

JMeter 是轻量级的开源且稳定的自动化测试工具。

思路:在接口说明文档中整理出接口测试案例,其中需要包括详细的入参和出参 数据,以及明确的格式和检查点,做到接口用例 100%覆盖,并和开发人员一起对接 口测试案例进行评审。

9.1.1  安装 JDK 并配置环境变量 

安装 JDK,配置 JDK 环境变量。在系统 cmd 命令提示符下输入 java -version, 如果能够看到 Java 版本信息,说明 JDK 安装成功。解压缩 Apache-jmeter-2.12.zip 到 E 盘目录下 E:\apiauto\apache-jmeter-2.12,如图 9.1 所示。

▲图 9.1

设置 JMeter 环境变量,运行 JMeter,直接打开 E:\apache-jmeter-2.12\bin\jmeter.bat 就可以了。

9.3  结合 Ant 持续集成到 Jenkins 

-----------------------

把 Ant 及 9.4 节中的接口测试结果报告结合起来。

Jenkins的安装配置集成,请参见第11节。

xml 文件中一一对应配置文件 名、文件路径和各字段。

Build.xml:

<?xml version="1.0"?>

<project name="ant-jmeter" default="all">
<description>

</description>

<property name="testpath" value="${user.dir}"/>

<!—构建路径设置-->

<property name="resultpath" value="/Users/zouhui/Documents/workspace"/>

<property name="jmeter.home" value="${basedir}/.."/>

<property name="report.title" value="接口测试结果:"/>

<!-- Name of test (without .jmx) -->
<property name="test" value="Backapp"/>

<!-- Should report include response data for failures? -->
<property name="show-data" value="n"/>

<property name="format" value="2.1"/>

<condition property="style_version" value="">

<equals arg1="${format}" arg2="2.0"/>

</condition>

<condition property="style_version" value="_21">

<equals arg1="${format}" arg2="2.1"/>

</condition>

<condition property="funcMode">
<equals arg1="${show-data}" arg2="y"/>

</condition>

<condition property="funcMode" value="false">
<not>

<equals arg1="${show-data}" arg2="y"/>
</not>

</condition>

<!-- Allow jar to be picked up locally -->
<path id="jmeter.classpath"> <!—编译路径设置-->

<fileset dir="${basedir}/extras">

<include name="ant-jmeter*.jar"/>

</fileset>

</path>

<taskdef
name="jmeter"

classpathref="jmeter.classpath"
classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/>

<target name="all" depends="run,report"/>

<target name="run"> <!—运行测试设置-->

<echo>funcMode = ${funcMode}</echo>

<delete file="${testpath}/extras/${test}.html"/>

<delete file="${testpath}/extras/${test}.jtl"/>
<jmeter

jmeterhome="${jmeter.home}/apiTest"
testplan ="${testpath}/extras/${test}.jmx"

resultlog="${testpath}/extras/${test}.jtl">

<!--
<jvmarg value="-Xincgc"/>
<jvmarg value="-Xmx128m"/>
<jvmarg value="-Dproperty=value"/>
<jmeterarg value="-qextra.properties"/>

-->
<!-- Force suitable defaults -->
<property name="jmeter.save.saveservice.output_format" value="xml"/>
<property name="jmeter.save.saveservice.assertion_results" value="all"/>
<property name="jmeter.save.saveservice.bytes" value="true"/>
<property name="file_format.testlog" value="${format}"/>
<property name="jmeter.save.saveservice.response_data.on_error" value="${funcMode}"/>

</jmeter>
</target>

<property name="lib.dir" value="${jmeter.home}/apiTest/lib"/>

<!-- Use xalan copy from JMeter lib directory to ensure consistent processing with Java 1.4+ -->
<path id="xslt.classpath">

<fileset dir="${lib.dir}" includes="xalan*.jar"/>

<fileset dir="${lib.dir}" includes="serializer*.jar"/>
</path>

<!—测试报告 -->
<target name="report" depends="xslt-report,copy-images">

<echo>Report generated at ${report.datestamp}</echo>
</target>

<target name="xslt-report" depends="_message_xalan">
<tstamp><format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/></tstamp>
<xslt

classpathref="xslt.classpath"
force="true"
in="${testpath}/extras/${test}.jtl"
out="${testpath}/extras/${test}.html"

style="${basedir}/extras/jmeter-results-detail-report${style_version}.xsl">

<!—测试报告模板-->
<param name="showData" expression="${show-data}"/>

<param name="titleReport" expression="${report.title}"/>

<param name="dateReport" expression="${report.datestamp}"/>

</xslt>

</target>

<!-- Copy report images if needed -->
<target name="copy-images" depends="verify-images" unless="samepath">

<copy file="${basedir}/extras/expand.png" tofile="${testpath}/extras/expand.png"/>

<copy file="${basedir}/extras/collapse.png" tofile="${testpath}/extras/collapse.png"/>
</target>

<target name="verify-images">
<condition property="samepath">

<equals arg1="${testpath}/extras" arg2="${basedir}/extras" />
</condition>

</target>

<!-- Check that the xalan libraries are present -->
<condition property="xalan.present">

<and>
<!-- No need to check all jars; just check a few -->

<available classpathref="xslt.classpath"

classname="org.apache.xalan.processor.TransformerFactoryImpl"/>

<available

classpathref="xslt.classpath"
classname="org.apache.xml.serializer.ExtendedContentHandler"/>

</and>

</condition>

<target name="_message_xalan" unless="xalan.present">

<echo>Cannot find all xalan and/or serialiser jars</echo>

<echo>The XSLT formatting may not work correctly.</echo>

<echo>Check you have xalan and serializer jars in ${lib.dir}</echo>

</target>

</project>

9.4  接口测试结果

接口测试结果如图 9.36 所示。

本篇选自:《软件自动化测试开发-Java和Python测试开发指南》

获取源码后台回复:jmeter

- To Be Continued -


????戳【阅读原文】加入星球,即刻同行!

jmeter+ant+jenkins 接口自动化测试持续集成(送源码)的更多相关文章

  1. Jmeter+Ant+Jenkins接口自动化持续集成环境搭建(Linux)

    一.安装说明 系统环境:CentOS release 6.4 JDK版本:jdk1.8.0_181 Jmeter版本:apache-jmeter-3.0 Ant版本:apache-ant-1.9.13 ...

  2. jmeter+ant+jenkins接口自动化测试框架

    大致思路:Jmeter可以做接口测试,也能做压力测试,而且是开源软件:Ant是基于Java的构建工具,完成脚本执行并收集结果生成报告,可以跨平台,Jenkins是持续集成工具.将这三者结合起来可以搭建 ...

  3. Jmeter+ant+jenkins接口自动化测试 平台搭建(一)

    平台简介 一个完整的接口自动化测试平台需要支持接口的自动执行,自动生成测试报告,以及持续集成.Jmeter 支持接口的测试,Ant 支持自动构建,而 Jenkins 支持持续集成,所以三者组合在一起可 ...

  4. Jmeter+Ant+Jenkins接口自动化测试框架搭建

    前言 软件开发的V模型大家都不陌生,其中测试阶段分为单元测试→功能测试→系统测试→验收测试.其中单元测试一般由开发同学们自己完成,大部分测试具体实施(这里不包括用例设计)是从单体功能测试开始着手的. ...

  5. Jmeter+Ant+Jenkins接口自动化测试(一)_环境部署

    前言: 2017年最后一个月份,今天抽出时间把之前的一些记录分享出来,也为今年画上个简单的句号吧,无论好与坏,无论成功与失败,简单的记忆,不要留下点点空白. 特别提示: 知识是用来分享的,但是也要尊重 ...

  6. Jmeter+Ant+Jenkins接口自动化测试(二)_测试方案设计及jmeter脚本开发

    前言 根据之前部署好的测试环境,进行接口自动化测试的方案设计及Jmeter脚本开发.测试方案设计过程中采用了数据分离和对象分离等思路,因此直接通过特定的测试用例文档来驱动整个自动化接口测试的执行,相关 ...

  7. Jmeter+ant+jenkins接口自动化测试 平台搭建(三)

    四.报告优化 Jmeter 默认生成报告不是很详细,因此我们需要进行优化.这里我们使用新的报告模板:默认的报告模板是 jmeter-results-detail-report_21.xsl 先上效果图 ...

  8. Jmeter+ant+jenkins接口自动化测试 平台搭建(二)

    一.依赖文件配置 1.在ant目录C:\apache-ant-1.10.5下新建一个demo文件夹,并将jmeter测试脚本放在该文件夹中 2.将\apache-jmeter-3.3\extras下面 ...

  9. Jmeter+ant+Jenkins接口自动化框架搭建

    摘自:https://testerhome.com/topics/13389 一.背景  上一篇讲了Jmeter 接口自动化-脚本数据分离实例,我们知道怎么利用Jmeter去编写接口自动化脚本,但是接 ...

随机推荐

  1. React 渲染嵌套对象,内部对象会是undefined

    在编译器中获取数据 发现报错 原因: render()一加载就会渲染,渲染的数据是初始state里的值 ,当setState会再次渲染 解决方法 1.三元运算 判断对象是否存在 2.在初始化对象的时候 ...

  2. ubuntu 编译VLC3.0.0

    参考链接 https://blog.csdn.net/u014755412/article/details/78874038 https://www.cnblogs.com/wpjamer/p/919 ...

  3. Django搭建后篇——启动服务器及创建视图

    开启服务器,Django开启服务器的方式有两种,一种是在Ubuntu在开启,另一种是直接在pycharm开启.就方便而言肯定是第二种,但由于pycharm版本的问题,可能有的人无法直接在pycharm ...

  4. Python笔记_第二篇_面向过程_第二部分_4.常用模块的简单使用_import语句的解释

    1. import语句.from...import语句.from...import*语句 解释:注意一定要在体同一级目录下 1.1 引入模块 格式:import module[,module2,... ...

  5. 支付宝H5支付demo

    支付宝H5支付 首先我们必须注册一个支付宝应用(本案例就直接用支付宝的沙箱环境,这个沙箱也就是支付宝提供给开发者的一个测试环境) 登录地址:https://open.alipay.com/platfo ...

  6. html标签title属性值包括处理

    用js赋给title属性的html实体,<br/>无法解析,导致 也无法解析,应该使用\r\n代替,使用 无法实现换行,因为没有经过浏览器的再解析. str_info.replace(/\ ...

  7. 吴裕雄--天生自然python TensorFlow图片数据处理:解决TensorFlow2.0 module ‘tensorflow’ has no attribute ‘python_io’

    tf.python_io出错 TensorFlow 2.0 中使用 Python_io 暂时使用如下指令: tf.compat.v1.python_io.TFRecordWriter(filename ...

  8. usb转串口驱动安装失败

    方法一:通过驱动精灵安装 方法二:手动下载后安装,下载地址如下http://www.wch.cn/download/CH341SER_EXE.html https://blog.csdn.net/ja ...

  9. 9.数据分组 group by

    --数据分组 group by --作用:用于 对查询的数据进行分组,并处理 select deptno,job from emp group by deptno,job --1.分组之后,不能将除分 ...

  10. EMD——EEMD——CEEMD语音增强算法基础

    首先,HHT中用到的EMD详细介绍:https://wenku.baidu.com/view/3bba7029b4daa58da0114a9a.html 本文具体参考 https://zhuanlan ...