Jmeter创建一个web测试计划
1. 下载Jmeter
下载地址:http://jmeter.apache.org/download_jmeter.cgi
下载后解压到你想“安装”的路径下,比如:
D:\Program Files (x86)\Jemter\apache-jmeter-2.11
2. 配置环境变量
新建JMETER_HOME系统环境变量,值设置为Jmeter所在的路径,
D:\Program Files (x86)\Jemter\apache-jmeter-2.11
注意:JMeter JVM兼容版本为JVM6或更高版本
3. 运行Jemeter
双击bin目录下的jmeter.bat,打开界面
4. 创建测试计划
测试计划描述了Jmeter运行时会执行的一系列步骤
创建web 测试计划
步骤1:添加用户
添加一个线程组(Thread Group)元素,线程组元素告诉Jmeter你想模拟的用户数量,用户发送请求频率及发送请求数。
右键测试计划,添加线程组(Add --> ThreadGroup)
添加线程组后
说明:
线程数(Number of Threads(users)):也就是要模拟的用户数
Ramp-Up Period(in
seconds):告诉Jmeter开启每个用户之间的时间间隔。如果我们有5个用户,并设置Ramp-Up Period(in seconds)为5秒,那么开启每个用户的时间间隔为1秒(5 users / 5 seconds = 1 user per second)。如果你设置为0,那么Jmeter将立即开启所有用户(线程)。
循环次数(Loop Count):告诉Jmeter重复运行多少次测试。如果选择永远(Forever),那么将一直重复运行。
设置后
备注:Jmeter的设置是即时保存的
步骤2:添加默认的HTTP请求属性
定义用户将要执行的任务(这里可采用默认设置)
右键线程组,添加默认的HTTP请求默认值(Add --> Config Element -->
HTTP Request Defaults)
服务器名称或(Server Name Or IP). 对于你创建的测试计划来说,所有http请求将发送到该服务器。
例中,测试仅填写域名,jmeter.apache.org,如下,其它保留默认值
步骤3:添加Cookie支持
几乎所有的web测试都应该使用cookie支持,除非应用程序特地指明了不使用cookie。仅需添加一个HTTP Cookie管理器(HTTP Cookie Manager)来添加cookie支持。这将保证每个线程可以获得自己的cookie,但是cookie为所有HTTP请求对象共享。
右键线程组,添加HTTP Cookie Manager(Add --> Config Element --> HTTP Cookie Manager)
步骤4:添加HTTP请求
右键线程组,添加http请求(Add --> Sampler --> HTTP Request)
例中,添加2个http请求。第一个:Jmeter主页(http://jmeter.apache.org/), 第二个:Changes页面(http://jmeter.apache.org/changes.html).
Jmeter按它们出现在左侧树中的顺序发送请求。
设置路径(Path): /
记住:没必要再设置服务器名(Server Name),你已经在HTTP Request Defaults元素中设置了该值。
添加第二个请求
步骤5:添加一个监听器来查看保存的测试结果
监听器是你最后需要添加一个元素.该元素负责将所有HTTP请求结果存储在一个文件中并且以可展示视化数据模型.
右键线程组,添加图形结果监听器( Graph Results listener) (Add --> Listener --> Graph Results).
然后,指定目录和输出文件名
备注:输入不存在的文件名,打开时会报错,但是不影响。测试完成后自动新建指定的文件并保存数据。
运行
步骤6:登录网站
这本与案例无关,但是有些web站点要求执行特定操作前必须先登录网站。在一个web浏览器中,登陆表现为代表用户名和密码的表单以及提交表单的按钮。点击提交按钮时,生成一个POST请求,把表单项的值作为参数传递。
为了实现登录,添加一个HTTP请求,并设置方法为POST。需要知道表单使用的域的名称及目标页面,这可以通过检查登录页面的的代码中查找到【如果你觉得这很难,你可以用Jmeter
Proxy Recorder录制登录操作】。
如下,设置提交按钮的目标页面的路径,点击添加按钮,输入用户名和密码详细信息.有时候登录表单会包含隐含信息,这些也需要添加
高级设置
1. 使用HTTP URL Re-writing Modifier
如果你的web应用程序使用了URL重写技术,而不是使用会话cookie,那么需要做点额外的工作来测试你的网站。
Jmeter需要解析从服务器下载的HTML并接收唯一的会话ID来正确响应URL重写。使用合适的 HTTP URL Re-writing Modifier来完成这个任务。
简单的在修饰符中输入会话ID参数名,它将查找给定参数并将参数添加到每个请求中,如果请求已经拥有参数值了,则将替换原有参数值。. 如果勾选“Cache Session ID?”(是否缓存会话ID),那么最后一次缓存的会话ID将被保存,并且如果前一个HTTP实例没包含会话ID,那么将使用该会话ID
注意:
1.URL Re-writing modifier添加到简单控制器(SimpleController),这样,它仅影响位于SimpleController下的请求.
说明:
如果勾选【路径扩展(使用”;”作为分隔符)】复选框,那么意味着会话ID应该作为路径的一部分(由一个”;”分割),而不是一个请求参数
2.使用请求头管理器(Header
Manager)
HTTP Header Manager让你可以自定义Jmeter在HTTP request header中发送的信息。 请求包含类似"User-Agent", "Pragma",
"Referer"等等属性
The HTTP Header Manager , 类似 HTTP
Cookie Manager , 应该添加到线程组,除非出于某些原因,你想为不同的HTTP请求对象指定不同的请求头。
Jmeter创建一个web测试计划的更多相关文章
- 翻译二--创建一个Web测试计划
这里主要是翻译jmeter官方文档第4章:创建一个基本的测试计划来测试一个网站.你将创建5个用户来发送请求给两个页面,同时,你将告诉用户去执行两次测试.所以,请求的总和是5(users)*2(requ ...
- jmeter 构建一个Web测试计划
添加用户 第一步你想做的每一个JMeter测试计划是添加一个 线程组 元素. 线程组告诉 JMeter的用户数量你想模拟,用户应该发送的次数 请求,请求他们应该送多少. 继续添加ThreadGroup ...
- Jmeter(五) - 从入门到精通 - 创建网络计划实战和创建高级Web测试计划(详解教程)
1.简介 上一篇中宏哥已经将其的理论知识介绍了一下,这一篇宏哥就带着大家一步一步的把上一篇介绍的理论知识实践一下,然后再说一下如何创建高级web测试计划. 2.网络计划实战 通过上一篇的学习,宏哥将其 ...
- jmeter 构建一个数据库测试计划
添加用户 第一步你想做的每一个JMeter测试计划是添加一个 线程组 元素. 的线程组 告诉JMeter的用户数量你想模拟,用户应该多长时间 发送请求,他们应该发送的请求的数量. 继续添加Thread ...
- C#中自己动手创建一个Web Server(非Socket实现)
目录 介绍 Web Server在Web架构系统中的作用 Web Server与Web网站程序的交互 HTTPListener与Socket两种方式的差异 附带Demo源码概述 Demo效果截图 总结 ...
- eclipes创建一个web项目web.xml不能自动更新的原因(web.xml和@WebServlet的作用)
在eclipse中创建一个Web项目的时候,虽然有web.xml生成,但是再添加Servlet类文件的时候总是看不见web.xml的更新,所以异常的郁闷!上网查了查,原来我们在创建Web项目的时候,会 ...
- 002.Create a web API with ASP.NET Core MVC and Visual Studio for Windows -- 【在windows上用vs与asp.net core mvc 创建一个 web api 程序】
Create a web API with ASP.NET Core MVC and Visual Studio for Windows 在windows上用vs与asp.net core mvc 创 ...
- 【重点突破】——使用Express创建一个web服务器
一.引言 在自学node.js的过程中有一个非常重要的框架,那就是Express.它是一个基于NodeJs http模块而编写的高层模块,弥补http模块的繁琐和不方便,能够快速开发http服务器.这 ...
- 【LINUX】——linux如何使用Python创建一个web服务
问:linux如何使用Python创建一个web服务? 答:一句话,Python! 一句代码: /usr/local/bin/python -m SimpleHTTPServer 8686 > ...
随机推荐
- 4、Linux常用命令
1.查看端口占用(8080) lsof -i:8080 2.杀死进程PID kill -9 41726 3.查看防火墙状态 firewall-cmd --state 4.停止防火墙 systemctl ...
- QQ群成员发言次数统计(正则表达式版)
1.先将QQ群的消息记录以.txt文件格式导出来,保存路径及名称自己定义(在本文我导出到Y盘,命名为test.txt) 2.程序如下: data statistics1; if _n_=1 then ...
- Excel技巧--做一去重复的数据下拉列表
当我们有一数据列表(内含重复数据),将该数据做成如下图的下拉列表: 可以这样做: 1.选中该标题行,按ctrl+shift+下方向键,将该列有数据的区域选中: 2.点击“数据”—>删除重复项: ...
- ylbtech-协议-网络-安全协议:HTTPS
ylbtech-协议-网络-安全协议:HTTPS HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext ...
- finstrument-functions
2017-12-03 23:59:16 参考 如何快速地在每个函数入口处加入相同的语句? https://www.zhihu.com/question/56132218 做个存档 scj@scjCom ...
- 备份与还原mysql 数据库的常用命令。
一.备份数据: Mysqldump常用命令: mysqldump -u用户名 -p密码 --databases 数据库1 数据库2 > xxx.sql 常见选项: -u: 用户名 -p: 密码 ...
- 转的,具体 https://www.cnblogs.com/icyJ/p/FreeShare.html
网络资源下载网址 屏幕录像.图像处理,汉化和破解版本很新.国内破解汉化:大眼仔旭 http://www.dayanzai.me/ 开发工具,系统,数据库 http://msdn.itellyou.cn ...
- C# 调用Tesseract实现OCR
介绍 Tesseract是一个基于Apache2.0协议开源的跨平台ocr引擎,支持多种语言的识别,在Windows和Linux上都有良好的支持. 创建工程 创建一个C#的控制台工程 添加System ...
- shell循环(两个日期比较,改变某个特定日期来改变当前比较值)
需求:从当前时间前6个月开始执行某个语句,直到执行到当前日期的前一天. shell脚本如下: #!/bin/bash yesterday=`date -d -1day +%Y%m%d` sixmon ...
- for...in的改进版for...of
for...in 用起来似乎还不错,为什么又弄个 for...of 呢? 来看个例子: 'user strict' var arr = [12,13,14,15,16]; for(var i in a ...