文章目录
一、设置语言
二、新建线程组
新建一个Thread Group (线程组),jmeter的所有任务都必须由线程处理,所有任务都必须在线程组下面创建。
这里将线程数设置成50,作为演示测试:
三、添加HTTP Request(http请求),设置相应参数
右击线程组–>添加–>采样器–>HTTP请求
设置服务器IP、端口号,http 请求的方法、路径,上传的参数、文件等配置信息。
比如我要发送一个Get 方法的http 请求:
http://www.weather.com.cn/weather1d/101020100.shtml#search
http://www.weather.com.cn/weather1d/101010100.shtml#input
http://toy1.weather.com.cn/search?cityname=上海
按下图这个填写;
四、添加监听器:“察看结果树”、“断言结果”、“断言持续时间
添加HTTP Head Manager
选中上一步新建的HTTP request. 右键,新建一个Http Header manager. 添加一个header
如下图步骤1,2设置。这里主要是设置信息头存储在信息管理器中的名称
和值
,新建的Header
值:http://www.weather.com.cn
四、添加监听器:“察看结果树”、“断言结果”、“断言持续时间”
用于查看测试结果:
五、点击运行查看结果
1.Label:每个Jmeter的element都有一个Name属性,这里显示的就是Name属性的值
2.#Sample:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100
3.Average:平均响应时间-默认情况下是单个Request的平均响应时间当使用了Transaction Controller 时,也可以以Transaction为单位显示平均响应时间
4.Median:中位数,50%用户的响应时间
5.90%Line:90%用户响应时间
6.Min:最小响应时间
7.Max:最大响应时间
8.Error%:本次测试中出现错误的请求的数量/请求的总数
9.Throughput:吞吐量-默认情况下白石每秒的请求数
10.KB/sec:每秒从服务器端接收到的数据量
现在看到的数据是json形式
六、添加Assertion和Assert Results(创建响应式断言)
选择HTTP Request, 右键 Add-> Assertions -> Response Assertion. 添加 Patterns To Test
中文界面下:
然后添加一个Assetion Results 用来查看Assertion执行的结果.
选中Thread Group 右键 Add -> Listener -> Assertion Results.
运行后, 如果HTTP Response中没有包含期待的字符串。 那么test 就会Fail.
此时Assertion Results中
七、 使用用户自定义变量
我们还可以在Jmeter中定义变量。 比如我定义一个变量叫 city. 使用它的时候用 ${city}添加一个 User Defined Variables.
选中Thread Group: 右键 Add -> Config Element -> User Defined Variables.
我们添加一个变量: city
然后在Http Request中使用这个变量
八、关联
所谓关联, 就是
第二个Requst, 使用第一个Request中的数据
我们需要在第一个Http Requst 中新建一个正则表达式,把Response的值提取到变量中,提供给别的Http Request 使用
选择第一个Http Request, 右键 Add -> Post Processors -> Regular Expresstion Extractor
要填的几个量,这里直接给大家,方便大家copy:citycode 、 (\d{9}?)~.*?~上海 、 $1$ 、0
现在新建第二个Http Request, 发送到: http://www.weather.com.cn/weather2d/${citycode}.html
${citycode} 中的数据, 是从Regular Expression Extractor 中取来的
到这, 脚本就全部写好了, 运行下,看下最终结果