1 搭建ebusiness场景
1.1录制
1,打开Window IE浏览器代理
2,启动ebusiness服务
3,打开JMeter,右键点击 Test Plan->Add->Threads(user)->Thread Group 添加一个线程组
4,Thread Group->Add->ConfigElement->Http request Default
5,如图设置
6,右键点击 Test Plan->Add->Non-test Elements->Http(s) Test ScriptRecorder 添加HTTP代理服务器
7,如下图进行修改
8,加上过滤
(?i).*\.(bmp|css|js|gif|ico|jpe?g|png|swf|woff|woff2)
9,点击start开始录制
10,录制完毕出现如下图所示
11,删除不需要的,修改一下名称
12. 把Simple Control换为LoopControl,
13,把编码改为utf-8
14,删除“HTTP(S) Test Script Recorder”。
15,删除“HTTP Header Manager”。
16,在头部加入“HTTP Header Manager”
17,在头部加入“HTTP Cookie Manager”
注意:一定必须为“标准(standard)”。
18,由于“登录验证界面”验证通过后自动进入“商品列表页面”,删除“商品列表页面”,然后调整一下“登录验证界面”。
19,关闭“HTTP Request Defaults”
20,加上“查看结果树”“Debug Sample”执行下脚本,进行验证。
Sample->Debug Sample
Listener->View Result Tree
运行
查看是403错误,没有权限。
1.2处理csrftoken
1.添加正则表达提取器:PostProcessors->Regular Expression Extractor
2. 添加cookies:Config Elements-> HTTP Cookies Manager
3. POST参数也是这样也用这个参数
4. 设置响应断言:Assertion->Response Assertion
5. 试运行
6. 设置BeanShell断言:Assertion-> BeanShell Assertion
response = prev.getResponseDataAsString(); Failure = true; if (response.contains("电子商务系统")){ Failure = false; }else{ FailureMessage="响应内容中没有找到电子商务系统"; }
1.3 多场景
1. 获得csrftoken
2.设置csrftoken
3. 建立两个Throughput Controller:Logic Controller->ThroughputController,分别为“查询商品”“查看商品详情”。用户分配分别为:
二者与“登录界面”“商品列表界面”处于同等位置。
5. 建立“查询商品”事务。
6,建立验证查询商品是否成功
通过验证是否进入到/search_name/目录下。
7. 建立“查看商品详情”事务。
通过${__Random(1,5,num)}随机查看编号为1、2、3、4、5的商品。
8. 加入验证
9. 设置线程为2
10.设置循环5次
11. 加入Summary Report
12. 运行
13.“查询商品”“查看商品详情”符合设置比例,是否符合预期的80%和20%。
1.4参数化
1.3.1使用cvs参数化
建立参数文件:user.dat
linda,knyzh158 cindy,123456 jerry,654321 susan,qwert peter,zxcvb
加入参数化:Config Element->CSVData Set Config
- user.dat为文件名。
- UTF-8为编码格式。
- username,password为获取后的参数。
- ,为分割符号。
2.修改POST参数
3. 设置Loop Control循环次数为5
4. 试运行
并且通过Debug Sample查看参数是否正确。
- username=peter
- password=zxcvb
1.3.2 使用函数助手做参数化
1,点击
进入函数助手
2,选择random
产生从0-2之间的整数
3,建立type.txt
茶,测试,包
4,选择csvread函数
- type.txt为参数文件
- ${__Random(0,2,num)}为0,1,2随机之间任意一个随机数。
5,在查询商品页面进行参数化,
- 查询参数为${__CVSRead(type.txt, ${__Random(0,2,num)})}
6,试运行,通过Debug Sample查看参数是否正确。