jmeter入门之软件测试工程师
jmeter–测试之路
第一次分享文章,作者从大学四年咸鱼生涯后在找工作的时候幡然悔悟,于是开始寻找求生之道,当前软件测试行情大好,而且技术入门难度低,工资又不错,所以咱家也开始了软件测试的学习。笔者是个菜鸡,从黑盒测试做起有5个月了,黑盒测试工作者最反感的应该就是部分功能压力测试了,所以就想着学习Jmeter,做一做接口自动化压力测试,以后会渐渐更新每天学习到的知识。
一、Jmeter的作用
首先来聊聊JMeter的作用。
1.能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。
2.完全的可移植性和100% 纯java。
3.完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。
4.完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。
5.精心的GUI设计允许快速操作和更精确的计时。
6.缓存和离线分析/回放测试结果。
二、 jmeter安装及汉化
详细请参考此网站:https://www.taopanfeng.top/2019/11/12/2019-11-12…13.59/>
三、jmeter的使用基础–熟记各大元件
本模块引自:https://www.cnblogs.com/diwangguilai/p/10616549.html
1.配置元件
csv Data set config:用来获取csv文件或者txt文件的内容,一行一行的获取,然后把每一行的内容赋值给变量,若有多个,一般用逗号隔开
计数器:一般用来生成不同的值,比如从1递增到100,赋值给num
http请求头:配置http的报头
2.前置处理器
用户参数:给每一个线程赋值,如果运行的线程数大于添加的线程,则循环取值
URL重写修饰符:登陆后会自动保存服务器返回的sessionid,并且在以后的get请求url后会带上sessionid的参数来保持会话
3.定时器
固定定时器/高斯定时器
同步定时器:达到了多少个虚拟用户就一起请求
固定吞吐量定时器:通过暂停/加快线程的请求来保证吞吐量稳定在一个值,当然前提是线程数能够达到这个吞吐量
4.取样器:
http请求:这个用的比较多,默认端口80,默认请求方式get,可以添加json或者键值对等。。
jdbc请求:填入sql语句,设置查询结果变量等,不过要先设置jdbc连接配置,添加jar包等
5.后置处理器:
正则表达式提取器:这个要对正则表达式很熟悉,选择哪个模板( 1 1 1第一个模板),匹配数字:-1所有(此时的变量相当于数组),0随机,正数第几组值。
Debug Postprocessor:用来调试,可以在正则表达式中查看结果,Jmeter属性:jmeter.properties中定义的,Jmeter变量:我们自己设置的变量
系统属性:我们设置的系统变量,如JMETE_HOME等
6.断言
响应断言:对响应的各个部分进行断言,支持正则表达式
size断言:判断响应各个部分的大小
7.监听器
查看结果树,聚合报告,保存响应到文件(测试下周会用到)
还有第三方的 TPS VS Threads,RT vs Threads
8、函数:
uuid 生成一个随机的一串,不会重复
time:获取时间戳
随机数字,随机字符串,本机属性(IP),文件读取,获取jmeter属性等
9.控制器
IF(条件可以使用javascript/beanshell函数去生成) switch(选择执行那个,从0开始计数) foreach(遍历数组中的值) loop while 仅一次控制器(一个线程执行一次,不管这个线程循环多少次) 事务控制器(可以把多个请求合到一个事务中) 吞吐量控制器(控制执行次数) 随机控制器(随机执行一个请求) 随机顺序控制器(随机执行,但是每次都全部执行所有请求) 交替控制器(这次执行第一个,下次循环执行第二个)