前面巴拉巴拉的7章,我自己回顾都觉得写的稀巴烂,我也不知道自己写的是什么东东,于是决定做实践操作,从各种取样器、控制器等东西一个个讲,当然都是一些工作中常用的,对于冷门的取样器啥的我自己也不会哈。
这节课主要涉及到HTTP请求,JDBC Connection Configuration,以及JDBC请求三个的使用。
1、从前面所知,每一个jmeter脚本都是一个测试计划,且据我认知,一个脚本中有且仅有一个测试计划。
在新建的测试计划面板中,我们默认不需要修改什么配置信息,保持默认即可。
2、新建线程组,在一个测试计划之下可以存在多个线程组,每个线程组互不干扰,各自执行。
线程组的功能在前面有讲述过,点击查看线程组文章
3、发送请求get/post。
在sample取样器中,我经常使用的就是发送http请求和jdbc请求。
3.1http请求实现:
这个http请求查看天气的接口,在前面章节我们有提及。传送门
比如我们发送一个get请求,在请求中添加如下所示的内容,注意一下,如果选择的参数是如图所示填写方式,那么我们不能点击到消息体数据中,只有当参数列表没有数据,才能点击到消息体数据。(消息体数据是将参数使用json格式进行传递)
这些参数都是我们在接口的文档中都能查找到的。
让我查看一下请求结果:我们发现,在URL上,拼接了我们使用get请求的参数。
在这个接口上,我们使用消息体参数格式进行传递,发现不能使用哦。
如果参数格式需要使用application/json格式,那么我们需要在线程组中添加一个http信息头管理,这样在发送请求时候就能够将参数格式转成application/json。
原本参数格式是text/plain,而我们设置了http请求头信息之后,就成application/json。注意这里在我们查看接口文档时候,如果有说明使用参数格式要记得使用。
发送post请求也是类似的操作,这里不展开讲述。
3.2jdbc请求:也就是需要执行sql语句
发送JDBC请求之前,也就是说在执行sql语句之前,我们需要链接数据库,那么就需要有先添加一个JDBC Connection Configuration,用来与数据库连接操作。
Variable Name for created pool:连接的数据库变量名,一个测试计划可以存在多个JDBC Connection Configuration。只要设置的数据库名不一致就可以。
连接配置中,我们需要掌握Database URl和JDBC Driver class的格式以及对应关联关系。
Database URl格式:jdbc:mysql://host:port/dbname
JDBC Driver class对应关系:
mysql:com.mysql.jdbc.Driver
sqlServer:com.microsoft.sqlserver.jdbc.SQLServerDriver
Oracle:oracle.jdbc.driver.OracleDriver
以上是常用的几个数据库连接使用的。对了,不同的数据库,具有不同的Database URL配置。但是我常用的是mysql,所以上面也就只给出了mysql的语句。
我们在测试计划的最底部可以看到,有个添加jar包的位置,这里经常用来添加sql的jar包。我们只需要在网上下载jar包之后,在测试计划中加入或者直接将jar包放置在jmeter的安装目录lib下即可。
连接数据库配置举例:
接下来就是发送JDBC请求登场了:
以上做一些解释:
1、sql语句在jmeter中不需要带分号结尾
2、如果只是查询语句,超简单的那种,我们在query type中选择select statement即可。如果带有参数,我们使用pre select statement。如果需要通过变量或者未知值取查询,我们在sql语句中用?代替。?表示一个占位符。
3、sql语句中有多少个?,我们在parament values和types中就需要写多少个,个与个之间通过逗号隔开
4、sql语句中需要筛选的值可以写在variable name中,多个就用逗号隔开
5、sql语句的筛选结果在下一个接口或者什么地方需要使用的变量名,可以写在result variable name,多个就用逗号隔开