Jmeter测试实例
说明:测试某系统登陆功能,登陆中的验证码已被屏蔽,辅助工具Firebug。
1、打开被测系统准备好firebug,准备抓包登陆操作;
2、Firebug抓包,获取登陆提交表单相关信息
输入用户名密码,清除firebug中的数据,点击【保持】,进行登陆操作;
从firebug中可以看出,请求的方法为POST,请求参数中有个动态值lt,首先要解决的就是如何来获取lt的值;下面就用jmeter来模拟下登陆请求;
3、设置Jmeter配置
打开Jmeter,添加-线程组,线程组右键-添加-配置管理器:添加请求头信息管理、添加cookie管理器、请求默认值、用户自定义变量;为了养成个好习惯,这些配置要随时加上;
请求头信息管理:复制firebug头信息中的请求头信息到请求头信息管理中,删除里面cookie的内容,因为cookie信息可能是动态的,我们有cookie管理器来管理;
请求默认值:输入测试服务器的IP和端口号,默认值可以在后续请求中不用输入,省时省力;
用户自定义变量:设置用户名和密码,可以对用户名密码进行参数化,使脚本更灵活;
4、提取lt动态值
线程组右键-添加-sampler,HTTP请求,命名为“获取lt”,路径设置为firebug抓包中提交登陆的地址,参数先不设置,添加查看结果树;
回放脚本,查看数中的响应信息并搜索是否有lt相关信息;
果然在响应信息中找到了lt的信息,接下来需要用正则表达式将lt值提取出来;
添加正则提取:“获取lt”请求右键,添加-后置处理器-正则表达式提取器;
线程组右键,添加-sampler-debug sampler,名称输入lt=${lt},用于显示提取lt的值,查看是否提取成功;
回放Jmeter,查看结果树信息中,可以看到正则提取lt的值;
5、添加登陆请求
线程组右键-添加-sampler-HTTP请求,设置路径、请求方法和参数;
6、添加首页请求和断言
根据firebug抓包信息,输入首页请求路径和方法;
登陆成功后,首页会显示用户名,所以对首页进行断言;首页右键-添加-断言-响应断言,输入参数化的用户名;
7、运行Jmeter,查看结果
响应断言没有报错,首页结果中可以查看到登陆用户名,登陆成功。
如需要测试登陆并发,需要对用户名和密码进行参数化,设置线程组中的线程属性进行测试。参数化两种方式:一种是配置元件中的CSV Data Set Config,一种是函数助手中的_CSVRead函数,下次进行说明。
Jmeter测试实例的更多相关文章
- JMeter学习-026-JMeter 分布式(远程)参数化测试实例
以前文所述对文章详情的HTTP请求进行性能测试为例.日常实际场景中,不可能所有的人都在同时访问一篇文章,而是多人访问不同的文章,因而需要对文章编号进行参数化,以更好的模拟日常的性能测试场景.同时,因文 ...
- JMeter学习篇(一):测试实例讲解
1.JMeter的下载与安装 Jmeter官方下载地址:http://jmeter.apache.org/download_jmeter.cgi,下载jmeter是一个zip压缩包,解压后,直接运行a ...
- Jmeter 测试工具
Jmeter的基本概念 百度百科: Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可 ...
- Jmeter测试入门——带token的http请求
安装 官网下载地址:http://jmeter.apache.org/download_jmeter.cgi 下载完成后解压zip包 启动JMeter,双击JMeter解压路径bin下面的jmeter ...
- Jmeter测试工具
jmeter的简单应用 目录 jmeter的简单应用 1.Jmeter 的基本概念 2.我们 为什么 使用 Jmeter 3.Jmeter的作用 4.Jmeter怎么用 5.安装JAVA环境 6.Jm ...
- 用JMeter测试monggodb的请求
JMeter测试MongoDB性能有两种方式,一种是利用JMeter直接测试MongoDB[即通过MongoDB协议测试],另一种是写Java代码方式测试MongoDB[即通过java请求测试] 注: ...
- webservice测试实例
webservice测试实例(LR8.1) 接口声明:这个接口是sina的短信服务接口,我只是用来做脚本学习使用,不会对其产生压力:希望读者也只是用来进行录制学习,而不是产生压力. 接口文档:http ...
- JMeter学习(十九)JMeter测试MongoDB
JMeter测试MongoDB性能有两种方式,一种是利用JMeter直接进行测试MongoDB,还有一种是写Java代码方式测试MongoDB性能. 第一种方法 1.编写Java代码,内容如下: pa ...
- Jmeter测试webocket协议
Jmeter本身不支持websocket协议的,所以需要安装第三方的插件还有6个依赖包. 首先,我们需要准备Jmeter的WebSocket协议的支持插件: JMeterWebSocketSample ...
随机推荐
- bnu 4067 美丽的花环
http://www.bnuoj.com/bnuoj/problem_show.php?pid=4067 美丽的花环 Time Limit: 1000ms Case Time Limit: 1000m ...
- 一步一步实现web程序信息管理系统之三----登陆业务逻辑实现(验证码功能+参数获取)
本篇紧接着上一篇文章[一步一步实现web程序信息管理系统之二----后台框架实现跳转登陆页面] 验证码功能 一般验证码功能实现方式为,前端界面访问一个url请求,后端服务代码生成一个图片流返回至浏览器 ...
- HTML中的Head标签学习
在页面加载完成的时候,标签head里的内容,是不会在页面中显示出来的.它包含了像页面的<title>(标题) ,CSS(如果你想用CSS来美化页面内容),图标和其他的元数据(比如 作者,关 ...
- C++ 多线程编程实例【2个线程模拟卖火车票的小程序】
原文:http://blog.csdn.net/chen825919148/article/details/7904219 核心提示:从网上搜集来的非常基础的C++多线程实例,刚入门的可以看看,希望能 ...
- MUI框架-02-注意事项-适用场景-实现页面间传值
MUI框架-02-注意事项-适用场景-实现页面间传值 关于开发,我拷贝太多也没什么意义,就请查阅:官方文档:http://dev.dcloud.net.cn/mui/ui/ 快速入门 - 注意事项 有 ...
- 应用程序和Activity
Android 应用程序的组成部分 Android应用程序由各个组件组成,并使用Manifest绑定到一起,Manifest描述了每一个组件和它们之间的交互方式,还用于指定权限,硬件,平台以及应用程序 ...
- org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): cn.gaiay.business.helper.dao.LiveRegenrationRecordMapper.insert
原因分析: 字段名称.报名.类名 对应不上 ,比如colomn和property属性 反了.. 按以下步骤一一执行: 1:检查xml文件所在的package名称是否和interface对应的packa ...
- CPU纯软件半虚拟化技术
在2003年出现的Xen,使用了另外的一种半虚拟化的方案来解决x86架构下CPU的敏感指令问题.主要采用Hypercall技术.Guest OS的部分代码被改变,从而使Guest OS会将和特权指令相 ...
- FTP上传和WEB上传的区别
说区别之前,咱先说说什么是上传?上传就是将信息从个人计算机(本地计算机)传递到中央计算机(远程计算机)系统上,让网络上的人都能看到.将制作好的网页.文字.图片等发布到互联网上去,以便让其他人浏览 ...
- Linux bash内置命令集
man cd -->查询不到,所以会提示bash的内置命令 . alias bg bind break builtin caller cd command compgen complete c ...