最近工作不怎么忙,自己自学了一下 Jmeter这个压测的软件,下面说下简单的测试
Jmeter安装配置
windows下jmeter下载安装
JMeter主要元件的作用域
配置元件(config elements):会影响其作用范围内的所有元件
取样器(sample):定义实际的请求内容,例如:http请求,ftp请求等
逻辑控制器(logic controller):
断言(assertion):对其作用范围内的每一个sample元件执行后的结果执行校验
监听器(monitor):收集其作用范围的每一个sample元件的信息并呈现
前置处理器和后置处理器:在每一个sample元件之前执行和在每一个sample元件之后执行
定时器:对其作用范围内的每一个sample元件之后执行
JMeter元件执行顺序
配置元件
前置
定时器
sample
后置
断言
监听器
如果在同一作用域范围有多个同一类的元件,则这些元件按照它们在测试计划中的上下顺序一次执行
实测例子
获取城市的天气数据
第一步: 发送request 获取城市的城市代号
http://toy1.weather.com.cn/search?cityname=北京
第二步: 发送request 到: http://www.weather.com.cn/weather2d/101020100.shtml 可以得到该城市的天气数据
新建一个线程组(Thread Group), jmeter的所有任务都必须由线程处理,所有任务都必须在线程组下面创建。
新建一个HTTP请求(HTTP Request)
发送一个Get 方法的http 请求: http://toy1.weather.com.cn/search?cityname=北京
选中新建的HTTP请求新建一个HTTP信息头管理器(Http Header manager). 添加一个header
添加一个结果树(View Results Tree)用来查看结果
运行查看结果
运行成功。
解决中文乱码
Jmeter问件--bin--jmeter.properties打开找到sampleresult.default.encoding= ISO-8859-1改为utf-8
乱码解决完成继续我们的测试
添加断言,和响应断言
选择HTTP Request, 右键 添加-> 断言 -> 响应断言. 添加 测试模型(Patterns To Test)
添加一个断言结果(Assetion Results) 用来查看断言执行的结果.运行
如果HTTP Response中没有包含期待的字符串 那么测试 就会Fail.
使用用户自定义变量
添加一个 User Defined Variables. 右键 添加-> 配置元件 -> 用户自定义的变量. 添加 自定义变量
在Http 请求中使用这个变量 使用方法${名称}
关联
关联就是第二个Requst, 使用第一个Request中的数据
我们需要在第一个Http 请求 中新建一个正则表达式,把Response的值提取到变量中,提供给别的Http 请求 使用
选择第一个Http 请求, 右键 添加-> 后置处理器 -> 正则表达提取器
创建第二个HTTP 请求
发送到: http://www.weather.com.cn/weather2d/${citycode}.html
${citycode} 中的数据, 是从Regular Expression Extractor 中取来的
运行
第一篇博客,写的不到之处大家多多包涵,一个工作一年多点的测试菜鸟