01、设置JDBC Request
1、添加需要的驱动jar包
使用不同的数据库,我们需要引入不同的jar包。
方式1:直接将jar包复制到jmeter的lib目录
mysql数据库:
下载mysql-connector-java-5.1.28.jar放到 jmeter根目录的lib目录下
sql server 数据库:
下载sqljdbc4.jar 放到 jmeter根目录的lib目录下
oracle数据库:
将oracle数据的安装目录下面的\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar 放到jmeter根目录下的lib目录下
方式2 :通过Test Plan
假如我们不使用将jar复制到jmeter的lib目录的方式,我们还可以使用Jmeter的Test Plan引入相应的jar包,如下面引入oracle数据的jar包
2、紧张参数说明
Variable Name:
数据库连接池的名称,我们可以有多个jdbc connection configuration,每个可以起个不同的名称,在jdbc request中可以通过这个名称选择合适的连接池举行使用。
Database URL:
数据库url,jdbc:mysql://主机ip或者呆板名称:mysql监听的端标语/数据库名称, 如:jdbc:mysql://localhost:3306/test
JDBC Driver class:
JDBC驱动
username:
数据库登岸的用户名
passwrod:
数据库登岸的密码
不同数据库详细的填写方式,可以参考下面的表格:
填写后大抵如下:
紧张的参数说明:
Variable Name:
数据库连接池的名字,需要与JDBC Connection Configuration的Variable Name Bound Pool名字保持划一
Query:
填写的sql语句未尾不要加“;”
Parameter valus:
参数值
Parameter types:
参数范例,可参考:Javadoc for java.sql.Types
Variable names:
保存sql语句返回结果的变量名
Result variable name:
创建一个对象变量,保存全部返回的结果
Query timeout:
查询超时时间
Handle result set:
界说如何处置惩罚由callable statements语句返回的结果
3、实行结果:
02、JDBC Request 参数化
方法(一)
界说变量,在sql query中使用变量:
1、在Test Plan 中界说一个变量
(固然也可以使用参数化:Jmeter参数化):
2、sql query 中使用${变量名}的方式引用:
- select * from test where name='${name}'
复制代码
方法(二)
在sql query中使用”?“作为占位符,并传递参数值和参数范例,如下图所示:
1、传递的参数值是常量,如图传递2个变量,多个变量使用” , “ 分隔。这里假如你有数据是int范例的,也要在Parameter types 那边标示为varchar范例,否则无法运行。
2、传递的参数值是变量,使用${变量名}的方式
03、Variables names参数
1、使用方法:
jmeter官网给的解释是:如果给这个参数设置了值,它会保存sql语句返回的数据和返回数据的总行数。假如,sql语句返回2行,3列,且variables names设置为A,C
那么如下变量会被设置为:
A_#=2 (总行数)
A_1=第1列, 第1行
A_2=第1列, 第2行
C_#=2 (总行数)
C_1=第3列, 第1行
C_2=第3列, 第2行
如果返回结果为0,那么A_#和C_#会被设置为0,别的变量不会设置值。
如果第一次返回6行数据,第二次只返回3行数据,那么第一次那多的3行数据变量会被扫除。
可以使用KaTeX parse error: Expected group after '_' at position 3: {A_̲#}、{A_1}…来获取相应的值
示例:
我们还是用上面的数据库,把全部数据查出来,test表有有3个字段,5条记载(忘记了的可以回到第一步那边检察)
1、添加一个jdbc request名为”参数4“,添加一个”Debug Sampler“用来检察输出的结果,设置 variables name为column1,column2,column3:
2、实行结果:
分析:
column1代表第一列全部的数据,column1_#可以获取到第一列的行数
column1_n:得到第一列第n行的数据。
column2和column3的功能类似, 假如我们只需要第一列和第三列的数据,可以写成column1,column3,中间的","不可以省略。
04、Result variable name参数
1、使用方法:
如果给这个参数设置值,它会创建一个对象变量,保存全部返回的结果,获取详细值的方法:
[code][/code]
- columnValue = vars.getObject("resultObject").get(0).get("Column Name")
2、实行结果:
为了助力软件测试员朋侪们跳槽口试、升职加薪、职业逆境,提高自己的技术,本文给大家整了一套涵盖测试全部技术栈的快速学习方法和条记。目前已经收到了七八个网友的反馈,说是口试问到了许多这内里的知识点。
内容包含了:测试理论、Linux底子、MySQL底子、Web测试、接口测试、App测试、管理工具、Python底子、Selenium相关、性能测试、LordRunner相关等,盼望能资助到故意在技术这条蹊径上一起走到黑的朋侪!
通过大数据总结发现,着实软件测试岗的口试都是差不多的。常问的有下面这几块知识点:
测试理论(测试底子+需求分析+测试模子+测试计划+测试策略+测试案例等等)
Linux( Linux底子+Linux练习题)
MySQL(底子知识+查询练习+万年学生表经典口试题汇总+数据库企业真题)
Web测试
API测试
App测试
管理工具
Python底子(Python底子+编程题+聚集+函数+Python特性等等)
Selenium相关
性能测试
LordRunner相关
计算机网络
构成原理
数据布局与算法
逻辑题
人力资源
一、软件测试底子
软件测试的步骤是什么?
如何录制测试脚本?
应该考虑举行如何测试的测试方法
怎样估计测试工作量?
测试计划的标题
当测试过程发生错误时,有哪几种解决办法?
测试实行的标题
测试评估的目的
如何提高测试?
C/S模式的优点和缺点
B/S模式的优点和缺点
…
二、Linux
grep和find的区别? grep 都有哪些用法?
检察IP地点?
创建和删除一个多级目录?
在当前用户家目录中查找haha.txt文件?
如何查询出tomcat的进程并杀掉这个进程,写出linux下令?
动态检察日记文件?
检察系統硬盘空间的下令?
检察当前呆板listen 的全部端口?
…
三、Python
统计python源代码文件中代码行数,去除注释,空行,举行输出?
python调用cmd并返回结果?
冒泡排序
1,2,3,4 这4个数字,能构成多少个互不相同的且无重复的三位数,都是多少?
请用 python 打印出 10000 以内的对称数(对称数特点:数字左右对称,如:1,2,11,121,1221 等)
给定一个整数 N,和一个 0-9 的数 K,要求返回 0-N 中数字 K 出现的次数
判断 101-200 之间有多少个素数,并输出全部的素数
一个输入三角形的函数,输入后输出是否能构成三角形,三角形范例,请用等价类- 划分法计划测试用例
…
四、MySQL
你用的Mysql是哪个引擎,各引擎之间有什么区别?
如何对查询下令举行优化?
数据库的优化?
Sql注入是如何产“生的,如何防止?
NoSQL和关系数据库的区别?
MySQL与MongoDB本质之间最基本的差别是什么
Mysql数据库中怎么实现分页?
Mysql数据库的操纵?
优化数据库?提高数据库的性能?
什么是数据的完整性?
…
五、Web
- Web测试和app测试区别?
- WEB测试环境搭建和测试方法
- WEB测试教程
- WEB测试要点及基本方法
- Web测试页面总结
- …
六、接口测试
什么是接口
如果模块请求http改为了https,测试方案应该如何制定,修改?
常用HTTP 协议调试署理I具有什么?详细说明抓取HTTPS协议的设置过程?
描述TCP/IP协议的层次布局,以及每一-层中紧张协议
jmeter,一个接口的相应结果如下:
接口产生的垃圾数据如何整理
依靠第三方的接口如何处置惩罚
测试的数据你放在哪?
什么是数据驱动,如何参数化?
…
七、性能测试
你以为性能测试的目的是什么?做好性能测试的工作的关键是什么?
服务端性能分析都从哪些角度来举行?
如何明白压力测试,负裁测试以及性能测试?
如何判断是否有内存走漏及关注的指标?
描述软件产“生内存泄露的缘故原由以及检查方式。(可以结合- 种开发语言举行描述)
简述什么是值传递,什么是地点传递,两者区别是什么?
什么是系统瓶颈?
…
八、selenium
如何开展主动化测试框架的构建?
如何计划主动化测试用例:
webdriver如何开启和退出一个浏览器?
什么是主动化测试框架?
Selenium是什么,盛行的版本有哪些?
你如何从下令行启动Selenium RC?
在我的呆板端口4444不是免费的。我怎样才能使用另一个端口?
什么是Selenium Server,它与Selenium Hub有什么不同?
你如何从Selenium连接到数据库?
你如何验证多个页面上存在的一个对象?
XPath中使用单斜杠和双斜杠有什么区别?
如何编写SeleniumIDE/ RC的用户扩展?
如何在页面加载乐成后验证元素的存在?
你对Selenium Grid有什么了解?它提供了什么功能?
如何从你的Java Class启动Selenium服务器?
Selenium中有哪些验证点?
什么是XPath?什么时候应该在Selenium中使用XPath?
…
九、计算机与网络
一台计算机的IP是192.168.10.71子网掩码255.255.255.64与192.168.10.201 …
请简述DNS、活动目录、域的概念。
10M兆宽带是什么意思?理论下载速率是多少?
什么是IP地点?
OSI七层网络模子的划分?
TCP和UDP有什么不同?
HTTP属于哪一层的协议?
HTTP和HTTPS的区别?
cookies和session的区别?
HTTP的get请求和post请求的区别?
HTTP1.0和HTTP1.1有什么区别
TCP的连接建立过程,以及断开过程?
客户端使用DHCP获取IP的过程?
写出某个网段的网络地点和广播地点?
…
十、人力资源
你的测试职业发展是什么?你自以为做测试的上风在那里?
你找工作时,最紧张的考虑因素为何?
为什么我们应该登科你?
请谈谈你个人的最大特色。
一个测试工程师应具备那些素质和技能?
另有问一下你是怎样保证软件质量的,也就是说你觉得怎样才能最大限度地保证软件质量?
为什么选择测试这行?
如果我雇用你,你能给部门带来什么贡献?
…
最后
整份文档一共有快要 200 页,全部为大家展示出来肯定是不太现实的,为了不影响大家的阅读体验就只展示了部分内容,还望大家海涵,盼望能资助到您口试前的复习且找到一个好的工作,也节省大家在网上搜刮资料的时间来学习!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |