1.安装jmeter 和ant

&环境变量配置百度去~

2.jmeter和ant关联

&将JMeter所在目录下extras子目录里的ant-JMeter-1.1.1.jar复制到ant的lib目录下

&修改Jmeter的bin目录下jmeter.properties文件的配置:

jmeter.save.saveservice.output_format=xml

3.编写build文件

<?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:\apache-jmeter-3.3" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="E:\apache-jmeter-3.3\report\jtl" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="E:\apache-jmeter-3.3\report\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" />
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
<!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
<testplans dir="E:\apache-jmeter-3.3\bin\testCase" 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-detail-report_21.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>

&配置相关的路径,然后dos下cd到有build的目录,执行ant即可

4.jmeter连接数据库包配置

&准备相关的包操作数据库JDBC

如果数据库是oracle,在客户端app/client/Administrator\product\12.1.0\client_1\jdbc\lib下的ojdbc6.jar放在jmeter下的jmeter-2.12\lib目录下(注:我当前jmeter版本是2.12,不同版本和数据库用的包不一致,具体百度)

加载ojdbc6.Jar后才能使用

5.打开jmeter添加组件—发请求

&准备相关的包操作数据库JDBC

如果数据库是oracle,在客户端app/client/Administrator\product\12.1.0\client_1\jdbc\lib下的ojdbc6.jar放在jmeter下的jmeter-2.12\lib目录下(注:我当前jmeter版本是2.12,不同版本和数据库用的包不一致,具体百度)

加载ojdbc6.Jar后才能使用

6.创建查看结果树、线程组、头文件、HTTP请求

添加察看结果树:项【目名】--右击添加--【监听器】--【察看结果树】(如图)

& 添加HTTP信息头管理器: 【项目名】--右击添加--【配置元件】--【HTTP信息头管理器】注:HTTP信息管理器添加头文件 (如图)

& 添加线程组:【项目名】--右击添加--【Threads(Users)】--【线程组】 (如图)

&添加http请求,【线程组】--右击添加--【Sampler】--【HTTP请求】

7.根据接口文档--登录请求(如图--登录接口)

8.接口返回响应数据(如图)

9.断言判断(接着登录接口)

&添加响应断言

填写预期的返回结果 例如判断返回数据是否为Code":2,再运行察看结果树

&查看断言结果

因为登录的结果是正确的返回code 1,设置的断言是code 2所以报错显示红色

10.正则提取器

登录后系统其他接口请求时都需要token或accessk等的一个签名认证,需要用正则取出登录接口返回数据里token和accesskey传递到其他接口

&正则简单运用取值

组件:【http请求】--右击添加--【后置处理器】--【正则提取器】

正则简单运用和测试是否取到token、accesskey方法一致(这个图务必放大看下)

写好的正则表达式放到正则提取器上填写相关信息(如图)

下一个接口引用变量的方式

& 查看正则取值结果

点击运行查看这个接口的token是否用正则写成功,引用的变量自动取值了(注:这个接口失败因为需要accesskey,这里只做示范所以没加accesskey,取值传递方法一致)

11.JDBC数据库取值传递参数

应用场景例如:注册、重置密码等接口需要从数据库把验证码取出来放到接口上发送请求

组件:jdbc配置原件   【项目名】--【右击添加】--【配置元件】--【JDBC Connection Configuration】

配置数据库(如图,针对oracle)

&数据库取值传递

重置密码接口例子@

&加载ojdbc6.jar包

& 添加一个jdbc requset组件 【线程组】--添加--【Sampler】--【jdbc request】

& 再做重置密码接口把上一步取的值赋值给重置密码接口数据库取值引用方式为 ${abc_1}

12.post上传json格式和list写法

&正常的上传json格式

接口文档:

根据参数说明编写如下格式:

{

"GOODS_TEL_TEXT":"13774469114",

"DEPARTMENT_TYPE":"5",

"GOODS_PASSWORD_TEXT":"dj123456",

"CLIENTID":"1",

"APP_VERSION_TEXT":"1",

"PHOME_MODEL_TEXT":"huawei",

"IP_ADDRESS":"1",

"clienttype":"2"

}

&list形式的json

字段写在list中,接口文档如下:

根据上传json字段,编写Json格式如下

{

“dataValue”:”[{ord_id_seq:123,acct_id:854}]”

}

[jmeter]Jmeter+ant实现接口自动化的更多相关文章

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

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

  2. jmeter生成html格式接口自动化测试报告

    jmeter生成html格式接口自动化测试报告 jmeter自带执行结果查看的插件,但是需要在jmeter工具中才能查看,如果要向领导提交测试结果,不够方便直观. 笔者刚做了这方面的尝试,总结出来分享 ...

  3. Jmeter+Ant+Jenkins接口自动化框架

    最近应公司要求,搭建一套接口自动化环境.看到通知邮件,没有多想就确定了Jmeter路线.可能有些人会 说,为啥不用python,相对而言高大上一些.因为公司内部现在项目有用到Jmeter,正好可以结合 ...

  4. java、python及jmeter操作redis(接口自动化必备)

    redis是nosql数据库之一,其存储结构简单,提供高性能服务,所以在架构中是很常用的. 在做接口自动化测试过程中,有时也会涉及到redis,比如:发送短信验证码,我们做接口自动化测试,如何模拟发送 ...

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

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

  6. jmeter+ant+jenkins接口自动化环境搭建

    一.准备   1.安装jdk  --->点击查看安装教程 2.安装jmeter  ,官网下载jmeter解压,配置jmeter环境: JMETER_HOME (解压jdk路径) Path (;% ...

  7. Jmeter+Ant+Jenkins 接口自动化之简单demo

    之前的文章我们已经分享过了 Jmeter+Ant 的批量执行 ,并且搭建好了Jenkins部署平台,如何再将三者完美结合呢? 1.首先打开Jenkins主页面,进入“系统管理-插件管理”,安装相关的插 ...

  8. Jmeter + Ant 构建接口自动化

    1.首先安装ANT,解压,建议放根目录. 对应安装包已上传 2.环境变量配置新建 ANT_HOMEANT_HOME:解压的路径path环境配置新增Path:%ANT_HOME%\binclasspat ...

  9. jmeter接口自动化集成

    接口自动化集成 一.jmeter基础学习 1.博客  :http://www.cnblogs.com/fnng/category/345478.html 2.博客   http://www.cnblo ...

随机推荐

  1. [转载]解决虚拟机中Centos7出现错误:Failed to start LSB: Bring up/down networking

    1.执行 service network restart 出现以下错误 Restarting network (via systemctl):  Job for network.service fai ...

  2. 每日总结:Java基本语法 (2021.9.23)

         对象:对象是类的一个实例,有状态和行为. 类:类是一个模板,它描述一类对象的行为和状态. 方法:方法就是行为,一个类可以有很多方法. 实例变量:每个对象都有独特的实例变量,对象的状态由这些实 ...

  3. 题解 「SDOI2017」硬币游戏

    题目传送门 Description 周末同学们非常无聊,有人提议,咱们扔硬币玩吧,谁扔的硬币正面次数多谁胜利. 大家纷纷觉得这个游戏非常符合同学们的特色,但只是扔硬币实在是太单调了. 同学们觉得要加强 ...

  4. 试题 算法训练 二进制数数 java解题

    资源限制 时间限制:1.0s   内存限制:256.0MB 问题描述 给定L,R.统计[L,R]区间内的所有数在二进制下包含的"1"的个数之和. 如5的二进制为101,包含2个&q ...

  5. scala基础篇 使用getter和setter方法而不使用public的情形

    主要是基于2种情形 1) 提供读只取/只写入方法,不能随意读写 2)做赋值时变量控制,比如设定值的区间范围等 例子: object test{ def main(args: Array[String] ...

  6. pip 安装软件报 Requirement already satisfied

    pip 安装的时候报错了,以为是豆瓣源有问题,换了还是一样,于是我们只需要加入一个参数 --target=路径    给它一个指定的位置就可以解决这个问题 安装位置不变,只是增加了一个参数在后面

  7. 【UE4 C++】 Config Settings配置文件(.ini)

    简介 常见存储路径 \Engine\Config\ \Engine\Saved\Config\ (运行后生成) [ProjectName]\Config\ [ProjectName]\Saved\Co ...

  8. 理解ASP.NET Core - 路由(Routing)

    注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 Routing Routing(路由):更准确的应该叫做Endpoint Routing,负责 ...

  9. logstash的安装和简单使用

    logstash的安装和简单使用 一.安装 1.下载并解压 2.logstash 一些命令行参数 1.查看帮助信息 2.加载指定pipeline文件路径 3.检测配置文件语法是否有错误 4.热加载pi ...

  10. springboot读取配置文件中的信息

    在一个项目中,我们有时候会把一些配置信息写入到一个配置文件中,在java代码中读取配置文件的信息.在此记录下读取属性文件中的内容. 在springboot项目中,springboot的配置文件可以使用 ...