每日一书《Python web自动化测试入门与实战》PDF,从入门到入土

内容简介

本书由一线测试工程师结合工作实践精心编撰。全书基于Python语言,从环境搭建、基础知识、常用框架、项目实战、持续集成等方面详细介绍了Web自动化测试的知识。全书共三篇14章,*篇(第1~第7章)为基础篇,介绍Python语言基础、Selenium和WebDriver的使用以及两个流行的单元测试框架UnitTest和Pytest;第二篇(第8章~第10章)为实践篇,主要以数据驱动模型和PO模型为例介绍自动化测试项目的流程和应用;第三篇(第11章~14章)为卓异篇,介绍了测试人员如何拓展自己的知识面、提高项目代码质量的建议以及一些与自动化测试相关的面试题。 本书技术先进,通俗易懂,示例丰富,特别适合于想入行自动化测试岗位的初学者和在校学生,也适合掌握了一定的测试基础知识希望快速提升实战能力的读者使用。

《Python web自动化测试入门与实战》或关注公众号;‘程序员白楠楠’获取~    
 
         

       

书本目录:

第一篇 基础篇


第1章 学习环境的搭建


1.1 环境搭建
1.1.1 Selenium 简介
1.1.2 Python 简介
1.1.3 Python安装
1.1.4 环境变量设置
1.1.5 Selenium的安装
1.1.6 浏览器驱动的安装
1.1.7 PyCharm的安装
1.2 开始你的第一个项目



第2章 Python基础


2.1 基础语法
2.1.1 打印
2.1.2 编码
2.1.3 数据类型
2.1.4 变量
2.1.5 注释
2.1.6 缩进
2.2 运算符
2.2.1 算术运算符
2.2.2 比较运算符
2.2.3 逻辑运算符
2.2.4 Is 与 ==
2.3 条件语句
2.3.1 单项判断
2.3.2 双向判断
2.3.3 多项判断
2.4 循环语句
2.4.1 for语句
2.4.2 while 语句
2.4.3 continue和break
2.5 列表
2.5.1 创建列表
2.5.2 获取元素
2.5.3 添加元素
2.5.4 删除元素
2.5.5 列表切片
2.5.6 其他操作
2.6 元组
2.6.1 创建元组
2.6.2 获取元素
2.6.3 拼接元组
2.6.4 删除元组
2.6.5 其他操作
2.7 字典
2.7.1 创建字典
2.7.2 获取元素
2.7.3 修改元素
2.7.4 删除元素
2.7.5 其他操作
2.8 集合
2.8.1 创建集合
2.8.2 添加元素
2.8.3 移除元素
2.8.4 其他操作
2.9 推导式 36
2.9.1 列表推导式
2.9.2 字典推导式
2.9.3 集合推导式
2.10 生成器
2.10.1 创建生成器
2.10.2 send方法
2.11 迭代器
2.11.1 可迭代对象
2.11.2 创建迭代器
2.12 函数
2.12.1 函数
2.12.2 参数
2.12.3 匿名函数
2.12.4 参数类型
2.12.5 返回值类型
2.13 类和对象
2.13.1 创建类
2.13.2 创建实例对象
2.13.3 类的私有化
2.13.4 类继承
2.13.5 类的重写
2.14 模块
2.14.1 模块的分类
2.14.2 模块的导入
2.15 作用域
2.16 异常机制
2.16.1 try-except
2.16.2 else
2.16.3 finally
2.17 __init__.py 文件
2.18 Python实用技巧


第3章 Selenium WebDriver


3.1 WebDriver 简介
3.1.1 WebDriver的特点
3.1.2 常用WebDriver
3.2 源码中查找元素
3.2.1 查看网页源码
3.2.2 查找元素的属性
3.3 元素定位
3.3.1 id定位
3.3.2 class定位
3.3.3 name定位
3.3.4 tag定位
3.3.5 xPath定位
3.3.6 link定位
3.3.7 Partial link定位
3.3.8 CSS选择器定位
3.3.9 By定位
3.3.10 确认元素的唯一性

3.4 定位一组元素
3.5 浏览器操作
3.5.1 浏览器最大化
3.5.2 设置浏览器的宽和高
3.5.3 访问网页
3.5.4 浏览器后退
3.5.5 浏览器前进
3.5.6 刷新页面
3.5.7 关闭浏览器当前窗口
3.5.8 结束进程
3.5.9 获取页面 title
3.5.10 获取当前页面的URL
3.5.11 获取页面源码
3.5.12 切换浏览器窗口
3.5.13 滚动条操作
3.6 对象操作
3.6.1 单击对象
3.6.2 输入内容
3.6.3 清空内容
3.6.4 提交表单
3.6.5 获取文本内容
3.6.6 获取对象属性值
3.6.7 对象显示状态
3.6.8 对象编辑状态
3.6.9 对象选择状态

3.7 键盘操作
3.7.1 send_keys 操作
3.7.2 keyUp/keyDown 操作
3.8 鼠标操作
3.8.1 鼠标右击
3.8.2 鼠标双击
3.8.3 鼠标悬停
3.8.4 鼠标拖放
3.8.5 鼠标其他事件
3.9 下拉框操作
3.10 特殊Dom结构操作
3.10.1 Windows弹窗
3.10.2 非Windows弹窗
3.10.3 frame与iframe
3.11 文件上传操作
3.11.1 直接上传
3.11.2 使用AutoIt上传
3.11.3 使用WinSpy上传

3.12 文件下载操作
3.12.1 手动修改
3.12.2 通过options修改
3.13 WebDriver的高级特性
3.13.1 cookie操作
3.13.2 JavaScript调用
3.13.3 屏幕截图
3.14 时间等待
3.14.1 强制等待
3.14.2 隐式等待
3.14.3 显式等待
3.15 其他设置
3.15.1 限制页面加载时间
3.15.2 获取环境信息
3.15.3 非W3C标准命令
3.16 配置Chrome浏览器选项
3.17 SSL证书错误处理


第4章 UnitTest测试框架


4.1 UnitTest简介
4.2 TestFixture
4.3 TestCase
4.4 断言 Assert
4.5 TestSuit

4.5.1 TestSuite直接构建测试集
4.5.2 addTest( ) 构建测试集
4.5.3 addTests( )构建测试集
4.5.4 skip装饰器
4.6 TestLoader
4.7 TestRunner
4.8 生成HTML 报告


第5章 Selenium Grid


5.1 Selenium Grid简介
5.2 Selenium Grid的工作原理
5.3 环境搭建

5.3.1 文件准备
5.3.2 部署Hub节点
5.3.3 部署Node节点

5.4 测试脚本开发
5.4.1 指定Node节点
5.4.2 指定Hub地址


第6章 Pytest测试框架


6.1 Pytest简介
6.2 Console参数

6.2.1 实例初体验
6.2.2 -v 参数
6.2.3 -h参数
6.2.4 其他参数
6.3 mark标记
6.3.1 标记测试函数
6.3.2 示例说明
6.3.3 直接标记
6.3.4 模糊匹配标记
6.3.5 使用mark自定义标记
6.4 固件 Fixture
6.4.1 Fixture的使用
6.4.2 Fixure的作用域
6.4.3 autouse自动使用
6.4.4 yield的使用
6.4.5 共享Fixture功能
6.4.6 参数化
6.4.7 内置Fixture
6.5 Pytest插件
6.5.1 插件的安装与卸载
6.5.2 查看活动插件
6.5.3 插件的注销
6.6 Allure测试报告
6.6.1 Allure的安装
6.6.2 脚本应用
6.6.3 报告生成


第7章 Python脚本开发常用模块


7.1 日期和时间模块 time和datetime
7.2 文件和目录模块os
7.3 系统功能模块 sys
7.4 导入第三方模块pip
7.5 邮件模块 smtplib

7.5.1 开启邮箱SMTP服务
7.5.2 smtplib模块的使用
7.6 日志 logging
7.7 CSV读写模块csv
7.8 Excel操作模块 openpyxl
7.9 MySQL数据库操作包pymysql

7.9.1 简单的使用
7.9.2 获取查询数据
7.9.3 增删改数据
7.10 JSON数据 210
7.10.1 JSON语法
7.10.2 Python读写JSON
7.13 多线程模块threading

第二篇 实践篇


第8章 数据驱动模型


8.1 数据驱动简介
8.2 ddt的使用

8.2.1 ddt的安装
8.2.2 ddt的常用方法
8.2.3 实例
8.3 项目解析
8.4 框架搭建
8.5 设计测试用例
8.6 数据文件操作

8.7 测试用例生成
8.7.1 Excel数据处理
8.7.2 测试步骤
8.7.3 断言处理
8.7.4 生成测试用例的生成
8.8 测试执行


第9章 PO模型——一个测试项目的实现 231
9.1 项目解析
9.1.1 主页
9.1.2 关于我们页面
9.1.3 退出登录
9.2 框架搭建
9.3 配置文件
9.4 常用结构的封装

9.4.1 判断元素存在
9.4.2 Tab切换
9.4.3 多级菜单
9.4.4 表格结构
9.4.5 分页
9.5 页面封装
9.5.1 基础页面
9.5.2 登录页面
9.5.3 主页页面
9.5.4 关于我们页面
9.5.5 退出登录功能
9.6 测试用例生成
9.6.1 登录功能的测试用例
9.6.2 主页页面测试用例
9.6.3 关于我们页面的测试用例
9.6.4 退出登录功能的测试用例
9.7 测试用例的组织
9.8 设置项目入口


第10章 持续集成
10.1 Jenkins的安装
10.1.1 Jenkins的下载
10.1.2 安装
10.1.3 创建管理员用户
10.2 创建项目
10.3 任务定时
10.3.1 任务定时设置
10.3.2 设置说明
10.3.3 构建实例
10.4 邮件发送
10.4.1 插件安装
10.4.2 HTML 报告配置
10.4.3 邮件配置


第三篇 卓异篇


第11章 自动化测试模型
11.1 自动化测试模型简介
11.2 线性模型
11.3 模块化驱动模型
11.4 数据驱动模型
11.5 关键字驱动模型
11.6 混合驱动模型
1.7 行为驱动模型

11.7.1 安装Behave
11.7.2 Behave的使用
11.7.3 运行
11.7.4 生成测试报告
第12章 高质量代码的编写
12.1 编码规范
12.2 分层与结构
12.3 阅读源码

12.3.1 分析层次
12.3.2 分析结构
12.3.3 分析具体文件
12.4 持续学习


第13章 Git的使用


13.1 Git简介
13.2 安装Git
13.3 Git的配置

13.3.1 配置用户信息
13.3.2 文本编辑器配置
13.3.3 配置差异分析工具
13.3.4 查看配置信息
13.5 常用命令
13.6 GitHub
13.6.1 账号注册
13.6.2 创建仓库
13.6.3 上传项目
13.6.4 Jenkins与Git
第14章 精选面试题
14.1 Python题
14.2 Selenium题
14.3 开放性题

附录1 示例代码 324
附录2 项目搭建 327
参考文献 330

总结:

自动化测试,必须要会一门语言,Python语言是目前最万能的语言,自动化测试,人工智能,大数据等。Python是一门面向对象的编程语言,编译速度超快,从诞生到现在已经20来个年头了。Python的排名从去年开始就借助人工智能持续上升,Python的火热,也带动了工程师们的就业热。

《Python web自动化测试入门与实战》或关注公众号;‘程序员白楠楠’获取~    
 
        


全部评论

相关推荐

10-06 12:46
门头沟学院 Java
跨考小白:定时任务启动
点赞 评论 收藏
分享
评论
点赞
收藏
分享
正在热议
# 25届秋招总结 #
442870次浏览 4513人参与
# 春招别灰心,我们一人来一句鼓励 #
42047次浏览 534人参与
# 北方华创开奖 #
107450次浏览 600人参与
# 地方国企笔面经互助 #
7969次浏览 18人参与
# 同bg的你秋招战况如何? #
76925次浏览 565人参与
# 实习必须要去大厂吗? #
55786次浏览 961人参与
# 阿里云管培生offer #
120332次浏览 2220人参与
# 虾皮求职进展汇总 #
115973次浏览 886人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
11632次浏览 289人参与
# 实习,投递多份简历没人回复怎么办 #
2454828次浏览 34858人参与
# 提前批简历挂麻了怎么办 #
149917次浏览 1978人参与
# 在找工作求抱抱 #
906050次浏览 9421人参与
# 如果公司给你放一天假,你会怎么度过? #
4760次浏览 55人参与
# 你投递的公司有几家约面了? #
33209次浏览 188人参与
# 投递实习岗位前的准备 #
1195992次浏览 18550人参与
# 机械人春招想让哪家公司来捞你? #
157640次浏览 2267人参与
# 双非本科求职如何逆袭 #
662310次浏览 7397人参与
# 发工资后,你做的第一件事是什么 #
12786次浏览 62人参与
# 工作中,努力重要还是选择重要? #
35857次浏览 384人参与
# 简历中的项目经历要怎么写? #
86928次浏览 1516人参与
# 参加完秋招的机械人,还参加春招吗? #
20142次浏览 240人参与
# 我的上岸简历长这样 #
452040次浏览 8089人参与
牛客网
牛客企业服务