Jmeter:jmeter连接数据库
jmeter连接mysql数据库
大致步骤如下:
- 下载mysql的jar包放入到jmeter的lib下,然后重启jmeter
- 配置JDBC Connection Configuration
- 配置JDBC Request
- 在请求中引用查询到的结果变量,可以结合计数器取每一个结果值:${__V(tname_${index})}
同时,我也准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看,或者直接关注VX公众号:互联网杂货铺,免费领取
软件测试视频教程观看处:
字节大佬教你逼自己如何在15天内掌握自动化测试(接口自动化/APP自动化/Web自动化/性能测试),内含项目实战
1、首先需要准备个Mysql jdbc驱动包
尽量保证其版本和你的数据库版本一致,至少不低于数据库版本,否则可能有问题。
mysql官网下载地址:csdn不让发
JDBC驱动在mysql的官网下载:https://dev.mysql.com/downloads/file/?id=477058,不需要注册,直接点击左下角的小字
2、在测试计划下面把JDBC驱动包导入,如下图
3、线程组下添加一个配置元件JDBC Connection Configuration。
Variable Name:自定义参数,在JDBC Request中会用到;
Database URL:jdbc:mysql:// 数据库IP地址:数据库端口/数据库名称;jdbc:mysql://localhost:3306/mysql?serverTimezone=UTC&characterEncoding=utf-8,注意:?后面的serverTimezone=UTC&characterEncoding=utf-8不能缺少,否则会报时区错误。
JDBC Driver Class:com.mysql.jdbc.Driver;
Username:数据库用户名;
Password:数据库密码;
4、在添加一个Sampler:JDBC Request
由于只需要在数据库中取一次数据,即 jdbc取样器只需要执行一次,可以使用仅一次控制器;如下图:
配置路径:逻辑控制器——仅一次控制器
5、运行之后,数据库会返回某一列下的数据
6、在http请求中引用tname变量名,如果有一列数据返回,引用变量的时候可以输入${tname_1},发送请求的参数值就是 周启元
variables names 参数使用方法:
Jmeter官网的解释是:如果给这个参数设置了值,它会保存sql语句返回的数据和返回数据的总行数。假如,sql语句返回2行,3列,且variables names设置为A,C,那么如下变量会被设置为:
A_#=2(总行数)
A_1=第1列,第一行;如上面的变量${tname_1};
A_2=第1列,第2行
C_#=2(总行数)
C_1=第3列,第1行
C_2=第3列,第2行
如果返回结果为0,那么A_#和C_#会被设置为0,其他变量不会设置值。
如果第一次返回6行数据,第二次只返回3行数据,那么第一次的6行数据变量会被清除
可以使用${A_#}、${A_1}...来获取相应的值
7、如果想循环数据库返回的值,可以使用计数器,加引用的变量${__V(tname_${index})};如下图
根据上方数据库返回的tname列下有9行数据,在计数器中最大值填入9,在输入一个变量名index;
在http请求中引用数据量返回的变量+计数器的变量:${__V(tname_${index})};
8、运行结果
Jmeter:jmeter中元件的执行顺序&作用域
元件的执行顺序:
配置元件-->前置处理程序-->定时器-->取样器-->后置处理程序(除非Sampler 得 到的返回结果为空)-->断言(除非Sampler 得到的返回结果为空)-->监听器 (除非Sampler 得到的返回结果为空)
关于执行顺序,有两点需要注意:
- 前置处理器、后置处理器和断言等元件公能对 取样器作用,因此,如果在它们 的作用域内没有任何取样器,则不会被执行。
- 如果在同一作用域范围内有多个同一类型的元件,则这些元件按照它们在测试计 划中的上下顺序一次执行
元件的作用域:类似于python中的全局变量和局部变量的概念
配置元件(config elements ) :元件会影响其作用范围内的所有元件。
前置处理程序(Per-processors):元件在其作用范围内的每一个sampler元件之 前执行。
定时器(timers ):元件对其作用范围内的每一个sampler 有效
后置处理程序(Post-processors):元件在其作用范围内的每一个sampler元件之 后执行。
断言(Assertions):元件对其作用范围内的每一个sampler 元件执行后的结果执 行校验。
监听器(Listeners):元件收集其作用范围的每一个sampler元件的信息并呈现。 总结:从各个元件的层次结构判断每个元件的作用域
写在最后
PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。如需要软件测试学习资料,关注公众号(互联网杂货铺),后台回复1,整理不易,给个关注点个赞吧,谢谢各位大佬!
☑ 240集-零基础到精通全套视频课程
☑ [课件+源码]-完整配套的教程
☑ 18套-测试实战项目源码
☑ 37套-测试工具软件包
☑ 268道-真实面试题
☑ 200个模板-面试简历模板、测试方案模板、软件测试报告模板、测试分析模版、测试计划模板、性能测试报告、性能测试报告、性能测试脚本用例模板(信息完整)
这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。