软件自动化测试入门攻略--51Testing独家连载

发表于:2024-2-29 09:23

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:杨定佳    来源:51Testing软件测试网原创

  目录
  第1章  自动化测试概述 1
  1.1  什么是软件自动化测试 1
  1.1.1  定义 1
  1.1.2  应用条件 1
  1.1.3  对比手工测试 2
  1.1.4  分类 3
  1.1.5  价值 4
  1.2  自动化测试的概念 6
  1.2.1  流程 6
  1.2.2  原则 7
  1.2.3  测试模型 8
  1.2.4  度量模型 10
  1.3  自动化测试常用工具 12
  1.3.1  单元测试工具 12
  1.3.2  代码包测试工具 13
  1.3.3  接口测试工具 13
  1.3.4  Web UI测试工具 14
  1.3.5  App测试工具 15
  1.3.6  性能测试工具 16
  1.4  如何入门自动化测试 17
  1.4.1  入门是基础 17
  1.4.2  入行是起点 18
  1.4.3  入职是挑战 18
  1.5  思考题 18
  第2章  unittest 19
  2.1  简介 19
  2.2  测试用例 20
  2.3  测试脚手架 21
  2.4  测试套件 23
  2.4.1  TestSuite类构建 23
  2.4.2  TestLoader类构建 25
  2.4.3  其他方法构建 26
  2.5  测试运行器 27
  2.6  命令行接口 28
  2.7  用例执行顺序 30
  2.8  测试断言 31
  2.9  skip装饰器 33
  2.10  模拟对象mock 36
  2.11  ddt实现参数化 38
  2.12  多线程运行 42
  2.13  定时运行 44
  2.14  生成测试报告 46
  2.15  发送测试结果通知 48
  2.16  思考题 54
  第3章  pytest 55
  3.1  简介 55
  3.2  第一个示例 55
  3.3  测试用例 57
  3.4  命令行参数 59
  3.5  跳过 61
  3.6  标记 62
  3.6.1  内置标记 63
  3.6.2  自定义标记 64
  3.7  夹具 66
  3.7.1  fixture参数 66
  3.7.2  夹具的使用 67
  3.7.3  夹具作用域 68
  3.7.4  共享夹具 70
  3.8  参数化 72
  3.8.1  标记方式实现 72
  3.8.2  夹具方式实现 73
  3.9  配置文件 74
  3.10  插件 76
  3.11  分布式执行 77
  3.12  Allure测试报告 79
  3.12.1  Allure安装 79
  3.12.2  生成测试报告 80
  3.12.3  Allure特性与应用示例 82
  3.13  思考题 87
  第4章  Requests 88
  4.1  简介 88
  4.2  主要方法 89
  4.2.1  请求示例 89
  4.2.2  查询参数 90
  4.2.3  响应对象 91
  4.3  发送GET请求 92
  4.3.1  params参数 92
  4.3.2  自定义请求头 93
  4.4  发送POST请求 94
  4.4.1  data参数 95
  4.4.2  json参数 96
  4.5  发送其他类型的请求 97
  4.5.1  发送HEAD请求 98
  4.5.2  发送PUT请求 98
  4.5.3  发送PATCH请求 98
  4.5.4  发送DELETE请求 99
  4.6  文件上传 99
  4.7  文件下载 100
  4.8  Cookies参数 101
  4.9  Session对象 103
  4.10  重定向 104
  4.11  添加代理 105
  4.12  超时设置 106
  4.13  异常处理 106
  4.14  证书验证 107
  4.15  身份认证 107
  4.16  生成测试用例脚本 108
  4.17  思考题 110
  第5章  Postman 111
  5.1  安装 111
  5.2  界面介绍 113
  5.3  HTTP请求 115
  5.3.1  请求界面介绍 116
  5.3.2  GET请求 117
  5.3.3  POST请求 118
  5.3.4  其他类型请求 121
  5.3.5  文件上传 122
  5.3.6  文件下载 123
  5.3.7  授权 124
  5.3.8  前置脚本 126
  5.3.9  后置脚本 128
  5.3.10  请求设置 131
  5.3.11  其他 132
  5.4  环境和变量 132
  5.5  Cookies管理 135
  5.6  代理设置 136
  5.7  证书管理 138
  5.8  集合管理 140
  5.8.1  执行集合 141
  5.8.2  参数化 142
  5.8.3  分支和循环 144
  5.9  模拟服务器 145
  5.10  监视器 148
  5.11  命令行执行集合 152
  5.12  思考题 157
  第6章  Selenium 158
  6.1  简介 158
  6.1.1  版本演进 158
  6.1.2  特点 159
  6.1.3  WebDriver的工作原理 159
  6.2  环境准备 160
  6.2.1  安装Selenium 160
  6.2.2  安装浏览器驱动 161
  6.2.3  第一个示例 162
  6.3  浏览器操作 163
  6.4  页面元素定位 169
  6.4.1  页面查找元素 170
  6.4.2  id定位 171
  6.4.3  name定位 171
  6.4.4  class定位 172
  6.4.5  tag定位 172
  6.4.6  link定位 173
  6.4.7  partial link定位 173
  6.4.8  css定位 173
  6.4.9  xpath定位 174
  6.4.10  相对定位 178
  6.4.11  定位一组元素 179
  6.5  获取页面内容 180
  6.6  获取元素属性 181
  6.7  页面元素操作 183
  6.7.1  单击 183
  6.7.2  输入文本 184
  6.7.3  清除文本 184
  6.7.4  提交表单 185
  6.7.5  单选框操作 186
  6.7.6  复选框操作 187
  6.7.7  下拉框操作 187
  6.7.8  Frame结构操作 189
  6.8  文件操作 191
  6.8.1  文件上传 191
  6.8.2  文件下载 192
  6.9  模拟鼠标操作 194
  6.10  模拟键盘操作 197
  6.11  延时等待 198
  6.12  浏览器配置 201
  6.13  其他操作 203
  6.13.1  调用JavaScript 203
  6.13.2  Cookie操作 204
  6.13.3  屏幕截图 205
  6.13.4  获取环境信息 205
  6.13.5  执行CDP命令 206
  6.13.6  设置超时时间 207
  6.14  Webdriver Manager 207
  6.15  Selenium Grid 208
  6.16  生成测试用例脚本 212
  6.17  思考题 218
  第7章  Appium 219
  7.1  简介 219
  7.2  Android模拟器 220
  7.3  ADB工具 221
  7.3.1  ADB的工作原理 221
  7.3.2  ADB工具安装 222
  7.3.3  ADB常用命令 224
  7.3.4  自动化测试中常用的ADB命令 225
  7.4  Appium环境准备 228
  7.4.1  安装Appium Desktop 228
  7.4.2  安装Appium Inspector 229
  7.4.3  Appium简单使用 230
  7.4.4  Inspector功能 233
  7.4.5  脚本录制 233
  7.4.6  查看元素属性 236
  7.5  Appium Server 236
  7.6  Appium Client 238
  7.7  UI Automator Viewer 240
  7.8  元素定位 241
  7.9  元素操作 243
  7.10  获取元素属性 244
  7.11  触控事件 246
  7.11.1  TouchAction 246
  7.11.2  输入源行为 248
  7.11.3  单点触控 249
  7.11.4  多点触控 250
  7.11.5  其他触控操作 252
  7.12  设备交互API 254
  7.13  Android Toast识别 258
  7.14  其他操作 259
  7.15  不同应用的测试 262
  7.15.1  App应用程序的分类 262
  7.15.2  案例一:
  原生应用的测试 263
  7.15.3  案例二:
  Web应用测试 271
  7.15.4  案例三:
  混合应用测试 275
  7.15.5  案例四:
  小程序测试 277
  7.16  稳定性测试 279
  7.16.1  Monkey简介 279
  7.16.2  Monkey常用参数 280
  7.16.3  Monkey日志分析 282
  7.17  思考题 285
  第8章  JMeter 286
  8.1  简介 286
  8.2  安装 287
  8.3  配置文件 288
  8.4  界面介绍 291
  8.5  脚本录制 293
  8.6  基本组件 297
  8.7  测试计划 298
  8.8  线程组 301
  8.8.1  普通线程组 302
  8.8.2  开放模型线程组 304
  8.9  取样器 305
  8.9.1  HTTP请求 306
  8.9.2  调试取样器 311
  8.9.3  BeanShell 取样器 312
  8.9.4  FTP请求 314
  8.9.5  JDBC请求 316
  8.9.6  SMTP取样器 316
  8.10  配置元件 320
  8.10.1  CSV数据文件设置 321
  8.10.2  HTTP信息头管理器 323
  8.10.3  HTTP Cookie管理器 324
  8.10.4  HTTP请求默认值 326
  8.10.5  JDBC连接配置器 327
  8.10.6  随机变量 330
  8.11  前置处理器 332
  8.11.1  用户参数 333
  8.11.2  取样器超时 334
  8.12  后置处理器 334
  8.12.1  CSS/Query提取器 335
  8.12.2  JSON提取器 337
  8.12.3  正则表达式提取器 338
  8.12.4  XPath提取器 339
  8.13  断言 341
  8.13.1  响应断言 342
  8.13.2  JSON断言 343
  8.13.3  XPath断言 345
  8.14  定时器 346
  8.14.1  固定定时器 347
  8.14.2  统一随机定时器 347
  8.14.3  同步定时器 347
  8.14.4  高斯随机定时器 348
  8.15  监听器 348
  8.15.1  查看结果树 349
  8.15.2  聚合报告 350
  8.15.3  响应时间图 351
  8.15.4  断言结果 351
  8.16  逻辑控制器 352
  8.16.1  IF控制器 353
  8.16.2  循环控制器 354
  8.16.3  ForEach控制器 355
  8.16.4  仅一次控制器 356
  8.17  作用域和执行顺序 357
  8.18  插件 357
  8.19  函数 360
  8.20  分布式部署 362
  8.21  可视化监控平台的搭建与使用 364
  8.21.1  安装和部署InfluxDB 1.7 365
  8.21.2  安装和部署Grafana 365
  8.21.3  Grafana中添加
  JMeter模板 366
  8.21.4  创建和运行JMeter脚本 367
  8.22  思考题 368
  第9章  实现单元测试 370
  9.1  被测产品介绍 370
  9.1.1  项目介绍 370
  9.1.2  产品搭建 371
  9.2  单元测试简介 374
  9.2.1  概念 374
  9.2.2  分类 375
  9.2.3  对测试人员的要求 375
  9.3  用例设计方法 376
  9.3.1  路径覆盖 377
  9.3.2  语句覆盖 377
  9.3.3  条件覆盖 378
  9.3.4  判定覆盖 379
  9.3.5  判定和条件覆盖 380
  9.3.6  条件组合覆盖 381
  9.4  实战对象 381
  9.5  设计测试用例 383
  9.6  编写测试脚本 384
  9.7  统计代码覆盖率 385
  9.8  思考题 387
  第10章  实现代码包测试 389
  10.1  什么是代码包 389
  10.2  用例设计方法 389
  10.3  实践对象 390
  10.4  设计测试用例 392
  10.5  编写测试脚本 393
  10.6  测试运行 397
  10.7  思考题 398
  第11章  实现接口测试 399
  11.1  接口测试简介 399
  11.1.1  概念 399
  11.1.2  常见接口协议 400
  11.2  用例设计方法 401
  11.3  实战对象 403
  11.4  构建项目结构 404
  11.5  设计测试用例 406
  11.6  编写项目脚本 407
  11.6.1  设计测试用例文件 407
  11.6.2  添加基础配置数据 413
  11.6.3  读取配置文件内容 414
  11.6.4  获取测试用例数据 415
  11.6.5  封装接口请求函数 418
  11.6.6  设置共享夹具 419
  11.6.7  封装断言函数 419
  11.6.8  添加测试用例函数 422
  11.7  执行测试项目 425
  11.8  思考题 427
  第12章  实现Web UI测试 428
  12.1  Web UI测试简介 428
  12.2  用例设计方法 429
  12.3  Page Object模型 430
  12.4  实战对象 432
  12.5  设计测试用例 433
  12.6  项目结构搭建 434
  12.7  编写测试脚本 436
  12.7.1  封装元素定位 436
  12.7.2  添加测试数据 438
  12.7.3  页面功能函数封装 439
  12.7.4  实现测试用例 446
  12.8  执行测试项目 452
  12.9  思考题 453
  第13章  实现移动端测试 454
  13.1  App测试简介 454
  13.2  项目实战对象 455
  13.3  项目结构搭建 456
  13.4  编写测试脚本 457
  13.4.1  封装元素定位 457
  13.4.2  添加测试数据 458
  13.4.3  页面功能函数封装 459
  13.4.4  实现测试用例 465
  13.5  执行测试项目 466
  13.6  思考题 467
  第14章  实现性能测试 468
  14.1  性能测试简介 468
  14.1.1  测试流程 469
  14.1.2  常见性能指标 469
  14.1.3  流量回放技术 470
  14.2  性能需求分析 471
  14.3  制订测试计划 472
  14.4  确定测试方案 475
  14.5  搭建测试环境 478
  14.6  准备测试数据 479
  14.7  开发压测脚本 479
  14.7.1  添加请求 479
  14.7.2  运行调试 485
  14.7.3  设置断言 487
  14.7.4  增加压力 490
  14.8  测试执行及监控 492
  14.9  结果分析 493
  14.10  性能调优 497
  14.11  编写测试报告 498
  14.12  思考题 498
  第15章  容器化部署与自动化测试 499
  15.1  什么是容器化部署 499
  15.2  Docker安装 500
  15.3  Docker核心概念 502
  15.4  Docker使用 503
  15.4.1  仓库操作 503
  15.4.2  镜像操作 504
  15.4.3  容器操作 506
  15.5  Dockerfile 510
  15.6  Docker部署Jenkins 513
  15.6.1  Jenkins安装 513
  15.6.2  Jenkins在自动化测试中的应用 515
  15.7  持续集成与自动化测试 522
  15.7.1  什么是持续集成 523
  15.7.2  持续集成常用工具 523
  15.7.3  部署测试项目 524
  15.8  思考题 524
  参考文献 525
33/3<123
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号