猜你喜欢
Python实现Web UI自动化测试实战:Selenium 3 4+unittest Pyte

Python实现Web UI自动化测试实战:Selenium 3 4+unittest Pyte

书籍作者:Storm ISBN:9787115564054
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:5610
创建日期:2021-10-07 发布日期:2021-10-07
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介
《Python实现Web UI自动化测试实战:Selenium 3/4+unittest/Pytest+GitLab+Jenkins》主要介绍如何基于Python使用Selenium、unittest、Pytest、GitLab、Jenkins等工具实现Web UI自动化测试,以帮助读者提升测试水平。《Python实现Web UI自动化测试实战:Selenium 3/4+unittest/Pytest+GitLab+Jenkins》第1章简要介绍自动化测试的相关概念和思路、Selenium的特点和发展历史、WebDriver的原理,以及Selenium IDE的简单应用。第2章和第3章介绍与Python相关的基础知识,为后续内容的讲解做准备。第4章~第15章详细介绍使用各种框架进行自动化测试的方法和实战案例,帮助读者进一步掌握自动化测试技能。第16章从实际情况出发,介绍提升自动化测试用例执行效率的几种常见方法,供读者在实际操作中参考。
本书适合计算机相关专业的学生、测试行业的从业人员和希望提升自动化测试实战水平的技术人员阅读。
作者简介
Storm(杜子龙),先后就职于华为、联想、Aicent、国能信息等公司,拥有十余年的软件测试从业经验,对接口测试、UI 自动化测试、性能测试等均有一定积累,曾参与Android OS 系统、医疗SaaS系统、商旅系统等多个大型项目。
李鲲程,黑龙江人,毕业于北京邮电大学,软件工程硕士。现就职于中国信息通信研究院数据研究中心大数据技术部,高级工程师。长期从事软件开发、大数据系统运维与数据分析等工作。著有《Visual C++ 打印编程技术与工程实践》等图书和《基于关键词进行文本分类的研究与应用》等多篇论文。
边宇明,2011 年参加工作,先后在中国银行、国能信息等公司从事软件测试工作,对白盒测试、自动化测试有一定的研发经验。
编辑推荐
1.详细解读Python与自动化测试基础知识
2.深入讲解自动化测试使用原理及项目实战
3.解析自动化测试效率提高方案
4.详细讲解官方推荐框架unittest及pytest
5.扩展持续集成、提升自动化效率等内容拓展读者视野
6.提供图书中的源代码及学习资料
目录
第 1章 自动化测试简介
1.1 什么是自动化测试 2
1.2 Selenium简介 3
1.2.1 Selenium的特点 3
1.2.2 Selenium发展历史 3
1.2.3 WebDriver组件 4
1.3 Selenium IDE 5
1.3.1 Selenium Firefox IDE 6
1.3.2 Katalon Recorder插件 9
1.4 WebDriver脚本示例 10

第 2章 测试环境准备
2.1 Windows操作系统测试环境搭建 13
2.1.1 Python 13
2.1.2 Selenium 16
2.1.3 PyCharm 18
2.2 macOS操作系统测试环境搭建 23
2.3 开发者工具简介 24
2.3.1 Chrome DevTools 24
2.3.2 Firefox DevTools 25

第3章 Python知识储备
3.1 Python基本数据类型 27
3.1.1 数值 27
3.1.2 字符串 28
3.1.3 列表 29
3.1.4 元组 30
3.1.5 字典 31
3.1.6 集合 32
3.2 顺序、分支、循环语句 32
3.2.1 顺序语句 32
3.2.2 分支语句 33
3.2.3 循环语句 34
3.3 Python函数、模块 35
3.3.1 创建函数 36
3.3.2 函数参数 36
3.3.3 Python模块 44
3.4 面向对象编程 44
3.4.1 类和实例 46
3.4.2 继承和多态 49
3.5 Python中的os模块 51
3.6 Python中的time模块 53
3.7 文件读写 55
3.7.1 Python中的open函数 56
3.7.2 JSON文件 58
3.7.3 YAML文件 63
3.7.4 CSV文件 65

第4章 前端知识储备
4.1 HTML基础知识 68
4.1.1 创建HTML文件 68
4.1.2 HTML元素 69
4.1.3 HTML元素属性 71
4.1.4 复杂元素 71
4.2 CSS相关知识 76
4.2.1 CSS基础 76
4.2.2 CSS选择器 77
4.3 JavaScript相关知识 78
4.3.1 JavaScript基础概念 78
4.3.2 JavaScript HTML DOM 79
4.4 XML相关知识 80
4.4.1 XML简介 80
4.4.2 XML树结构 81
4.4.3 XPath 83

第5章 Selenium 基础方法
5.1 Selenium常用方法 86
5.1.1 打开、关闭浏览器 87
5.1.2 访问某个网址 87
5.1.3 网页的前进和后退 88
5.1.4 刷新浏览器页面 89
5.1.5 浏览器窗口最大化、最小化和全屏 89
5.1.6 获取、设置浏览器窗口的大小 90
5.1.7 获取、设置浏览器窗口的位置 91
5.1.8 获取页面的title 91
5.1.9 获取当前页面的URL地址 92
5.1.10 获取页面的源码 93
5.1.11 多窗口操作(Selenium 3) 94
5.1.12 多窗口操作(Selenium 4) 96
5.1.13 浏览器方法和属性总结 96
5.2 Selenium元素定位方法 97
5.2.1 页面元素定位方法概览 98
5.2.2 使用id定位元素 99
5.2.3 使用name定位元素 100
5.2.4 使用class name定位元素 101
5.2.5 使用tag name定位元素 101
5.2.6 使用链接的全部文字定位元素 103
5.2.7 使用部分链接文字定位元素 104
5.2.8 使用XPath定位元素 105
5.2.9 使用CSS定位元素 105
5.2.10 使用find_element('locator', 'value')定位元素 106
5.2.11 定位组元素 107
5.2.12 XPath和CSS selector精讲 110
5.2.13 Selenium 4的相对定位器 117
5.2.14 元素定位“没有银弹” 118
5.3 获取页面元素的相关信息 122
5.3.1 获取元素的基本信息 123
5.3.2 获取元素的属性信息 123
5.3.3 获取元素的CSS属性值 124
5.3.4 判断页面元素是否可见 125
5.3.5 判断页面元素是否可用 127
5.3.6 判断元素的选中状态 128
5.4 鼠标操作实战 129
5.4.1 鼠标单击操作 129
5.4.2 内置鼠标操作包 129
5.4.3 鼠标双击操作 130
5.4.4 鼠标右击操作 130
5.4.5 鼠标指针悬浮操作 131
5.4.6 鼠标拖动操作 131
5.4.7 其他鼠标操作汇总 132
5.5 键盘操作 133
5.5.1 文字输入 133
5.5.2 组合键 133

第6章 常见控件实战
6.1 搜索框 137
6.2 按钮 138
6.3 复选框 141
6.4 链接 143
6.5 select下拉列表 144
6.6 input下拉列表 152
6.7 表格 154
6.8 框架 158
6.9 JavaScript弹窗 164
6.10 非JavaScript弹窗 168
6.11 日期时间控件 170
6.12 文件下载 171
6.13 文件上传 177

第7章 Selenium高级应用
7.1 复杂控件的操作 182
7.1.1 操作Ajax选项 182
7.1.2 操作富文本编辑器 183
7.1.3 滑动滑块操作 186
7.2 WebDriver的特殊操作 188
7.2.1 元素class值包含空格 188
7.2.2 property、attribute、text的区别 190
7.2.3 定位动态id 192
7.2.4 操作cookie 193
7.2.5 截图功能 199
7.2.6 获取焦点元素 202
7.2.7 颜色验证 202
7.3 JavaScript的应用 203
7.3.1 操作页面元素 204
7.3.2 修改页面元素属性 204
7.3.3 操作滚动条 205
7.3.4 高亮显示正在被操作的页面元素 207
7.3.5 操作span类型元素 208
7.4 浏览器定制启动参数 209
7.5 AutoIt的应用 213
7.6 重要的异常 217

第8章 Selenium等待机制
8.1 影响元素加载的外部因素 221
8.2 Selenium强制等待 222
8.3 Selenium隐性等待 223
8.4 Selenium显性等待 226

第9章 线性测试脚本
9.1 Redmine系统 243
9.1.1 下载和安装 243
9.1.2 常见错误 246
9.1.3 Redmine系统的启动和关闭 247
9.1.4 Redmine简单使用 249
9.2 线性脚本 251

第 10章 unittest测试框架
10.1 unittest框架结构 256
10.2 测试固件 258
10.3 编写测试用例 260
10.4 执行测试用例 260
10.5 用例执行次序 263
10.6 内置装饰器 266
10.7 命令行执行测试 268
10.8 批量执行测试文件 270
10.9 测试断言 272
10.10 测试报告 273
10.11 unittest与Selenium 276
10.12 unittest参数化 279
10.12.1 unittest + DDT 279
10.12.2 unittest + parameterized 281

第 11章 Pytest测试框架
11.1 Pytest框架简介 284
11.2 Pytest测试固件 286
11.3 Pytest测试用例和断言 290
11.4 Pytest框架测试执行 292
11.4.1 使用main函数执行 292
11.4.2 在命令行窗口中执行 294
11.5 Pytest框架用例执行失败重试 295
11.6 标记机制 298
11.6.1 对测试用例进行分级 298
11.6.2 跳过某些用例 300
11.7 全局设置 301
11.8 测试报告 304
11.8.1 pytest-html测试报告 304
11.8.2 Allure测试报告 307
11.9 Pytest与Selenium 312
11.10 Pytest参数化 315

第 12章 PO设计模式
12.1 PO方案一 318
12.2 PO方案二 324
12.3 项目变更应对 330

第 13章 测试框架开发
13.1 测试数据分离 336
13.2 测试配置分离 338
13.3 Selenium API封装 341
13.4 测试报告 346

第 14章 项目实战
14.1 测试计划 348
14.2 测试用例 349
14.3 测试脚本 351
14.4 反思:测试数据 358
14.4.1 测试数据准备 358
14.4.2 冗余数据处理 359

第 15章 持续集成
15.1 Git应用 364
15.1.1 Git安装 365
15.1.2 Git基本操作 366
15.1.3 GitLab部署 369
15.1.4 Git远端仓库 373
15.2 Jenkins应用 374
15.2.1 Jenkins部署 375
15.2.2 管理插件 378
15.2.3 创建任务 379
15.2.4 命令行启动Jenkins 381
15.2.5 设置项目执行频率 383
15.2.6 配置邮件 384
15.2.7 配置钉钉 386
15.3 自动化测试持续集成 389


第 16章 提升效率
16.1 立足根本 394
16.2 另辟蹊径 395
16.2.1 无头浏览器 395
16.2.2 不关闭浏览器 396
16.3 着眼未来 397
16.3.1 分布式执行 398
16.3.2 Docker技术 402
短评

东西不错非常满意很开心很好用,

2021-08-12 21:51:13