jmeter在工作中测试项目的研究

1、创建测试计划

2、新建线程组

3、用户定义变量,当前线程组内的请求都有引用${变量名称},可以设置服务器名称等值。

jmeter在工作中测试项目的研究4、一个测试计划内最好只有一个cookie manager,我这个设置的是每次清除cookie,特意网上查了一下说是有的请求跟cookie有关系,需要从cookie中取值使用。

jmeter在工作中测试项目的研究5、设置http默认请求的服务器,在以后的请求里可以不设置服务器

jmeter在工作中测试项目的研究6、添加计数器,生成学生的数量

注:与每用户独立的跟踪计数器(Track Counter Independently for each User):换言之,这个是全局的计数器,还是说每个用户拥有自己的计数器。如果不勾选,即全局的,比如用户#1 获取值为1,用户#2获取值为2,如果是独立的,即不勾选,每个用户有自己的值,比如用户#1 获取值为1,用户#2获取值还是为1

jmeter在工作中测试项目的研究7、循环控制器,设置循环的次数,这里可以设置一个学生,循环进行多次考试

jmeter在工作中测试项目的研究8、因为有不同的学生进行考试,所以这里请求参数引用了学生计数器中变量 ${stu}

jmeter在工作中测试项目的研究

9、学生进入考试页面后,我们从响应信息中了解到接下来考试操作,需要点击开始考试1这个按钮,而这个按钮的链接正好可以在,响应体中提取出来提取path路径,需要添加后置处理器中的正则表达式提取器,提取的规则如下<a href="(.+)" target="_blank">开始考试1</a>

jmeter在工作中测试项目的研究10、创建http请求,进行点击开始考试1按钮操作,而这个路径就是引用刚才提取到的变量&{startExam}jmeter在工作中测试项目的研究请求开始考试后,响应体会返回获取试卷的url,以及学生的信息

jmeter在工作中测试项目的研究添加后置处理器中的正则表达式提取器,提取学生id的规则如下new ExamObj\(\d+?,'(.+?)',

jmeter在工作中测试项目的研究添加后置处理器中的正则表达式提取器,提取试卷路径的规则如下iframe.prop\('src','(.+?)'\);

jmeter在工作中测试项目的研究11、创建http请求,请求试卷的信息

jmeter在工作中测试项目的研究通过抓包工具,分析试卷信息的响应结果

jmeter在工作中测试项目的研究添加后置处理器中的正则表达式提取器,从响应结果中提示试题id,提取规则class=".*?" id="q_(.*?)" code=".*?"

jmeter在工作中测试项目的研究添加后置处理器中的正则表达式提取器,从响应结果中获取考题顺序,提取规则id=".*?" code="psq_(.*?)">这个顺序号后续测试我也没有用到

12、接下来就是进行答题操作,因为这里分析了一下试卷(我这里只能针对这一套题操作),前25个题目都是选择题,所以添加了一个foreach控制器,qNum就是上面获取的题目id

jmeter在工作中测试项目的研究创建http请求,进行答题操作,答题url中要求有学生的id和做题序号,所以学生的id信息就是从刚才进入开始考试以后获取到的/exam/student/exam/myanswer/save/${userExamid}/${n}答题参数如下设置,这里就能执行25次了相当于做了25个单项选择题

jmeter在工作中测试项目的研究接下来是主观题作答,这个地方可能我写的不对,但是实现可以做完全部简答题首先我设置了一个循环控制器来控制做题的数量,因为主观题有13个,我就设置执行13次

jmeter在工作中测试项目的研究因为上面只设置了循环次数,但是做题的题目id还是要每一次给请求,所以我又添加了一个计数器,来控制这个题目的id从26题开始到38题结束。

jmeter在工作中测试项目的研究创建http请求进行主观题作答,请求参数同样要有学的id和题目序号/exam/student/exam/myanswer/save/${userExamid}/${zn}

jmeter在工作中测试项目的研究13、提交试卷请求

jmeter在工作中测试项目的研究14、完成试卷

jmeter在工作中测试项目的研究15、查看考试记录,这个跟提交考试1操作类似,也是在进入考试界面以后,通过正则表达式获取考试记录的URL

jmeter在工作中测试项目的研究

请求考试记录页面引用以上提取到的url路径

jmeter在工作中测试项目的研究

16、查看结果树、聚合报告

17、在每次发出http请求操作后,都有添加一个断言操作,才能判断响应结果对不对如

jmeter在工作中测试项目的研究

18、Jmeter导出报告

在你的脚本文件路径下,执行cmd命令:jmeter -n -t test.jmx -l result.jtl -e -o /tmp/ResultReport 

参数说明:
● -n: 非GUI模式执行JMeter
● -t: 执行测试文件所在的位置
● -l: 指定生成测试结果的保存文件,jtl文件格式
● -e: 测试结束后,生成测试报告
● -o: 指定测试报告的存放位置