首页 > 图书中心 > 通过案例玩转JMeter(微课版)

目录

目录

第1章测试软件和被测产品/1

1.1JMeter概述/1

1.2JMeter的安装/2

1.2.1JMeter的单机环境安装/2

1.2.2JMeter的分布式环境安装/4

1.3进入JMeter的世界/5

1.3.1JMeter的目录结构及多语言版本/5

1.3.2JMeter的界面/7

1.3.3JMeter的九大元件组/11

1.4被测产品: 电子商务系统/13

1.4.1被测产品的介绍/13

1.4.2被测产品的安装/14

1.4.3被测产品的模块/15

1.4.4被测产品的安全机制/19

第2章HTTP/HTTPS/21

2.1HTTP的工作原理/21

2.2HTTP的请求包和响应包/22

2.2.1HTTP的请求包/22

2.2.2HTTP的响应包/24

2.3HTTP的无连接性和无状态性/24

2.3.1HTTP的无连接性/24

2.3.2HTTP的无状态性/25

第3章测试脚本初始化/27

3.1测试脚本的初始化生成/27

3.1.1利用工具录制JMeter测试脚本/28

3.1.2录制HTTPS下的脚本/37

3.1.3自己建立JMeter测试脚本/43

3.2录制结果的验证/45

3.3脚本初始化中使用的JMeter基本元件/46

3.3.1“测试计划”元件/46

3.3.2“HTTP Cookie管理器”元件/48

3.3.3“HTTP信息头管理器”元件/49

3.3.4“用户定义的变量”元件/50

3.3.5“HTTP请求默认值”元件/50

3.3.6“HTTP代理服务器”元件/53

3.3.7“线程组”元件/56

3.3.8“setUp线程组”和“tearDown线程组”元件/58

3.4脚本初始化中使用的取样器/59

3.4.1“HTTP请求”元件/59

3.4.2“调试取样器”元件/61

3.5脚本初始化中使用的逻辑控制器/63

3.5.1“录制控制器”元件/63

3.5.2“循环控制器”元件/63

3.6脚本初始化中使用的监听器/64

3.6.1“察看结果树”元件/64

3.6.2“简单数据写入器”元件/68

3.6.3“用表格察看结果”元件/68

目录

第4章建立登录接口测试脚本/69

4.1登录接口测试脚本的建立/69

4.1.1生成密码的SHA256散列值/69

4.1.2对CSRF token的处理/70

4.1.3建立测试断言/75

4.1.4用户名和密码的参数化/79

4.1.5建立“setUp线程组”元件与“tearDown线程组”元件/84

4.2J2EE版本商品列表的接口测试脚本/90

4.3登录接口测试脚本中使用的散列函数/94

4.4登录接口测试脚本中使用的断言/96

4.4.1“响应断言”元件/96

4.4.2“BeanShell断言”元件/98

4.4.3与XML相关的断言/100

4.5登录接口测试脚本中使用的提取器/102

4.5.1“正则表达式提取器”元件/102

4.5.2“边界提取器”元件/103

4.5.3“XPath提取器”元件/104

4.5.4XPath2 Extractor元件/105

4.6登录接口测试脚本中使用的配置元件/106

4.6.1CSV Data Set Config元件/106

4.6.2JDBC Connection Configuration元件/108

4.6.3“计数器”元件/110

4.7登录接口测试脚本中使用的取样器/111

第5章建立其他接口测试脚本/113

5.1与注册相关的测试脚本/113

5.1.1建立正常注册功能的接口测试脚本/113

5.1.2建立异常注册功能的接口测试脚本/117

5.1.3清理注册功能测试产生的垃圾数据/121

5.1.4处理与登录相关的元件/122

5.2与商品相关的接口测试脚本/122

5.2.1查询商品接口测试脚本/123

5.2.2Django版本查看商品详情接口测试脚本/124

5.2.3J2EE版本查看商品详情接口测试脚本/127

5.2.4通过后台添加商品测试脚本/132

5.3与购物车相关的接口测试脚本/136

5.3.1添加购物车的接口测试脚本/136

5.3.2查看购物车的接口测试脚本/138

5.4与订单相关的接口测试脚本/139

5.4.1与订单相关的接口测试脚本初始化/139

5.4.2创建与订单相关的接口测试脚本/141

5.5与注册、商品、购物车、订单相关的接口测试脚本中使用的逻辑控制器/145

5.5.1“仅一次控制器”元件/145

5.5.2“简单控制器”元件/145

5.5.3“如果(If)控制器”元件/146

5.6与注册、商品、购物车、订单相关的接口测试脚本中使用的函数助手/147

5.6.1随机函数/147

5.6.2CSVRead函数/148

5.7与注册、商品、购物车、订单相关的接口测试脚本中使用的提取器/149

5.7.1“CSS/JQuery提取器”元件/149

5.7.2与JSON相关的提取器/151

5.8与注册、商品、购物车、订单相关的接口测试脚本中使用的断言/161

5.8.1“JSON断言”元件/162

5.8.2JSON JMESPath Assertion元件/162

5.9与注册、商品、购物车、订单相关的接口测试脚本中使用的取样器/163第6章JMeter二次开发/166

6.1JMeter二次开发的3种方法/166

6.1.1开发BeanShell调用外部JAR文件实现SHA256散列处理/166

6.1.2开发函数助手实现SHA256散列处理/169

6.1.3利用Java请求实现SHA256散列处理/173

6.2JMeter二次开发中使用的元件/181

6.2.1前置/后置处理器/181

6.2.2取样器: “Java请求”元件/183

第7章建立安全测试脚本及运行/185

7.1暴力破解测试方法及预防措施/185

7.1.1暴力破解的原理和预防措施/185

7.1.2暴力破解的测试方法/186

7.2篡改找回密码的邮件地址和手机号码的测试方法/189

7.2.1篡改找回密码的邮件地址的测试方法/189

7.2.2篡改找回密码的手机号码的测试方法/190

7.3横向越权和纵向越权的测试方法/191

7.3.1横向越权的测试方法/191

7.3.2纵向越权的测试方法/196

7.4安全测试中使用的逻辑控制器/197

7.4.1“模块控制器”元件/198

7.4.2“ForEach控制器”元件/198

7.5安全测试中使用的“测试片段”元件/199

第8章建立及运行性能测试脚本/200

8.1单场景性能测试的搭建/200

8.2多场景性能测试的搭建/203

8.2.1搭建Django版本的多场景性能测试/203

8.2.2搭建Django版本与J2EE版本共同的多场景性能测试/205

8.3性能测试的执行/206

8.3.1并发负载测试的执行/206

8.3.2容量负载测试的执行/211

8.3.3疲劳性测试的执行/213

8.3.4强度测试的执行/213

8.4性能测试中使用的逻辑控制器: “吞吐量控制器”元件/214

8.5性能测试中使用的断言: “断言持续时间”元件/215

8.6性能测试中使用的配置元件: “HTTP缓存管理器”元件/216

8.7性能测试中使用的定时器/217

8.7.1“同步定时器”元件/217

8.7.2“固定定时器”元件/218

8.7.3“统一随机定时器”元件/218

8.7.4“高斯随机定时器”元件/218

8.7.5“泊松随机定时器”元件/219

8.8性能测试中使用的监控器/220

8.8.1“聚合报告”元件/220

8.8.2“汇总报告”元件/221

8.8.3“汇总图”元件/222

8.8.4“响应时间图”元件/223

8.8.5“图形结果”元件/225

第9章JMeter性能测试的运行与监控/226

9.1通过JMeter自带的工具运行JMeter性能测试/226

9.2通过Apache Ant运行JMeter性能测试/227

9.3通过Taurus运行JMeter/231

9.4性能测试监控/232

9.4.1压测端监控工具组: JMeter+InfluxDB+Grafana/232

9.4.2被测端监控工具组: Exporter+Prometheus+Grafana/241

9.4.3全链路监控工具: SkyWalking/247

9.5性能测试监控中使用的元件: 后端监听器/252

第10章JMeter的其他元件/255

10.1逻辑控制器/255

10.1.1“While控制器”元件/255

10.1.2“Switch控制器”元件/256

10.1.3“交替控制器”元件/257

10.1.4“Runtime控制器”元件/258

10.1.5“随机控制器”元件/258

10.1.6“随机顺序控制器”元件/258

10.2断言/259

10.2.1“大小断言”元件/259

10.2.2“HTML断言”元件/260

10.2.3“MD5Hex断言”元件/261

10.3定时器/261

10.3.1“常数吞吐量定时器”元件/262

10.3.2“准确的吞吐量定时器”元件/262

10.4取样器/263

10.4.1“FTP取样器”元件/263

10.4.2“OS进程取样器”元件/264

10.4.3“JUnit取样器”元件/267

10.5配置元件/270

10.5.1“FTP默认请求”元件/270

10.5.2“Java默认请求”元件/270

10.5.3简单配置元件/270

10.5.4“随机变量”元件/271

附录AJMeter元件中英文术语对照/273

参考文献/277

版权所有(C)2023 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802042911号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘