软件测试之Jmeter接口测试、压力测试、数据库、项目实战从入门到精通全集【柠檬班】_哔哩哔哩_bilibili
因为jmeter自身的限制,无论你的硬件配置多高,一台jmeter最多只能做2000的并发。我想是因为最jmeter限制了最多只能配置到2G的内存的原因,一条线程大概要用1M的内存,所以最多也只能是2000个左右了(32核,128G内存的硬件配置也只能做到2000的并发。)
性能监控工具jvisualvm.exe监控工具,jemter参数调优
-----------100
-------------500
-------我当时还试过3000的,也是同理可得
可以看到jmeter的一些日志
1、什么是Jmeter
jmeter执行测试的调用过程:反射调用start方法--解析获取cmd输入的命令参数--加载配置文件---解析jmx到HashTree--实例华engine--调用接口方法
http://jmeter.apache.org/download_jmeter.cgi
2、如何安装Jmeter
以下4.0版本的环境变量配置
以下3.3版本的环境变量配置
3、HTTP request详解
4、HTTP response详解
5、HTTP 常见状态码 (2、3、4、5开头的状态码)
6、Jmeter工作界面的学习使用
7、用聚合数据这个网站来测试:因为这个网站有很多接口方便我们练习
API_API数据接口_免费数据调用_API接口平台-聚合数据 手机号 Te..1..11
JH39378d6b980744bcefd913342e170c07
8、什么是Jmeter脚本
8、发起一个http get或post请求
生辰助手-生辰查询-免费API _API数据接口_API接口调用_API接口平台-聚合数据
9、Jmeter之请求参数的类型Parameters、Body Data 、Files Upload
10、Jmeter元件:http请求默认值(把多个请求所需要的相同的参数放在这里如url 参数key等)
11、Jmeter之察看结果树
12、如果Body Data的内容写成这样格式xx=1&bb=2,那和Parameters传值的效果是一样的
13、注意:当后台不要求是接收json格式(即没有加@RequestBody时),则前端一般应该是Content-Type: application/x-www-form-urlencoded格式的,用了Content-Type:application/json反而传不了值
14、查看结果树中各种格式显示的介绍
15、Jmeter元件:HTTP信息头管理器设置User-Agent和content-Type
在请求头设置好content-Type为application/json;charset=utf-8
16、Jmeter之响应断言、断言结果
17、Jmeter之XPath Assertion断言
18、Jmeter结合fiddler查看结果
19、Jmeter元件:用户自定义变量
20、Jmeter元件:CSV Data Set Config 参数化txt(批量注册、或可以做密码的爆破喔)
未优化前要写5条用例
优化
20-1写在用户自定义变量中与写在csv中的区别
21、Jmeter元件:CSV Data Set Config 参数化csv(批量注册、或可以做密码的爆破喔)
22、Jmeter之参数化函数助手__CSVRead
因为现在是用函数,而csv表中刚才有10行,所以要调用线程数改为10,循环次数改为1
23、Jmeter函数助手randomstrin生成随机数,优点:不用准备csv表 缺点:可能会生成重复数据
24、Jmeter:正则表达式 正则表达式提取器提取响应结果到变量中
要有(在)Debug Sampler可以查看到正则表达式所匹配到的值,Debug Sampler,主要用于打印出变量进行调试,它的添加方法如下
提取上一个请求响应后由正则取到的值作为这一次请求的参数
25、Jmeter:正则表达式 提取器获取数组数据
26:Jmeter 逻辑控制器foreach
27:Jmeter后置处理器JSON Extractor 提取响应结果作为下一次请求的参数值
28、Jmeter请求之cookie两种处理方法
方法一:用cookie管理器
方法二:
29、Jmeter请求之token处理(在32讲)
利用fiddler(用fiddler非常方便后面jmeter填写http请求参数及过程的分析)记录所有这个ip的请求和响应,再通过从fiddler中copy需要的请求的连接和参数到jmeter的对应http请求中
投资请求也是像登陆请求一样在fiddler中copy过来,在这里我就不截图了...........
30、接口的本质是什么
以上接口是怎么测试的由于前面的课程已讲过了,而且太简单了,所以这里就不再截图了,如果真的想知道可以看教程(35~37课).............
31、Jmeter存储测试结果(保存响应到文件)
因在线程组设置了循环5次所以产生了5个文件
32、Jmeter写入结果到Excel
准备jar包
准备测试用例(excel表)
准备测试数据(excel表)
最后生成的结果(用java代码生成如下的excel):
vars.put-------向jmeter变量集合中放入内容,用于后面取用
用csv读取用例表:
33、Jmeter完成文件上传
33、Jmeter批量完成文件上传
34、Jmeter完成文件下载
35、Jmeter批量完成文件下载
36、Jmeter JSON Extractor获取数组类型的数据
37、Jmeter 正则表达式获取数组类型的数据
38、Jmeter获取文件列表与(批量)下载接口串联测试
39、Jmeter上传与下载接口串联测试
40、jmeter录制WEB脚本
在浏览上进行如下操作,这些操作的请求和响应都会被jmeter录制
41、Jmeter结合badboy录制脚本使用
badboy的工具我们主要用它的录制脚本功能,其它功能不用管它。badboy录制的脚本简洁、但因为它自带的浏览器访问web页面时有很多兼容性的问题,所以有的网站录制不了脚本。所以最终还是会用jmeter来录制的
42、Jmeter优化WEB脚本
43、Jmeter回放WEB脚本&联调
44、Jmeter WEB脚本参数化
45、jmeter录制APP脚本
46、Jmeter优化APP脚本
47、Jmeter回放APP脚本&联调
48、Jmeter APP脚本参数化(下面的截图只做了标ID和投资金额做了参数化)
可以在APP中看一下是否多了三条投标记录(如下是PC端的截图)
49、设计压力测试场景
50、Jmeter请求元件之并发场景设置
51、Jmeter查看压力测试结果
要重点参考哪个值呢,那要看样本数据是什么样子的了。比如1 ,1 ,1, 1, 1, 100,那么肯定不可以用平均数做参考了(106/6),应该取90%这个参考值1
52、Jmeter压力测试结果分析1(通过响应断言分析)
53、Jmeter压力测试结果分析2(通过聚合报告分析)
54、JmeterGUI模式和非GUI模式的查看
55-1、仅一次控制器
以下的测试场景是:多人在线,同步(并发)调用add_user接口。
55-2、测试计划中的参数
比如有线程组1 线程组2 :如果下图的独立--打钩了,则会先线程组1,再线程组2。
如果独立--不打钩,则线程组1和线程组2会同时发请请求(不信?自己看一下请求时间是不是一样的)
设置jar路径等
55-3、setUp tearDown
一般在测试性能前或一些自动化前都要清除或初始化一些东西,所以要用到setUp
结束后一般要结束或还原一些东西,要用到tearDown
55-4、java request
55-5、事务控制器
55-6、Jmeter集合点(同步定时器)元件(侠义并发)
负载:只加载多少个用户(线程)(这个不加定时器)
并发:是同时提交,并发是负载里的一种特殊负载,这种需要用到集合点(定时器)
要不要加定时器,不是我决定的,是具体的场景决定的。如只有负载没有并发的场景,如有负载且有并发的场景。
55-7测试活动 Test Action
55、Jmeter非GUI模式命令
由于xxx.jmx这个脚本中指定了聚合报告和察看结果树的结果导出路径,所以不用-l再指定了
在脚本禁用了聚合报告与察看结果树后则要用-l指定路径
56、Jmeter常用命令的学习使用
jmeter -n -t xxx.jmx -l xxxResultFile.csv -e -o d:/test_result
57、Jmeter如何查看Html报告
57、跑性能导出表格文件乱码的问题
58、Jmeter压力测试报告模板
59、Jmeter 数据库JDBC配置
60、Jmeter数据库的元件JDBC Request
61、Jmeter完成数据库的select操作、insert一条、insert多条、insert参数化、upate、upate批量操作、delete、delete批量删除
select
insert一条
insert多条
insert参数化
upate操作
upate批量操作
方式一:
方式二:csv参数化
delete操作
csv参数化批量删除
62、Jmeter批量创造测试数据
63、Jmeter结合Beanshell生成加密数据
64、Jmeter解决update与insert乱码
65、Jmeter完成数据库select参数化
66、Jmeter完成数据库的select多条语句查询
用prepared xxxx发出多条sql但是只会获取一条
用Callable xxx会显示出多条
67、Jmeter select操作参数化
68、Jmeter 把select 出来的字段保存在变量中
69、Jmeter 把select 出来的字段保存在结果集变量中
70、Jmeter利用正则取到select查询到的数据放在变量中
71、Jmeter如何判断是否是webservice接口
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl
72、如何获取webservice接口相关信息
73、如何利用soapui完成webservice测试
74、Jmeter完成webservice测试
75、Jmeter webservice模板完成测试
76、Jmeter对webservice完成参数化测试
77、什么是websocket协议
78、Jmeter测试websocket接口
79、Jmeter测试dubbo接口
79.1 zookeeper方式去获取所有的service接口进行测试
79.2 直连的方式去获取接口进行测试
80、Fiddler+jmeter完成登录脚本
79、mqtt
80.1 Jmeter如何处理referer信息
通过下图下可以看到有Referer
80.2 Jmeter处理data-form格式的数据
80.3完成提交bug脚本
81、参数化Jmeter脚本并执行
82、Jmeter线程组与循环的误区
83、Jmeter利用if控制器执行指定用例
84 Access log sampler(访问日志采样器)
这是关于 JMeter 的访问日志采样器的简短教程。Access Log Sampler 的目的是提供一种简单的方法来模拟生产流量。使用访问日志有几个好处。
- 测试计划不是猜测用户在做什么,而是使用真实的流量数据
- 随着流量模式的变化,访问日志提供了个人变化和一般使用变化的记录
- 访问日志包含很多有用的数据,可能会提供一些见解
- 可以考虑访问日志以确定不同类型的用户
- 访问日志可以捕获详细的会话信息
将访问日志用于测试计划的缺点是您必须配置网络服务器以输出请求信息。这可能不适合存在安全问题的情况。例如,如果网络服务器将每个请求的发布数据转储到访问日志中,则用户登录名和密码将以纯文本形式存储。以下是访问日志可能不合适的一些一般情况。
- 数据加密的安全敏感应用程序
- 应用程序不允许对将哪些请求参数写入访问日志进行细粒度控制
- 应用程序需要请求之间的关联
- 无法将 Web 服务器配置为将发布数据附加到访问日志
- Web 服务器托管多个应用程序,但不提供将一个应用程序的请求记录到单独文件的方法
要利用访问日志,首先需要将网络服务器配置为使用扩展日志格式。下面提供了配置流行容器的链接。