前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过案例带你轻松玩转JMeter连载(21)

通过案例带你轻松玩转JMeter连载(21)

作者头像
顾翔
发布2021-11-02 17:36:21
3040
发布2021-11-02 17:36:21
举报

4.2通过MySQL参数化步骤 JMeter提供对数据库的访问,我们可以用数据库来进行参数化。 1)在MySQL中的某个数据库中建立表,在表中插入参数化的数据,如图25所示。

图25 MySQL存储的参数化数据

同样,确保使用这些用户名和密码均可以登录成功的。 2)把访问MySQL的JDBC的jar包mysql-connector-java-5.1.7-bin.jar放入%JMETER_HOME% \lib\ext\目录下,重新启动JMeter。 3)右键点击循环控制器,在弹出菜单中选择“添加->配置元件->JDBC Connection Configuration”。如图26进行设置。

图26 JDBC Connection Configuration

  • Variable Name for create pool输入:data_ebusiness。

在这个元件的上部分设置中,仅需要设置这里,其他使用默认值即可,关键在于下面的设置。

  • Database URL:jdbc:mysql://localhost:3306/php_ebusiness。其中localhost为MySQL所在的服务器所在的机器名或IP地址;3306为MySQL所占用的端口,默认就是3306;php_business为数据库名。
  • JDBC Driver Class:由于我们用的是MySQL,这里选择com.mysql.jdbc.Driver。在这里通过下拉条,我们可以看到JMeter支持MySQL、Oracle、SQL Server、SQLite等多个主流的数据库。
  • Username为数据库的用户名:root。
  • Password为数据库的密码:123456。

2)右键点击循环控制器,在弹出菜单中选择“添加->取样器->JDBC Request”。如图27进行设置。

图27 JDBC Request

  • Variable Name of Pool declared in JDBC Connection Configuration中的设置的字符串必须同JDBC Connection Configuration中的Variable Name for create pool保持一致,即:data_ebusiness。
  • Query Type选择:Select Statement。下面输入查询语句:select username,password

from user;。

  • Result variable name随便起一个名字:list。
  • 其他使用默认值即可。

3)运行后,在查看结果树中获得。

代码语言:javascript
复制
list=[{password=654321, username=jerry}, {password=123456, username=cindy}, 
{password=zxcvb, username=peter}, {password=knyzh158, username=linda}, 
{password=qwert, username=susan}]

下面我们都过对变量list进行提取获得用户名和密码。 4)右键点击循环控制器,选择“添加->后置处理器->正则表达式提取器”。把它拖到JDBC Request下面。按照图28进行设置。

图28 通过MySQL获取用户名和密码

  • 修改名称为:通过MySQL获取用户名和密码。
  • Apply to:选择JMeter Variable Name to use:list
  • 引用名称为:pram。
  • 正则表达式为:{password=(.?), username=(.?)}。
  • 模板为:12,表示正则表达式中有2个参数。
  • 匹配数字为:0。不是随机获得匹配项。
  • 缺省值为:NULL。

5)进入商品列表HTTP请求元件,用户名输入:{pram_g2},密码输入:{__digest(SHA-256,${pram_g1},,,)}。 6)运行,结果正常。检查每一个变量pram,从参数list中随机获取值。 检查一下调试取样器中的变量pram参数。

代码语言:javascript
复制
pram=qwertsusan
pram_g=2
pram_g0={password=qwert, username=susan}
pram_g1=qwert
pram_g2=susan

关于JDBC 连接设置和JDBC Request我们将在第5.4-2节和第5.5-1节中详细介绍。 到此,建立登录功能的接口测试代码完毕,保存脚本为ebussines_interface.jmx。如图29所示。

图29 ebussines_interface.jmx

图30 ebussines_login.jmx

然后在“CSV Data Set Config参数化”或“JDBC参数化”保留一个(我这里保留“CSV Data Set Config参数化”);“登录响应断言”或“登录BeanShell断言”保留一个(我这里保留“登录响应断言”);“商品列表信息响应断言”或“商品列表BeanShell断言”保留一个(我这里保留“商品列表BeanShell断言”);去掉商品列表(new)HTTP请求及其下面的子节点。保存为ebussines_login.jmx后保证运行正常。如图30所示。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试培训 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档