1.3.3通过MySQL参数化
1,mysql-connector-java-5.1.7-bin.jar放入%JMeter_HOME%\lib\ext\。然后重新启动JMeter。
2,Config Elements-> JDBCConnection Configuration
其中:
- Search:为连接JDBC Request的参数;
- jdbc:mysql://localhost:3306/sec中3306为mysql的端口号,sec为访问的数据库名。
- root为登录名
- 123456为密码,不明文显示。
3,Sample->JDBC Request
- Search必须与JDBCConnection Configuration一致
- name,password为查询参数的名称,通过Debug Sample可以看见:
name_#=5 name_1=cindy name_2=linda name_3=jerry name_4=susan name_5=peter password_#=5 password_1=123456 password_2=knyzh158 password_3=654321 password_4=qwert password_5=zxcvb
result为结果集,通过DebugSample可以看见:
result=[{name=cindy, password=123456}, {name=linda,password=knyzh158}, {name=jerry, password=654321}, {name=susan,password=qwert}, {name=peter, password=zxcvb}]
4,下面我们通过result来提取用户名和密码。
建立正则表达提取器
- 从变量result中获取。
- 获取完毕存入变量parm中。
- 正则表达提取式为:{name=(.*?),password=(.*?)}。
- 由于有两个变量,所以Template为:$1$$2$。
- 随机取数,Match No.输入:0
5,在POST请求中修改参数。
username、password分别为${parm_g1}、${parm_g2}。
6,运行
到此位置接口设置的部分结束,开始与性能相关的部分。
1.5 性能相关的设置
1. 设置线程组
- 50个在线用户,在5秒内加载完毕。测试持续600秒(10分钟),启动后5秒后开始执行。
2.设置无限循环
3. 在登录请求后加入同步集合点:Timer->Synchronizing Timer。
- 并发用户为5
- 4秒后,如果达不到并发条件,立即执行。
4. 同样在“查询商品”“查看商品详情”也加入同步集合点。
1.6 设置报表
1.6.1 Summary Report
Listener->Summary Report
1.6.2 Aggregate Report
Listener->Aggregate Report
1.6.3 Aggregate Graph
Listener->Aggregate Graph
Aggregate Graph比Aggregate Report多了个图显示
1.6.4 Response Time Graph
Listener->Response Time Graph
1.6.5 Graph Results
Listener->Graph Results
强烈要求在测试执行的时候不要打开报表,用命令行执行,然后产生执行报告后导入JMeter。
1.6 整体运行
1.6.1 仅运行登录
将“查询商品”“查看商品详情”吞吐量控制器设置为0%
查看Summary Repoer,仅有“登录页面”和“商品列表页面”
1.6.2 仅运行查询商品
“登录”并发设置为0
“查看商品详情”吞吐量控制器设置为0%。
1.6.3 仅运行查看商品详情
“登录”并发设置为0
“查询商品”吞吐量控制器设置为0%。
1.6.4 多场景运行
“查询商品”吞吐量控制器设置为80%。
“查看商品详情”吞吐量控制器设置为20%。
2 使用Http Put请求
1,打开Tomcat put请求,%TOMCAR_HONE%/conf/web.xml。
<servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>readonly</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>
2,启动WEB服务器
3,启动JMeter。Sample->Httprequest
4,运行,查看结果树。
Listener->View Result Tree
Sample->Debug Sample
3 上传多个文件
1,config Element->CSV Data SetConfig
2,修改Http request
3,增加循环次数
4,运行,查看服务器端