1、在使用Jmeter添加线程组(性能测试单场景涉及的API均添加到此线程组):
(Test Plan)-> Add Thread Group;
2、向线程组添加HTTP Request(协议、方法、url、path、request body):
(Tread Group)->Add Sampler HTTP Request
3、给request增加头部(request header:如Authorization、Content-type等):
(HTTP Request)->Add Config Element -> HTTP Header Manager;
4、线程组(场景的请求组合)增加观察树(用于监听压测过程中的实时结果,包含发出的request、返回的response等):
(Thread Group)-> Add Listener -> View Results Tree
那么,有了以上三步,我们一个简单的压测基本轮廓已经完成,这时,我们需要思考,有了对观察树的监听来跟进测试结果,那我们具体的通过指标也就是预期结果是什么呢?于是,需要对每个请求增加相应的断言来map返回结果是否正常。
5、给Request增加断言:
(HTTP Request)-> Add Assertions -> Response Assertion
Response Assertion 界面我们得到了以上的界面:重点分为apply to、Field to Test、
(1)apply to(断言的应用范围):
Main sample only: 仅当前父取样器 进行断言,一般一个请求,如果发一个请求会触发多个,则就有sub sample(比较少用)
(2) Fields to Test (要测试的响应字段)
最佳方法是先运行以下线程组,在View Results Tree中查看具体成功的Response,再使用Response给相应的Http Request增加断言。
响应文本(Text Response最常用):即响应的数据,比如json等文本。
响应代码(Response Code慎用,许多有业务意义的接口不建议用,虽然status code是200,但是实际上返回了业务失败):http的响应状态码,比如200,302,404这些
响应信息(Response Message):http响应代码对应的响应信息,例如:OK, Found
Response Header: 响应头
(3)Pattern Matching Rules(模式匹配规则)
包括(最常用):包含在里面就成功
匹配:响应内容完全匹配,不区分大小写
equals:完全匹配,区分大小写
(4)Patterns to Test(返回断言的内容)
填具体期望的结果即可。
综上, Most Recommend 建议使用:Text Response + Contains
6、监听线程组压测过程中实际的断言结果:
(Thread Group)-> Add Listener -> Assertion Results
网友评论