【三】Jmeter接口自动化测试系列之Http接口自动化实战

【三】Jmeter接口自动化测试系列之Http接口自动化实战
【三】Jmeter接口自动化测试系列之Http接口自动化实战

本文介绍Jmeter 工具的http 接口自动化测试实战!

为了通用性,就拿知乎网站作为实战例子吧!

必备技能:http接口基础知识、抓包,本文不做详细介绍,不会的可以先百度恶补!

首先,我们把知乎登录的包抓下来:

我们抓一下获取

Jmeter对应脚本如下:

获取发现栏目脚本:

使用正则表达提取器,提取栏目内容(what?不会正则表达式?找百度)

使用foreach 控制器将提取结果合并到一个字符串

打印结果:

运行结果:

在进行http 接口测试的时候,通常需要注意一下几点:

1、cookie的处理,正常流程,可以用HTTP Cookie 管理器管理器操作!

2、特殊流程,如果需要自定义cookie ,可以通过HTTP信息头管理器里面添加cookie 字

段来处理!

3、Content-Type非常重要,如果调用接口报错,排查其他没有问题的情况下,十有八九就

是这个Content-Type格式不对造成的!

4、在进行性能测试时,http接口的超时时间一定要设置一个默认值,不然在Jmeter进行分

布式测试时,远程server端经常无法关闭,需要手动重启,当时为了这个还写了一个远程重启Jmeter server 的软件,糗大了!

5、利用Jmeter 进行接口自动化测试时,可以利用Beanshell 处理数据、业务规则校验,使

用Jdbc 请求和正则表达式来提取数据库数据和网页数据,从而进行自动化流程和数据核对!

6、更高级的方法,可以将Jmeter 布置到服务器上,然后通过Jenkins来进行调用,还可以

自己写一些文件插件(Excel ),生成比对结果!

下一篇我们介绍结合http请求、beanshell、jdbc请求、正则表达式提取器,来实现自动化数据流程和数据核对,感兴趣的朋友可以关注,谢谢!

Jmeter多接口测试性能测试

一、接口业务流程 1、获取token接口 http://192.168.1.4:9900/rest/getToken/ 2、获取图片链接口 http://192.168.1.4:9900/regist/getImagePath/?token=89bd9d88f4f3421c9e639dfab0c a423c&type=fql 返回数据: {"msg": "\u6210\u529f", "code": 0, "detail": {"image_path": "/images/regist/20160822/img1471837595.25.jpg"}} 3、获取图片验证码接口 http://192.168.1.4:9900/images/regist/20160822/img1471850521.18.jpg 4、获取注册结果接口 http://192.168.1.4:9900/regist/imageView/?imagecode=zds4&phone=182********&t oken=89bd9d88f4f3421c9e639dfab0ca423c&type=fql 二、JMETER的使用 1、基本操作 1.1、新增测试计划 新增线程组,接着在该线程组下方新增4个“HTTP请求”(添加-Sampler-HTTP请求),

再在该线程组下方添加“察看结果树”(添加-监听器察看结果树)。也可以在每个HTTP请求下方添加“察看结果树”,方便找到需要正则或参数化的数据。 一个完整的测试计划诞生了,如下图2.1所示 图2.1 1.2、配置HTTP请求 以上图中的“HTTP请求01”为例进行说明。在HTTP请求窗口中的Basic标签页面上输入服务器名称或IP、端口号和路径(路径URL地址端口号后面的),其他默认,如下图2.2-1所示。此时可以执行下然后在当前的HTTP请求01的察看结果树里检查接口是否能正常访问(如下图2.2-2所示)。 图2.2-1

jmeter性能测试报告.doc

快乐农家网站压力测试报告 一、测试简介 1、测试环境: 测试人:*** 测试时间:2010年9月13日 服务器 IP :客户端内存:(R)4 测试工具:测试内容: 二、测试说明 1、名词定义(时间的单位均为ms): Samples -- 本次场景中一共完成了多少个线程 Average -- 平均响应时间 Median -- 统计意义上面的响应时间的中值 90% Line -- 所有线程中 90%的线程的响应时间都小于 xx Min -- 最小响应时间 Max -- 最大响应时间 Error -- 出错率 Troughput -- 吞吐量 KB/sec -- 以流量做衡量的吞吐量 2、安装启动JMeter ,分别对以上页面进行压力测试 分别测试10、100、500、1000 个线程,即模拟这些数目的用户并发;每个用户循环发送请求 1; Ramp-up period ( inseconds )的值设为0,即并发请求。

三、测试结果及分析 1、首页测试结果及分析: Label#Samples Average Median90%Line Min Max Error% Throughput KB/sec 首页10 53 52 73 39 73 % sec 首页100 31 26 66 10 83 % sec 首页500 76 32 196 9 661 % sec 首页1000 36 22 69 9 345 % sec 分析: #Samples: 模拟 1000 个用户时的压力测试,Average :平均响应时间为秒,90%Line: 百分之90 的用户相应时间为秒,Error% : 没有无法相应的请求。 2、社区论坛测试结果及分析: Label#Samples Average Median90%Line Min Max Error% Throughput KB/sec 社区论坛10 53 52 73 39 73 % sec 社区论坛100 10279 9748 14997 528 15505 % sec 社区论坛500 28048 22277 79473 9 82674 % sec 社区论坛1000 17988 2509 71178 9 86822 % sec 分析:#Samples: 模拟 500 个用户时的压力测试,tomcat 已经明显看到响应慢了,Average : 平均响应时间为秒,90%Line:百分之90 的用户相应时间为秒,Error% :百分之40的请求无法响应。模拟1000 个用户时,出现的无法响应的概率:%。 3、专家与咨询测试结果及分析 Label#Samples Average Median90%Line Min Max Error% Throughp KB/sec ut

接口自动化测试方案

接口自动化测试方案 2018年4月9日 文档编号:(V1.0) 目录 目录 1测试需求及范围 (2) 1.1测试目的 (2) 1.2测试需求 (2) 2测试方法 (3) 3测试工具及框架拓扑图 (3) 3.1测试工具 (3) 3.2自动化测试拓扑图 (3) 4流程示例 (3) 5测试环境 (5)

2.1硬件配置 (5) 2.2软件配置 (5) 6测试思路 (6) 6.1通用测试场景 (6) 6.2逻辑场景 (7) 6.3断言检查 (7) 1测试需求及范围 1.1测试目的 随着公司项目的不断增大,接口的服务随之增多,回归的任务量越来越大,需要对接口进行定时回归测试来保证系统的稳定性。 1.在开发提交新的接口前进行冒烟测试,以保证系统是能够正常开展测试的 2.功能测试完成/bug回归完成后进行回归测试,保证bug修改完成后没有引入新的问题1.2测试需求 1、目前提供的接口多为Rest 规范的接口,需要使用JMeter进行自动化接口测试,核对接口入参及返回报文格式、内容的正确性,最终通过Jenkins持续集成生成测试报告。 2、对开发人员的需求 接口文档的规范,如:输入输出模板,输出类型是否全面 2测试方法 根据开发人员提供的接口访问地址、入参格式、请求格式,进行接口请求数据拼接,并查看返回结果及返回报文、响应时间,检查返回Json内容是否符合接口定义规范,是否符合预期的返回结果。

3测试工具及框架拓扑图 3.1测试工具 Jemeter+Jenkins 3.2自动化测试拓扑图 4流程示例 测试数据从csv或者txt文件里读取,包含入参、出参、预期结果/断言 用例通过jemter维护

Jmeter接口自动化测试方法简介

Jmeter接口自动化测试方法简介 一、思路简洁 1.了解待测接口参数规范,具体参考wiki,明确get参数和post参数,是否需要验证cookie、ua等 2.Jmeter参数化方式配置请求host、url、header消息头等 3.配置csv文件,编写测试用例参数和预期结果格式校验 4.根据需要编写beanshell脚本或导入辅助性jar包,用于解析接口返回结果,比如解密数据 5.在Jmeter中添加必要的断言或监听器,用于收集用例执行的结果 6.执行测试,查看用例结果,重点分析Fail的用例,和开发沟通,上报bug 二、一个简单的性能测试 QPS 解释 QPS : Query Per Second 每秒查询率。是一台查询服务器每秒能够处理的查询次数。在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。 为了达成预期的测目的,需要需要在jmeter中建立一个测试计划。因为本次测试仅要求完成对https://www.360docs.net/doc/c34872783.html, 和 https://www.360docs.net/doc/c34872783.html, 两个博客首页请求,因此只需要使用 HTTP Request Sampler 即可。 建立测试计划 启动jmeter后,jmeter会自动生成一个空的测试计划,用户可以基于该测试计划建立自己的测试计划。 添加线程组 一个性能测试请求负载是基于一个线程组完成的。一个测试计划必须有一个线程组。测试计划添加线程组非常简单。在测试计划右键弹出下拉菜单(添加-->Threads(Users)--->线程组)中选择线程组即可。

jmeter中每个测试计划至少需要包含一个线程组,当然也可以在一个计划中创建多个线程组,那么多个线程组之间又会怎样的顺序执行(串行还是并行)?在测试计划下面多个线程是并行执行的,也就是说这些线程组是同时被初始化并同时执行线程组下的Sampler的。 线程组主要包含三个参数:线程数、准备时长(Ramp-Up Period(in seconds))、循环次数。 线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。 准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为20 ,准备时长为10 ,那么需要10秒钟启动20个线程。也就是每秒钟启动2个线程。 循环次数:每个线程发送请求的次数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。

接口自动化测试框架实例详解教程python+requests

接口自动化测试框架实例详解教程python+requests 前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的是java语言,但对于一个学java,却在学python的我来说,觉得python比起java更简单些,所以,我决定自己写python的接口自动化测试框架,由于本人也是刚学习python,这套自动化框架目前已经基本完成了,于是进行一些总结,便于以后回顾温习,有许多不完善的地方,也遇到了许多的问题,希望大神们多多指教。下面我就进行今天的主要内容吧。 1、首先,我们先来理一下思路。 正常的接口测试流程是什么? 脑海里的反应是不是这样的: 确定测试接口的工具—> 配置需要的接口参数—> 进行测试—> 检查测试结果(有的需要数据库辅助)—> 生成测试报告(html报告) 那么,我们就根据这样的过程来一步步搭建我们的框架。在这个过程中,我们需要做到业务和数据的分离,这样才能灵活,达到我们写框架的目的。只要好好做,一定可以成功。这也是我当初对自己说的。 接下来,我们来进行结构的划分。 我的结构是这样的,大家可以参考下: common:存放一些共通的方法 result:执行过程中生成的文件夹,里面存放每次测试的结果 testCase:用于存放具体的测试case testFile:存放测试过程中用到的文件,包括上传的文件,测试用例以及数据库的sql 语句 caselist:txt文件,配置每次执行的case名称 config:配置一些常量,例如数据库的相关信息,接口的相关信息等 readConfig:用于读取config配置文件中的内容 runAll:用于执行case

Jmeter性能测试之JAVA脚本编写

Jmeter性能测试脚本编写 一。jmeter使用简介 简单点说,使用jmeter就是新建个Test plan 在test plan 下建个Thread Group ,Thread Group 下新建个simpler来发起请求,然后新建个listener,一般选择View Results Tree和Aggregate Report 来收集请求的结果数据,View Results Tree 侧重于单个请求的具体结果,Aggregate Report 侧重于多次请求后平均计算的数据结果 具体的步骤网上有很多文章,这里不再详细述说了 这里介绍一下同步定时器(Synchronizing Timer):在该定时器处,使线程等待,一直到指定的线程个数达到后,再一起释放。可以在瞬间制造出很大的压力。没错,它和loadrunner 的集合点(rendezvous point)差不多的功能。为什么要用这个组件呢?因为在线程组中设置的线程是依次去访问请求的,不是多个线程一起同步去访问的。要是想模拟线上的多个用户同时并发访问的情况, 最好使用Synchronizing Timer来设置一下。 Number of Simulated User to Group:模拟用户到组数,即设置组的用户数,达到该用户数后才进行接口的请求 Timeout in milliseconds :超时(毫秒),设置超时时间,即组在超时时间后达不到设置的线程数时,会丢弃继续请求

这些配置完成后,生成的是一个jmx为后缀的文件,里面的内容是xml格式文件,是这样的: 二。使用jmeter API 来构建自己的请求 一般来说,被压测的接口常用的就是那几种:http, socket,webservice,soap 这些,这些类型请求都可以使用各种不同的sampler来构建,

性能测试工具Jmeter的配置与使用

Jmeter的安装配置与使用 一、Badboy的安装 由于JMeter不支持录制,需要手工一点一点添加,所以对于新手可能很难做到位或是做好.现在常用的方法是使用Badboy录制,然后生成JMeter脚本,然后用JMeter打开,添加监听器来查看结果。所以首先安装Badboy软件 1、下载Badboy 通过Badboy的官方网站下载Badboy的最新版本. Badboy: https://www.360docs.net/doc/c34872783.html,.au/ 2、安装Badboy 安装Badboy如同一般的Windows应用程序一样,一路点”下一步”最后点”完成”就安装好了.安装完后在开始菜单及桌面都看不到,你需要到Badboy的安装目录下,找Badboy.exe,直接双击它即可启动Badboy. 3、启动Badboy 启动Badboy,你可以看到下面的界面.则说明Badboy软件安装成功 二、Jmeter的安装 1、下载Jmeter软件

官方下载地址: https://www.360docs.net/doc/c34872783.html,/site/downloads/downloads_jmeter.cgi 2、安装Jmeter软件 安装JMeter,只需简单的解压zip或tar文件到你想要安装的那个目录里。 前提要安装 JDK (这里使用 JDK 1.5.0 )配置环境变量 CLASS_PATH=”%JAVA_HOME%\bin;%JAVA_HOME%\lib\tools.jar;%JMeter\bin%” 三、Jmeter的使用 脚本的录制过程 刚已经说过由于jmeter自己的脚本录制较为复杂,所以建议用badboy软件进行jmeter脚本录制。 下面讲述如何运用badboy进行录制: 1、开启badboy 双击软件图标开启badboy即可看到以后界面: 2、开始录制 在地址栏(图中用红色框住部分)中输入你需要录制的Web应用的URL,并点击GO 按钮开始录制。开始录制后,你可以直接在Badboy内嵌的浏览器(主界面的右侧)中对被测Web应用进行操作,所有的操作都会被记录在主界面左侧的编辑窗口中:如下图所示

Jmeter实现接口自动化设计说明

Jmeter实现接口自动化设计说明 一、变量定义规则 1、全局变量:各个项目组负责人负责统一规划本项目的全局变量。用“配置元件”中的【用户定义变量】来设置,并置顶在所有线程组的最前方。 2、HTTP消息头:各个项目组负责人负责统一规划公共的HTTP消息头。用“配置元件”中的【HTTP信息头管理器】来设置,并放置在【用户定义变量】下方。 3、局部变量:如果每个接口中涉及到日期等局部变量,则由接口设计人员自行定义。用“前置处理器”中的【用户参数】来设置,放在该接口请求消息之前。 4、变量的定义规则建议为:全局变量所有字母大写且名称同接口参数定义,同时在描述中说明清楚该变量含义;局部变量所有单词首字母大写且名称同接口参数定义。 5、变量引用的规则为:直接${变量名}引用。 eg:${UID},${ACCOUNT} 二、用例分组及名称定义 1、以APP端模拟的实际操作为一个线程组。此操作可以由多个接口组成。针对每个接口进行用例设计。 2、每个接口用“逻辑控制器”中的【简单控制器】来汇总每个接口的测试用例设计。且建议每个【简单控制器】的命名即为需要测试的英文接口名称。 3、每个接口下面的测试用例,建议在接口名称的基础上,加上需要检查的重点字段来命名。eg:接口名_参数=值。如果为app类的接口,建议覆盖主要的重点参数检查。 4、注意如果是右击保存用例的时候需要从根节点处点击保存,即从【测试计划】处保存。如果选中单个【线程组】点击保存时,此时保存的是该线程组的用例。如果出现此情况时,可以使用右击合并的功能,将单个线程组合并到整个测试计划中去。 5、用例目录结构截图参考如下:

三、用例检查点设置 1、主要用jmeter的“断言”中的【响应断言】来判断用例的执行结果。一般参与响应文本中的包含模式,通过判断响应消息中是否包含预期的部分重点字段来判断这条用例的执行结果是否正确错误。响应断言中可以截取多个响应消息字段。 2、因为目前暂未想到完整的校验所有的响应消息,故jmeter的实现接口自动化,与华为的autospace的自动化工具有一定的差距。但从后台接口的基本功能验证的角度来看是可以满足当前使用的。 3、【响应断言】设置截图参考如下:

Jmeter进行http接口性能测试

Jmeter进行http接口性能测试 Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器,等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter 允许使用正则表达式创建断言。 一、测试需求描述 本次需求是用JMeter模拟三个http接口,并对三个接口进行压力测试,接口的详细信息接口规范文档中已经明确说明。第一个接口:获取进件号;第二个接口:发送用户通信详细内容;第三个接口:查询计算结果。 二、测试分析 1.逻辑分析 从接口规范文档分析,三个接口明显是有依赖关系的,第一个接口:获取到的进件号要传递到第二和第三个接口,第二个接口用户信息发送成功后,启动第三个接口查询计算的结果,查询计算结果时要循环查询,如果是计算没有完成即计算结果查询失败,一直循环查询直到查询成功。 2.测试工具的准备 多个接口测试,我们使用JMeter工具进行测试,下载最新的JMeter版本下载成功后解压安装,解压后找到bin目录,运行JMeter.bat,启动JMeter。 三、使用JMeter接口测试

1.首先添加一个线程组; 2.在线程组上添加一个Http请求,重命名“获取进件号”,根据接口文档,请求方式为 GET请求,填写相应的服务器地址和请求路径,端口号默认为80,编码格式为UTF-8; 这个Http请求的作用为获取进件号,并传递给第二和第三个接口。为了实现获取的进件号传递,添加了后置处理器->正则表达式处理器。

jmeter性能测试操作手册

JMeter性能测试实例 JMeter性能测试实例 (1) 一、测试目标 (1) 二、使用badboy工具录制登录脚本 (1) 三、Jmeter导入Login.jmx脚本 (2) 四、用户名的参数化 (3) 五、关联 (4) 六、添加监听器(Listener) (5) 七、运行脚本 (6) 八、结果分析 (8) 一、测试目标 1)测试目标网站是http://127.0.0.1:1080/WebTours/ 2)测试目的是得到该网站在100和500个虚拟用户并发登录网站 “http://127.0.0.1:1080/WebTours/”的平均响应时间,错误率,吞吐量,程序所在机器的CPU运行效率,memory占用大小 二、使用badboy工具录制登录脚本 打开badboy工具,点击工具栏上的红色圆形按钮,在地址栏中输入被测试项目的地址“http://127.0.0.1:1080/WebTours/”,录制登录过程

点击“跳转”后 进入登录页面 登录成功后 此时录制完成,点击工具栏上的红色圆形按钮结束录制。 选择"文件"--Export to Jmeter... 得到Jmeter脚本Login.jmx 三、Jmeter导入Login.jmx脚本Jmeter中打开Login.jmx脚本,得到如下目录树

四、用户名的参数化 参数化方式:添加--前置处理器--用户参数(勾选上每次迭代更新一次) 单击"http://127.0.0.1/WebTours/login.pl",将username的值改为${user}

五、关联 在“http://127.0.0.1/WebTours/nav.pl”请求下右击,选择添加--后置处理器--正则表达式提取器 正则表达式提取器的设置如下图显示: 单击"http://127.0.0.1/WebTours/login.pl",将userSession的值改为${session}

Ant+Jmeter自动化接口测试

Ant+Jmeter自动化接口测试 背景 最近在看Jmeter和接口测试,发现了几个问题,基于HTTP协议的接口测试实施起来很简单,但是怎么实施接口测试就是一个难点,而且接口测试如果不做成自动化,就纯粹靠手工执行,那么意义其实并不大。所以稍微看了一下Ant+Jmeter的组合,来实现自动化。 Ant驱动Jmeter 单独使用Jmeter来执行接口测试是非常简单的了,使用Ant来驱动Jmeter就需要些一个构建文件build.xml

接口自动化测试方案

接口自动化测试方 案

接口自动化测试方案 4月9日 文档编号:(V1.0) 目录 目录 1测试需求及范围 (3) 1.1测试目的 (3) 1.2测试需求 (3) 2测试方法 (4) 3测试工具及框架拓扑图 (4) 3.1测试工具 (4) 3.2自动化测试拓扑图 (4) 4流程示例 (4) 5测试环境 (6) 2.1硬件配置 (6) 2.2软件配置 (6) 6测试思路 (7) 6.1通用测试场景 (7) 6.2逻辑场景 (8)

6.3断言检查 (9) 1测试需求及范围 1.1测试目的 随着公司项目的不断增大,接口的服务随之增多,回归的任务量越来越大,需要对接口进行定时回归测试来保证系统的稳定性。 1.在开发提交新的接口前进行冒烟测试,以保证系统是能够正常开展测试的 2.功能测试完成/bug回归完成后进行回归测试,保证bug 修改完成后没有引入新的问题 1.2测试需求 1、当前提供的接口多为Rest 规范的接口,需要使用JMeter进行自动化接口测试,核对接口入参及返回报文格式、内容的正确性,最终经过Jenkins持续集成生成测试报告。 2、对开发人员的需求 接口文档的规范,如:输入输出模板,输出类型是否全面

2测试方法 根据开发人员提供的接口访问地址、入参格式、请求格式,进行接口请求数据拼接,并查看返回结果及返回报文、响应时间,检查返回Json内容是否符合接口定义规范,是否符合预期的返回结果。 3测试工具及框架拓扑图 3.1测试工具 Jemeter+Jenkins 3.2自动化测试拓扑图 4流程示例 测试数据从csv或者txt文件里读取,包含入参、出参、预期结果/断言

jmeter性能测试案例

JMeter基础之一一个简单的性能测试 发表于:2013-08-12来源:博客园作者:虫师点击数:80508标签:性能测试 上一节中,我们了解了jmeter的一此主要元件,那么这些元件如何使用到性能测试中呢。这一节创建一个简单的测试计划来使用这些元件。该计划对应的测试需求。1)测试目标网站是https://www.360docs.net/doc/c34872783.html, 和https://www.360docs.net/doc/c34872783.html, 上一节中,我们了解了jmeter的一此主要元件,那么这些元件如何使用到性能测试中呢。这一节创建一个简单的测试计划来使用这些元件。该计划对应的测试需求。 1)测试目标网站是https://www.360docs.net/doc/c34872783.html, 和https://www.360docs.net/doc/c34872783.html, 2)测试目的是该网站在负载达到20 QPS 时的响应时间。 QPS 解释 QPS : Query Per Second 每秒查询率。是一台查询服务器每秒能够处理的查询次数。在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。 为了达成预期的测目的,需要需要在jmeter中建立一个测试计划。因为本次测试仅要求完成对https://www.360docs.net/doc/c34872783.html, 和https://www.360docs.net/doc/c34872783.html, 两个博客首页请求,因此只需要使用HTTP Request Sampler 即可。 建立测试计划 启动jmeter后,jmeter会自动生成一个空的测试计划,用户可以基于该测试计划建立自己的测试计划。 添加线程组

一个性能测试请求负载是基于一个线程组完成的。一个测试计划必须有一个线程组。测试计划添加线程组非常简单。在测试计划右键弹出下拉菜单(添加 -->Threads(Users)--->线程组)中选择线程组即可。 jmeter中每个测试计划至少需要包含一个线程组,当然也可以在一个计划中创建多个线程组,那么多个线程组之间又会怎样的顺序执行(串行还是并行)?在测试计划下面多个线程是并行执行的,也就是说这些线程组是同时被初始化并同时执行线程组下的Sampler的。

Jenkins集成Jmeter进行Web自动化性能测试

Jenkins集成Jmeter进行Web自动化性能测试 By huangweihua Jenkins集成Jmeter进行Web自动化性能测试 (1) 一、安装Jmeter (2) 1.1下载解压版: (2) 1.2解压 (2) 1.3配置环境变量 (3) 1.4调试 (4) 二、安装badboy工具 (5) 2.1下载: (5) 2.2安装 (5) 三、录制Jmeter脚本 (6) 四、Jenkins集成Jmeter方式一:CMD来执行Job (13) 4.1下载插件 (13) 4.2新建一个Job (14) 4.3在Job里面增加一个构建步骤来执行压力测试 (14) 4.4在Job里面增加一个获取测试结果的步骤 (14) 4.5执行Job并查看结果 (15) 五、Jenkins集成Jmeter方式二:Ant来执行Job (16) 5.1、Ant安装 (16) 5.2、Jmeter的配置修改 (19) 5.3、编写build.xml (20) 5.3、Jenkins的Job配置 (25) 5.4、执行job并查看结果 (26) 问题 (28)

一、安装Jmeter 1.1下载解压版: 下载地址:https://www.360docs.net/doc/c34872783.html,/download_jmeter.cgi 1.2解压 我下载的是2.9版本,解压即可

1.3配置环境变量 新增JMTER_HOME变量 在path中增加Jmeter的的路径

1.4调试 在cmd里面输入:jmeter–h

二、安装badboy工具 badboy是录制Jmeter性能测试脚本的工具 2.1下载: 下载地址;https://www.360docs.net/doc/c34872783.html,.au/ 2.2安装 按步骤安装即可

Jmeter接口测试实例分享

Jmeter接口测试实例分享--Yahoo翻译机项目 1、创建JavaSampler测试用例 a)新建测试工程,在classspath中引入%Jmeter%\lib\ext下的ApacheJMeter_core.jar和 ApacheJMeter_java.jar b)创建测试类并继承抽象类AbstractJavaSamplerClient public class YahooTranslateServicePerfTest extends AbstractJavaSamplerClient{ private SampleResult results; private String content; private SupportedLanguage sourceLan; private SupportedLanguage destLan; private YahooTranslateServiceImpl service; private String res = null; private YahooTranslateDao dao; //初始化方法,每个线程仅执行一次,在测试方法运行前执行 public void setupTest(JavaSamplerContext arg0) { //实例化yahoo翻译服务,也可以通过spring注入的方式获得一个实例 service = new YahooTranslateServiceImpl(); try { //实例化翻译服务DAO对象,设置yahoo翻译机IP及端口数量 dao = new YahooTranslateDaoImpl("10.20.146.5:10"); } catch (InterruptedException e) { e.printStackTrace(); } service.setYahooTranslateDao(dao); } //设置传入的参数,可以设置多个,已设置的参数会显示到Jmeter的参数列表中 public Arguments getDefaultParameters() { Arguments params = new Arguments(); //定义一个参数,显示到Jmeter的参数列表中,第一个参数为参数默认的显示名称,第二个参数为默认值 params.addArgument("content", "apple"); //翻译内容 params.addArgument("sourceLan", "en"); //源语言 params.addArgument("destLan", "it"); //目标语言 return params; } //测试执行的循环体,根据线程数和循环次数的不同可执行多次,是最主要的脚本代码, //就如同http请求里的发送请求的关键脚本,返回的SampleResult作为一次请求的结果 public SampleResult runTest(JavaSamplerContext arg0) { //获取参数信息 content = arg0.getParameter("content", "apple"); sourceLan = SupportedLanguage.getLanguage(arg0.getParameter("sourceLan", "en")); destLan = SupportedLanguage.getLanguage(arg0.getParameter("destLan", "it")); results = new SampleResult();

Jmeter性能测试简介

Jmeter 性能测试简介 文档作者:胡丽霞 日期:2017/1/11

文档修订记录

1、概述 性能测试作为测试重要内容一致,其重要性不可忽略,然而性能测试的方式有很多,有些可以手工实现,有些需要借助工具。测试页面的响应时间我们可以使用Httpwatch,或者模拟大批量数据,自己估算时间,然而多个用户并发操作测试如果不借助工具似乎很难实现。业内提供了很多性能测试的工具,综合考虑,Jmeter 经济实用,并且容易掌握,应对简单的性能测试足以。 Jmeter可以对接口做功能测试以及性能测试,本文主要介绍Jmeter一些简单的性能测试操作。 2、适用对象 本文主要对Jmeter做简单的介绍,适用于测试人员使用此工具做接口简单的性能测试,同时也适合开发人员调试接口性能。仅为工具入门做参考。 3、工具介绍 3.1 工具下载 可以到Jmeter的官网下载最新版本:https://www.360docs.net/doc/c34872783.html,/ 或者可以用此安装包: apache-jmeter-3.1.zip 3.2 工具安装 此工具是一个免安装包,只需要将其解压,到bin目录下执行jmeter.bat文件即可打开工作界面,进行测试,如下图;Jmeter能够正常打开的前提是环境中需要有JDK。

3.3 Jmeter的工作界面 工具界面简洁明了,其中菜单栏中涉及的主要操作基本上提到了工具栏,当在工具栏中找不到对应操作时再返回菜单栏查找。 工作区域也分为工作目录树形结构和主要区域,树形目录方便归类查询,使用过程更便捷,管理更加便利。接下来在使用过程中介绍一些常用的操作。

3.4 Jmeter关键组件 3.4.1 组件的功能介绍 在树形菜单测试计划节点或者工作台节点点击右键,会出现如下一些组件: 以下做简单归纳: 1、Threads:这个组件主要用来控制Jmeter并发时产生线程的数量,在它的 下一级菜单下只有一个组件(线程组),可以这么理解每个线程就是一个虚拟的用户。所有的其他类型组件必须是(线程组)节点的子节点。我们测试就是从线程组开始的; 2、配置单元:和Sample组件一起工作,主要用来配置Sample如何来发起请 求访问服务器,这个东西的主要特点是可以把一些Sample的共同配置放在一个元 素里面方便管理,配置单元是有作用域的。作用域和树的那个关系一样越是上级节点的作用域越大,越是接近叶子节点的作用域就越小,可以复写上级作用域的配置; 3、定时器:这个主要是用来调节(线程组),控制线程每次运行测试逻辑(比如说:发出请求)的时间间隔。当然这个下面还有很多类型的定时器,他们主要功能就是调节时间间隔,但个个组件之间的策略有很大不同。 4、Sample :可能上图中没有出现Sample,需要在线程组上添加才可以,见 图

Jmeter性能自动化测试系列之参数化方法

Jmeter性能自动化测试系列之参数化方法 作者:大虫 Jmeter作为虽然作为一款和LoadRunner相媲美的性能测试工具,但参数化功能实在不咋地,这里我大概总结了一下Jmeter的参数化方法! 至于参数化的用途,我这里就不多说了,做测试的都明白吧!本文主要介绍最全、最强大的参数化方法,对参数化有一个彻底的认识,这里提供了多种参数化方法, 先看一下没有参数化的脚本:这里随便写一个Beanshell 作为测试代码!不懂代码的没关系,只要知道print 就是打印信息的意思~! 运行结果:按照代码中写死的:Hello,T est!输出!

1、Jmeter参数化之用户变量 在测试计划里面添加一个用户自定义的变量,变量名:tmpStr,变量值:你好,测试!或者新建一个用户自定义变量元件,来添加自定义变量,这里不做演示:

代码: print(vars.get("tmpStr")); vars 是Jmeter提供的一个全局变量对象,用户操作Jmeter中的变量! 运行结果如图所示: 2、Jmeter参数化之用户动态设置变量 通过脚本,可以随时注册Jmeter变量,这样就可以增加变量来源的灵活性! 代码: vars.put("tmpStr2","你好,祖国!");//动态注册一个变量tmpStr2 print(vars.get("tmpStr2")); 运行结果:前面的报错信息是因为Jmeter脚本框对中文的支持不是很好,这个不影响运行结果,对于这个错误,我也是无语,目前用的版本是:2.13 r1665067,只要在BeanShell

脚本框输入一个中文字符,保存的时候就会在控制台报一大堆错误!毕竟工具是老外开发,对中文还是有瑕疵啊! 3、Jmeter参数化之函数读取数据 随便选取了几个函数作为实例,函数具体参数和百度查询 __Random:生成随机数 __RandomString:生成随机字符串 __time:获取当前时间 __UUID:生成唯一UID __threadNum:线程ID __CSVRead:从文件中读取一列 _StringFromFile:从文件中读取一行 代码:

jenkins+ant+jmeter自动化性能测试平台

jenkins+ant+jmeter自动化性能测试平台 Jmeter是性能测试的工具,java编写、开源,小巧方便,可以图形界面运行也可以在命令行下运行。网上已经有人使用ant来运行,https://www.360docs.net/doc/c34872783.html,/projects/jmeter-ant-task/,既然可以使用ant运行, 那和hudson、jenkins集成就很方便了,而且jenkins上也有相应的插件Performance Plugin,可以自动收集jmeter的测试结果,展示出来。首先去下载jmeter,在2.8版本中测试通过,2.9版本测试未通过。下载ant-jmeter-1.1.1.jar 放在jmeter主目录lib文件夹下。下载需要的ant包,包含配置文件和一些jar包。里面的build.xml是配置文件,可以自定义。需要修改其中jmeter路径,然后直接ant运行即可。样例下载: https://www.360docs.net/doc/c34872783.html,/share/link?shareid=457243&uk=537055152

Jmeter性能测试工具使用总结

Jmeter 使用总结 1.下载 Apache JMeter是Apache组织开发的基于Java的压力测试工具。下载链接: https://www.360docs.net/doc/c34872783.html,/download_jmeter.cgi 2. 安装 Jmeter需要Java环境支持,首先配置系统JAVA环境变量。 Windows:解压apache-jmeter-ver.zip文件,运行bin目录下jmeter.bat文件启动。Linux:解压apache-jmeter-ver.zip文件,运行bin目录下jmeter.sh文件启动。 3. Jmeter主要组件简单介绍 a. 测试计划:Jmeter测试起点,是其他组件的容器。 b. 线程组:设置测试并发线程数量,迭代次数或者运行时长。 c. 配置元件:主要是配置信息,主要使用请求头信息、变量等。 d. Samler:指定发送的请求,所有的测试任务都在该组件完成。 e. 监听器:负责测试结果显示,支持把测试结果写入到文件。常用监听器:察看结果树, 显示请求和响应的细节,一般在测试脚本是否正确时使用;聚合报告:性能测试结果统计,显示总请求数,平均响应时间,错误率,TPS,数据传输速度等。 4. 使用Jmeter创建测试计划实例(以公有云为例) a. 运行bin目录下jmeter.bat文件启动Jmeter,界面如下 b.添加线程组并改名为Upload4KBObject。右键测试计划->添加->Threads->线程组。 c.给线程组添加Http信息头,并添加所需字段。

d. 给线程组添加Sampler,Http请求。 e.给线程组添加监听器,察看结果树。 f.运行该测试计划并察看结果树结果。

相关文档
最新文档