1、文件目录

jmeter_test

  case  用于存放case,csv或者txt格式,jmeter能读取的

  result_log  用于存放报告

    html  存放html报告

    jtl  存放jtl文件

  script  用于保存jemter的jmx文件,jmeter执行后,就保存在这里

  bulid.xml  ant调用文件

2、用例设计

  

  用例格式:

  2.1第一行都是字段,方便jemter调用

    No  用例编号

    name  测试的名称(测试内容)

    host  接口地址的host

    url  接口地址的路径

    method  请求的方法类型

    data  请求的数据

    check_point  检查点

    is_run  是否可运行

3、jmeter调用csv中的参数

  

  3.1从csv文件中读取数据,测试计划中,添加 - 配置元件 - CSV Data Set Config

    

    CSV Data Set Config各个参数的简要说明:

    Filename:csv文件和或txt文件路径,可以用相对路径

    File Encoding:文件编码格式设置

    Varible Names:定义文本文件中的参数名,可设置多个参数,参数之间逗号分隔,定义后可在脚本中引用,引用方式${name}

    Delimiter(use "\t" for tab):指定参数分隔符号

    Allow Quoated data:是否允许引用数据

    Recycle on EOF:是否循环取值

    Stop Thread on EOF:当Recycle on EOF为false并且Stop Thread on EOF为ture,则读完csv文件中的记录后,停止运行

    Sharing Mode:设置是否线程共享

这里设置的是:可以引用数据,读完CSV文件中的记录后,停止运行

    Allow Quoated data:True

    Recycle on EOF:False

    Stop Thread on EOF:True

  3.2设置线程

    

    理解:常规意义上的线程组,即虚拟用户组

    循环次数:读取数据循环,勾选永远,一直循环,否则只读取第一行数据,或者手动填写数据的行数

  3.3、If控制器

      作用:根据给定表达式的值决定是否执行该节点下的子节点

    

    

    参数:

      Interpret Condition as Variable Expression?:选中这一项时表示:判断变量值是否等于字符串true(不区分大小写)

      Evaluate for all children:如果选中这一项,在每一个节点执行前都会计算表达式

    "${is_run}"=="YES"

    判断csv中的is_run字段的值,是否和YES相同,相同则为真,执行,否则为假,不执行

  3.4、判断是否为get请求

    if判断

    

  3.5、添加请求

    

  可以看到,值都是从csv中读取的

  3.6添加响应

    

    匹配的内容,读取的是csv中check_point字段

  3.7、增加查看结果树

    在想要的位置,增加查看结果树

    

4、保存好后,点击运行

    

5、和ant结合起来,上一篇文章已经有此内容

    HTML文件中,修改到指定的case文件

    即:includes=“”字段的值

    <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本 --> 
    <testplans dir="D:\jmeter_test\script" includes="laohuangli_csv.jmx" />
<?xml version="1.0" encoding="utf-8"?>
<project name="jmeter_test" default="all" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="D:\jmeter\apache-jmeter-3.0\apache-jmeter-3.0" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="D:\jmeter_test\result_log\jtl" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="D:\jmeter_test\result_log\html" />
<!-- 生成的报告的前缀 -->
<property name="ReportName" value="接口测试测试报告" />
<!-- 生成各种文件-->
<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" /> <!-- 解决不显示 Min/Max 统计时间的问题。同时把下面的两个jar文件copy到ant的lib包中-->
<path id="xslt.classpath">
<fileset dir="${jmeter.home}/lib" includes="xalan-2.7.2.jar"/>
<fileset dir="${jmeter.home}/lib" includes="serializer-2.7.2.jar"/>
</path> <target name="all">
<antcall target="test" />
<antcall target="report" />
</target>
<target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
<!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本 -->
<testplans dir="D:\jmeter_test\script" includes="laohuangli_csv.jmx" />
</jmeter>
</target> <target name="report">
<!-- 解决不显示时间的问题-->
<tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>
<!-- 选择报告模板-->
<xslt in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-detail-report_21s.xsl" >
<param name="dateReport" expression="${report.datestamp}"/>
</xslt>
<!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
</project>

    ant执行

    

6、结果

    结果在HTML文件中

    

7、和jenkins结合起来

  上一篇中已经介绍,构建新job,增加触发器,发送邮件

csv+jenkins+ant测试接口的更多相关文章

  1. Jenkins+Ant+Jmeter接口自动化集成测试实例

    Jenkins+Ant+Jmeter接口自动化集成测试实例 一.Jenkins安装配置 1.安装配置JDK1.6+环境变量: 2.下载jenkins.war,放入C:\jenkins目录下,目录位置随 ...

  2. Jenkins+Ant+Jmeter接口自动化集成测试

    一.Jmeter+ant 1.首先我们默认Jmeter脚本已经录制好了,并测试通过,存在(查询模块.jmx)脚本 2.将JMeter所在目录下extras子目录里的ant-JMeter-1.1.1.j ...

  3. jenkins+ant+jmeter接口自动化测试(持续构建)

    使用badboy录制脚本,到处到jmeter后进行接口自动化,后来想着 可不可以用自动化来跑脚本呢,不用jmeter的图形界面呢, 选择了ant来进行构建,最后想到了用Jenkins来进行持续构建接口 ...

  4. 【转】Jenkins+Ant+Jmeter接口自动化集成测试实例

    出处:https://my.oschina.net/MrToStudy/blog/742251 一.Jenkins安装配置 1.安装配置JDK1.6+环境变量: 2.下载jenkins.war,放入C ...

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

    工具准备 JDK: jdk1.8.0_111 Ant: apache-ant-1.9.9 Jmeter: apache-jmeter-3.1 Jenkins: jenkins-2.7.4 JDK安装 ...

  6. Jenkins+ant+jmeter接口自动化

    1.Jenkins新建slave节点 2.Jenkins新建job,配置job,关联到slave, 3.执行构建 build文件如下 <?xml version="1.0" ...

  7. jenkins+ant+jmeter接口自动化的持续集成

    一.jmeter.jenkins安装 这里不再说明,请看上一个随笔!!! 链接:https://www.cnblogs.com/magicYJ/p/11839646.html 二.ant安装 下载地址 ...

  8. 记录Jmeter集成Jenkins运行Ant做接口监听

    最近在鼓捣Jmeter的接口测试,把他集成到了Jenkins上做自动化接口监听.把操作记录下来. 首先就是进行接口测试的编写.打开Jmeter.主要是把接口的测试逻辑和断言处理调通后就OK了,接口程序 ...

  9. Jenkins+Ant/maven+Svn实现自动化部署,编译,运行,测试结果自动邮件通知

    Jenkins+Ant+Svn实现自动化部署,编译,运行,测试结果自动邮件通知

随机推荐

  1. 【安装.net framework4.0】之安装失败,“安装时发生严重错误”

    在网上查了很多资料都说改什么文件名和注册表什么的,根本没用,后来查到一篇文章,提供了下面的解决办法: 地址:<Microsoft .NET Framework 4.0安装时发生严重错误 无法安装 ...

  2. Markdown常用语法学习

    Markdown常用语法学习,这些就够用了. 演示地址: https://github.com/YalongYan/Markdown-- 特别提示:  标题'##'后面必须加一个空格,否则编译不对.# ...

  3. Netty实战

    一.Netty异步和事件驱动1.Java网络编程回顾socket.accept 阻塞socket.setsockopt /非阻塞2.NIO异步非阻塞a).nio 非阻塞的关键时使用选择器(java.n ...

  4. ios 获取手机设备信息

    [UIDevice currentDevice]:表示设备 NSString *devices=[[NSString alloc] initWithFormat: @"unique id: ...

  5. sublime text 3 语法检查插件

    第一种方法:有点卡 先去下载对应的开发环境,安装到本地,例如php. 从Pakage Control中安装sublimelinter和sublimelinter-*,*为所用的语言,例如sublime ...

  6. 宇视摄像机/NVR OCX插件插件安装出现:Failed to register ocx, error code 14001 错误的解决方法

    最近在使用EasyNVR接入海康.宇视的摄像机进行景观直播的项目时,需要进入宇视设备进行音视频编码参数的调整,要说呢,海康的产品好就是要好很多: 海康的设备后台管理页面,不需要装插件也能进去,而且能调 ...

  7. Spring标签@Aspect-实现面向方向编程(@Aspect的多数据源自动加载)——SKY

    从Spring 2.0开始,可以使用基于schema及@AspectJ的方式来实现AOP.由于@Aspect是基于注解的,因此要求支持注解的5.0版本以上的JDK. 环境要求:    1. mybit ...

  8. android菜鸟学习笔记18----Android数据存储(二)SharedPreferences

    数据存储的方式,有比直接文件读写更加简便的方式,那就是操作SharedPreferences. SharedPreferences一般用于存储用户的偏好设定,暂时不支持多进程操作. SharedPre ...

  9. jvm的字符串池

    1 jvm中是有专门的字符串池的内存空间的,这块空间和栈和堆不同. 2 String s = "string constant"; 这个时候,如果string pool中没有&qu ...

  10. Maven项目启动报错

    错误信息如下: 六月 , :: 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin 警告: [SetPropertiesRule]{S ...