我也曾满腔热血的陪在你身边,只是后来再没那种执着和必要。
1.用jemeter测试soap类型接口(原理同http)
先从soapui获取URL地址在jemeter发起soap请求输入获取的地址就可以察看结果树查看响应的结果
重点2参数化(即批量测试)
第一种参数化
1.先点击已经建成的线程组添加配置元件用户定义的变量
2.用户定义的变量要求从http请求中取手机号和密码就可以${变量名}即${mobilephone}和${pwd},这里的变量名可以修改但必须和用户定义的变量名一样
配置原件定义变量
察看结果树查看请求结果
重点第二种参数化(批量测试选项–函数助手对话框)
Eg批量注册10个用户的测试随机生成手机号码以138开头
点击最上边选项函数助手对话框
察看结果数(注意这里生成的结果有弊端无法阻止生成重复手机号)
Eg手机号以138开头后面随机生成密码从0-9a-z中随机生成6位
重点第三种批量测试(用配置元件CSV Data Set Config
1.http请求中添加变量${变量名}
打开CSV Data Set Config输入线程组点击添加配置元件CSV Data Set Config
注意每一个变量名也是csv文件中的标题必须按顺序写,会根据变量顺序读取csv文件
3.添加循环次数
注意有几条数据输入几
4.察看结果树查看测试数据对应的响应的结果
5.检测响应结果是否正确查看数据库
比如注册是否成功
安装jmeter操作数据库的依赖包
(mysql-connector-java-5.1.7-bin )
第一种可以jmeter可操作数据库的方法
把这个插件放在jmeter的lib路径下放好要先关闭jmeter在重启才可以用推荐使用
第二种jmeter可以操作数据库的方法
把数据库jar包传jmeter测试计划关闭重启jmeter也可以操作数据库
(注意只有这个依赖包插件存在的情况下jmeter才可以操作数据库)
依赖包必须有一个插件才可以进行下一步的操作
6.安装好插件查看数据库请求信息
1.先连接数据库添加配置信息JDBC Connection Configuration(把数据库连接信息放到配置文件)
单击线程组添加配置元件选择JDBC Connection Configuration连接配置数据库
配置数据库
添加数据库请求(JDBC Request)
点击线程组添加samplerJDBC Request
向数据库发起请求
注意
1.JDBC Request中的数据库变量名Variable Name必须和配置数据 库JDBC Connection Configuration中的Variable Name变量名一样
2.数据库中的变量必须用英文单引号括起来
比如select * from member where mobilephone=’${tel}
3.JDBC Request察看结果树查看数据库注册是否成功
注册成功
查出tel=13000000002 pwd=123456 regnameid=nick的信息并从中找出id=2把这个id放到loan表中
1.先定义用户的变量线程组添加配置元件用户定义的变量
2.输入命令查出数据库定义变量的所有信息
select * from where mobilephone=’${tel}’
察看结果树查看命令输出数据库信息
3.找出id: select id from member where mobilephone=’${tel}’
察看结果树查看id
7.把jdbc的响应数据查出来即id提取出来处理数据(对哪个请求进行处理就在某个请求的下面添加正则表达式)
把上面5的响应结果id可匹配0个或多个数字即(\d+)提取出来放到memberid里面
添加正则表达式JDBC Request添加后置处理器正则表达式
引用名称是说用正则表达式提取器把响应的结果提取出来保存到引用名称中
8.添加Debug Sampler请求(调试器)打印出结果检查正则内容是否获取到单击线程组添加samplerDebug Sampler
1.察看结果树查看Debug Sampler请求运行的结果是否正确
如果别的地方要引用memberid这个字符串可以直接引用变量${memberid}
9.断言查看请求的响应是否成功用响应断言请求类型添加–断言响应断言
10.断言结果判断响应断言请求是否成功
正则表达式
概念匹配内容的一个表达式
元字符用来匹配相关字符
eg 可匹配任意3个字符
\d\d 匹配2个数字
限定符限定元字符匹配的次数
Eg
.* :1.空白 2.123456 3.小明都可以匹配
.+ :1.空白 2.123456 3.小明 2 3可匹配
. : 1.空白 2.123456 3.小明 1可匹配
\d+ 1.空白 2.123456 3.小明2 可匹配
\d{5,6} 12345678可匹配5或6个数字即12345或123456
\d{5} :匹配5个数字 12345
\d{5,} :匹配5个以上 12345678
举例说明
匹配数字1234–à\d+
手机号匹配1[3|5|8|7]\d{9} 表示|表示或\d{9}表示匹配任意9个
补充[a|b|c] 只能匹配到abc中的任意一个
[0-9][a-z]指(0-9中的任意一个和a-z中的任意一个)匹配
面试题Jmetersoupui工作的原理什么
答模拟用户或客户端像服务器发起请求