网站搜索功能怎样做护肤品网站建设分析
- Jmeter直连数据库
直接数据库的使用场景

 
直连数据库的关键配置
- 添加MYSQL驱动Jar包
 
方式一:在测试计划面板点击“浏览”按钮,将你的JDBC驱动添加进来
方式二:将MySQL驱动jar包放入到lib/ext目录下,
重启JMeter
配置数据库连接信息
- 添加方式-测试计划->线程组->(右键添加)配置元件JDBC Connection Configuration
 
Variable Name:mysql数据库连接池名称(JDBC请求时要引用)
Database URL:
jdbc:mysql://localhost:3306/tpshop2.0 - 组成:
协议+数据库IP+数据库端口+连接的数据库名称 - JDBC DRIVER class:
com.mysql.jdbc.Driver(MySQL驱动包 位置固定格式---- 下拉框) - Username:root(连接数据库用户名,如实填写)
 - Password:(MySQL数据库密码,如实填写,如果密码为空不写)
== 添加JDBC请求==
- 添加方式:测试计划—线程组—取样器—JDBC Request
 
Variable Name :数据库连接池的名字,需要与JDBC Connection Configuration的Variable Name Bound pool名字保持一致
练习1:
1、连接tpshop商城数据库获取商品名包含:小米手机5的商品id
准备工作:
1.启动tpshop数据库服务器
2.添加MySQL驱动jar包
操作步骤:
- 添加线程组
 - 添加 JDBC Connection Configuration
 
- 添加 JDBC Request
 
- 添加查看结果树
 
练习2:
1、在tpshop首页中搜索商品名称包含"小米手机5",
请求url:http://192.168.234.129/Home/Goods/search.html
请求方法:GET
请求参数:q=“小米手机5”
2、 在搜索的响应数据中检查是否有该商品对应的商品链接:/Home/Goods/goodsInfo/id/237.html
(id:237需要通过数据库查询返回,才保证每次都是有效的)
编写JDBC脚本步骤(搜索指定商品,在返回结果中检查是否包含指定商品的ID的详情 URL):
- 1.添加线程组
 - 2.添加 JDBC Connection Configuration
 
- 3.添加 JDBC request
 
- 4.添加 HTTP请求 - 搜索商品
 
- 5、断言响应数据是否包含指定商品的ID详情url(预期结果的商品id从数据库获取)
 
- 查看结果树
 
-  
Jmeter逻辑控制器
 -  
如果(If)控制器
 
作用:If控制器用来
控制它下面的测试元素是否执行位置:测试计划–>线程组—>(右键添加)逻辑控制器—>如果(If)控制器
参数介绍:
练习:
1.使用“用户定义的变量”定义一个变量name,name的值可以是“baidu"或”itcast"
2.根据name的变量值实现对应网站的访问。
操作步骤:
1.添加线程组
2.用户定义的变量
3.添加If控制器,判断name是否等于baidu
4.添加HTTP请求,用来访问百度
5.添加If控制器,判断name是否等于itcast
6.添加HTTP请求,用来访问传智播客
7.添加查看结果树
小结
(1) IF控制器的作用是什么?
- 来
 控制它下面的测试元素是否执行(2)使用“iF控制器” 的操作步骤?
- 1.添加线程组
 - 2.用户定义变量
 - 3.添加if控制器,判断name是否等于“baidu”
 
- 不勾选Interpret Condition,
 “${name}”==“baidu”- 勾选,
 ${__jexl3("${name}"=="itcast",)}- 4.添加HTTP请求,访问百度
 - 5.添加if控制器,判断name是否等于“itcast”
 - 6.添加HTTP请求,访问itcast
 - 7.查看结果树
 
- 循环控制器
 
作用:
通过设置循环次数,来实现循环发送请求位置:测试计划–>线程组–(右键添加)逻辑控制器—>循环控制器
参数介绍:
案例:1.循环访问百度10次
操作步骤:
1.添加线程组
2.添加循环控制器----
设置循环次数
3.添加HTTP请求
4.添加查看结果树
小结
思考:线程组属性可以控制循环次数,那么循环器有什么用?
控制的
作用域不同:线程组控制是线程组下的所有请求,循环控制器控制逻辑控制器下的所有请求如果线程组循环次数为M,循环控制器循环次数为N:
- 循环控制器下的HTTP请求运行:
 M*N次- 线程组下的其他HTTP请求运行:
 M次
- ForEach控制器
 
作用:一般和
用户自定义变量或者正则表达式提取器一起使用,读取返回结果中一系列相关的变量值。该控制器下的取样器都会被
执行一次或多次,每次读取不同的变量值。位置:测试计划—>线程组—>(右键添加)逻辑控制器—>ForEach控制器
练习:
1.有一组关键字[hello,python,测试],使用用户定义的变量存储
2.要依次取出关键字,并在百度搜索,例如:https://www.baidu.com/s?wd=hel
步骤:
1.添加线程组
2.添加用户自定义的变量
3.添加ForEach控制器
4.添加HTTP请求
查看结果树
小结
(1)forEach控制器的作用是什么?
- 作用:一般和
 用户自定义变量或者正则表达式提取器一起使用,读取返回结果中一系列相关的变量值。(2)使用“ForEach控制器”的操作步骤?
- 1.添加线程组
 - 2.添加用户定义变量/正则表达式提取器
 
- 返回一组变量:
 相同的变量名+连续的数字后缀,如name_1,……,name_3- 3.添加forEach控制器
 
- 输入变量前缀:要读取的输入变量的
 固定前缀,如:name- 开始循环字段:要读取的输入变量
 后缀数字的最小值-1,如0- 结束循环字段:要读取的输入变量
 后缀数字的最大值,如3- 输出变量名称:要读取的输入变量后保存的
 新变量名,如word- 4.添加HTTP请求-百度
 
- 引用forEach控制器中保存的
 新变量名, 如${word}- 5.查看结果树
 
与
正则表达式配合使用(案例2):
- 访问黑马首页http://www.heima.cn,获取首页中的地址信息,并全部保存下来
 - 要依次取出地址关键字,并在百度搜索,例如:https://www.baidu.com/s?wd=地址
 操作步骤:
1.添加线程组
2.添加HTTP请求1-heima
- 3.在HTTP请求1下面,添加正则表达式提取器,提取出所有的地址信息
 
- 4.添加ForEach控制器
 
- 5.添加HTTP请求2-百度
 
- 6.添加查看结果树
 
































