该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

图书目录

第一篇 基础篇

第1章 学习环境的搭建... 1

1.1 环境搭建... 1

1.1.1 Selenium简介... 2

1.1.2 Python简介... 3

1.1.3 Python的安装... 5

1.1.4 环境变量的设置... 6

1.1.5 Selenium的安装... 7

1.1.6 浏览器驱动的安装... 8

1.1.7 PyCharm的安装... 12

1.2 开始你的第一个项目... 15

第2章 Python基础... 18

2.1 基础语法... 18

2.1.1 打印... 18

2.1.2 编码... 19

2.1.3 数据类型... 20

2.1.4 变量... 21

2.1.5 注释... 21

2.1.6 缩进... 22

2.2 运算符... 22

2.2.1 算术运算符... 22

2.2.2 比较运算符... 23

2.2.3 逻辑运算符... 23

2.2.4 Is 与 ==. 24

2.3 条件语句... 24

2.3.1 单项判断... 25

2.3.2 双向判断... 25

2.3.3 多项判断... 25

2.4 循环语句... 26

2.4.1 for语句... 26

2.4.2 while语句... 27

2.4.3 continue和break. 28

2.5 列表... 28

2.5.1 创建列表... 28

2.5.2 获取元素... 29

2.5.3 添加元素... 29

2.5.4 删除元素... 29

2.5.5 列表切片... 30

2.5.6 其他操作... 31

2.6 元组... 31

2.6.1 创建元组... 31

2.6.2 获取元素... 31

2.6.3 拼接元组... 32

2.6.4 删除元组... 32

2.6.5 其他操作... 32

2.7 字典... 33

2.7.1 创建字典... 33

2.7.2 获取元素... 33

2.7.3 修改元素... 33

2.7.4 删除元素... 34

2.7.5 其他操作... 34

2.8 集合... 34

2.8.1 创建集合... 35

2.8.2 添加元素... 35

2.8.3 移除元素... 35

2.8.4 其他操作... 36

2.9 推导式... 36

2.9.1 列表推导式... 36

2.9.2 字典推导式... 37

2.9.3 集合推导式... 37

2.10 生成器... 38

2.10.1 创建生成器... 38

2.10.2 send方法... 39

2.11 迭代器... 40

2.11.1 可迭代对象... 40

2.11.2 创建迭代器... 40

2.12 函数... 41

2.12.1 函数... 41

2.12.2 参数... 42

2.12.3 匿名函数... 45

2.12.4 参数类型... 45

2.12.5 返回值类型... 46

2.13 类和对象... 46

2.13.1 创建类... 46

2.13.2 创建实例对象... 47

2.13.3 类的私有化... 48

2.13.4 类继承... 49

2.13.5 类的重写... 51

2.14 模块... 52

2.14.1 模块的分类... 52

2.14.2 模块的导入... 52

2.15 作用域... 53

2.16 异常机制... 54

2.16.1 try-except 54

2.16.2 else. 55

2.16.3 finally. 56

2.17 __init__.py文件... 56

2.18 Python实用技巧... 57

第3章 Selenium WebDriver 62

3.1 WebDriver 简介... 62

3.1.1 WebDriver的特点... 62

3.1.2 常用WebDriver 63

3.2 源码中查找元素... 63

3.2.1 查看网页源码... 63

3.2.2 查找元素的属性... 64

3.3 元素定位... 65

3.3.1 id定位... 68

3.3.2 class定位... 68

3.3.3 name定位... 69

3.3.4 tag定位... 70

3.3.5 xPath定位... 70

3.3.6 link定位... 71

3.3.7 Partial link定位... 72

3.3.8 CSS选择器定位... 72

3.3.9 By定位... 73

3.3.10 确认元素的唯一性... 74

3.4 定位一组元素... 76

3.5 浏览器操作... 78

3.5.1 浏览器最大化... 78

3.5.2 设置浏览器的宽和高... 78

3.5.3 访问网页... 78

3.5.4 浏览器后退... 79

3.5.5 浏览器前进... 79

3.5.6 刷新页面... 80

3.5.7 关闭浏览器当前窗口... 80

3.5.8 结束进程... 80

3.5.9 获取页面 title. 81

3.5.10 获取当前页面的URL. 81

3.5.11 获取页面源码... 82

3.5.12 切换浏览器窗口... 83

3.5.13 滚动条操作... 86

3.6 对象操作... 88

3.6.1 单击对象... 89

3.6.2 输入内容... 89

3.6.3 清空内容... 90

3.6.4 提交表单... 90

3.6.5 获取文本内容... 90

3.6.6 获取对象属性值... 91

3.6.7 对象显示状态... 91

3.6.8 对象编辑状态... 94

3.6.9 对象选择状态... 95

3.7 键盘操作... 96

3.7.1 send_keys 操作... 96

3.7.2 keyUp/keyDown 操作... 98

3.8 鼠标操作... 99

3.8.1 鼠标右击... 99

3.8.2 鼠标双击... 99

3.8.3 鼠标悬停... 100

3.8.4 鼠标拖放... 100

3.8.5 鼠标其他事件... 101

3.9 下拉框操作... 101

3.10 特殊Dom结构操作... 103

3.10.1 Windows弹窗... 103

3.10.2 非Windows弹窗... 106

3.10.3 frame与iframe. 108

3.11 文件上传操作... 110

3.11.1 直接上传... 110

3.11.2 使用AutoIt上传... 112

3.11.3 使用WinSpy上传... 115

3.12 文件下载操作... 119

3.12.1 手动修改... 119

3.12.2 通过options修改... 119

3.13 WebDriver的高级特性... 120

3.13.1 cookie操作... 120

3.13.2 JavaScript调用... 122

3.13.3 屏幕截图... 122

3.14 时间等待... 123

3.14.1 强制等待... 123

3.14.2 隐式等待... 124

3.14.3 显式等待... 124

3.15 其他设置... 125

3.15.1 限制页面加载时间... 125

3.15.2 获取环境信息... 126

3.15.3 非W3C标准命令... 127

3.16 配置Chrome浏览器... 127

3.17 SSL证书错误处理... 129

第4章 UnitTest测试框架... 131

4.1 UnitTest简介... 131

4.2 TestFixture. 132

4.3 TestCase. 133

4.4 断言Assert 135

4.5 TestSuit 137

4.5.1 TestSuite直接构建测试集... 137

4.5.2 addTest( )构建测试集... 138

4.5.3 addTests( )构建测试集... 139

4.5.4 skip装饰器... 139

4.6 TestLoader 140

4.7 TestRunner 142

4.8 生成HTML报告... 143

第5章 Selenium Grid. 145

5.1 Selenium Grid简介... 145

5.2 Selenium Grid的工作原理... 145

5.3 Selenium Grid测试环境的搭建... 146

5.3.1 文件准备... 146

5.3.2 部署Hub节点... 147

5.3.3 部署Node节点... 148

5.4 测试脚本开发... 149

5.4.1 指定Node节点... 149

5.4.2 指定Hub地址... 150

第6章 Pytest测试框架... 152

6.1 Pytest简介... 152

6.2 Console参数... 154

6.2.1 实例初体验... 154

6.2.2 -v参数... 155

6.2.3 -h参数... 156

6.2.4 其他参数... 156

6.3 mark标记... 157

6.3.1 标记测试函数... 157

6.3.2 示例说明... 158

6.3.3 直接标记... 163

6.3.4 模糊匹配标记... 165

6.3.5 使用mark自定义标记... 166

6.4 固件 Fixture. 167

6.4.1 Fixture的使用... 167

6.4.2 Fixure的作用域... 168

6.4.3 autouse(自动使用)... 170

6.4.4 yield的使用... 171

6.4.5 共享Fixture功能... 173

6.4.6 参数化... 175

6.4.7 内置Fixture. 176

6.5 Pytest插件... 182

6.5.1 插件的安装与卸载... 182

6.5.2 查看活动插件... 183

6.5.3 插件的注销... 184

6.6 Allure测试报告... 184

6.6.1 Allure的安装... 184

6.6.2 脚本应用... 186

6.6.3 报告生成... 186

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

7.1 日期和时间模块time和datetime. 189

7.2 文件和目录模块os 190

7.3 系统功能模块sys 191

7.4 导入第三方模块pip. 192

7.5 邮件模块smtplib. 195

7.5.1 开启邮箱SMTP服务... 195

7.5.2 smtplib模块的使用... 196

7.6 日志模块logging. 199

7.7 CSV文件读写模块csv. 201

7.8 Excel操作模块openpyxl 203

7.9 MySQL数据库操作包pymysql 205

7.9.1 简单使用... 206

7.9.2 获取查询数据... 207

7.9.3 增删改数据... 209

7.10 JSON数据... 210

7.10.1 JSON语法... 210

7.10.2 Python读写JSON.. 211

7.11 多线程模块threading. 212

第二篇 实践篇

第8章 数据驱动模型及项目应用... 215

8.1 数据驱动简介... 215

8.2 ddt的使用... 216

8.2.1 ddt的安装... 216

8.2.2 ddt的常用方法... 216

8.2.3 实例... 217

8.3 项目解析... 218

8.4 框架搭建... 220

8.5 设计测试用例... 221

8.6 数据文件操作... 222

8.7 测试用例生成... 225

8.7.1 Excel数据处理... 225

8.7.2 测试步骤... 226

8.7.3 断言处理... 227

8.7.4 使用ddt生成测试用例... 228

8.8 测试执行... 229

第9章 PO模型——一个测试项目的实现... 231

9.1 项目解析... 231

9.1.1 主页... 232

9.1.2 关于我们页面... 233

9.1.3 退出登录... 233

9.2 框架搭建... 233

9.3 配置文件... 235

9.4 常用结构的封装... 236

9.4.1 判断元素存在... 236

9.4.2 Tab切换... 236

9.4.3 多级菜单... 239

9.4.4 表格结构... 241

9.4.5 分页... 244

9.5 页面封装... 246

9.5.1 基础页面... 246

9.5.2 登录页面... 248

9.5.3 主页页面... 251

9.5.4 关于我们页面... 257

9.5.5 退出登录功能... 257

9.6 测试用例生成... 257

9.6.1 登录功能的测试用例... 257

9.6.2 主页页面测试用例... 258

9.6.3 关于我们页面的测试用例... 260

9.6.4 退出登录功能的测试用例... 260

9.7 测试用例的组织... 261

9.8 设置项目入口... 262

第10章 持续集成在自动化测试中的应用... 264

10.1 Jenkins的安装... 264

10.1.1 Jenkins的下载... 264

10.1.2 安装... 265

10.1.3 创建管理员用户... 267

10.2 创建项目... 267

10.3 任务定时... 269

10.3.1 任务定时构建的设置... 269

10.3.2 设置说明... 270

10.3.3 构建实例... 271

10.4 邮件发送... 271

10.4.1 插件安装... 271

10.4.2 HTML 报告配置... 273

10.4.3 邮件配置... 275

第三篇 卓异篇

第11章 自动化测试模型... 279

11.1 自动化测试模型简介... 279

11.2 线性模型... 281

11.3 模块化驱动模型... 282

11.4 数据驱动模型... 282

11.5 关键字驱动模型... 282

11.6 混合驱动模型... 283

11.7 行为驱动模型... 283

11.7.1 安装Behave. 284

11.7.2 Behave的使用... 286

11.7.3 运行... 288

11.7.4 生成测试报告... 289

第12章 高质量代码的编写... 291

12.1 编码规范... 291

12.2 分层与结构... 294

12.3 阅读源码的技巧... 295

12.3.1 分析层次... 295

12.3.2 分析结构... 296

12.3.3 分析具体文件... 296

12.4 持续学习... 298

第13章 用Git管理项目... 299

13.1 Git简介... 299

13.2 安装Git 300

13.3 Git的配置... 301

13.3.1 配置用户信息... 301

13.3.2 文本编辑器配置... 301

13.3.3 配置差异分析工具... 301

13.3.4 查看配置信息... 302

13.4 常用命令... 302

13.5 GitHub. 304

13.5.1 账号注册... 304

13.5.2 创建仓库... 306

13.5.3 上传项目... 307

13.5.4 Jenkins与Git 308

第14章 精选面试题... 310

14.1 Python题... 310

14.2 Selenium题... 317

14.3 开放性题... 321

附录1 示例代码... 324

附录2 项目搭建... 327

参考文献... 330

pythonweb开发实战pdf百度贴吧_Python Web自动化测试入门与实战,从入门到入行相关推荐

  1. 【软件测试7】web自动化测试——12306购票实战

    web自动化测试--12306购票实战 一.自动化购票流程 登录 进入购票 填写信息 选择车次 预定 选择购票人 二.自动化环境配置 软件环境:Python+selenium Python安装:Pyt ...

  2. python3爬虫数据清洗与可视化实战pdf百度云_Python 3爬虫、数据清洗与可视化实战_PDF电子书...

    因资源下载地址容易失效,请加微信号359049049直接领取,直接发最新下载地址. 前言 ======================================================= ...

  3. python微信开发实例 pdf 百度网盘_用python看女神微信里的百度云资源有啥?

    最近小编一直苦心研究,怎么给大家发放更多的资料和资源链接.大家都知道,百度云的分享链接是很容易被和谐的,群里除了分享链接外,就是各种抱怨 "怎么又失效了","又和谐了.. ...

  4. python计算机视觉pdf百度云下载_Python计算机视觉编程pdf

    Python计算机视觉编程 内容简介 <Python计算机视觉编程>是计算机视觉编程的实践指南,依赖Python语言讲解了基础理论与算法,并通过大量示例细致分析了对象识别.基于内容的图像搜 ...

  5. 支持python开发的环境有哪些特点_Python虚拟环境详细教程,一篇带你入坑

    Python 之所以强大,除了语言本身的特性外,更重要的是拥有无所不及的第三方库.强大的软件库,让开发者将精力集中在业务上,而避免重复造轮子的浪费.但众多的软件库,形成了复杂的依赖关系.今天我们就来了 ...

  6. 学python开发必须要会wsgi么_python Web开发你要理解的WSGI uwsgi详解

    WSGI协议 首先弄清下面几个概念: WSGI:全称是Web Server Gateway Interface,WSGI不是服务器,python模块,框架,API或者任何软件,只是一种规范,描述web ...

  7. 零基础入门python web 自动化测试_python web自动化测试,入门篇

    自动化测试入门篇 本次实现自动化是用python语言进行实现,所以需要有一点python基础,其实python还是比较简单入门的,下面开始. 安装完毕之后,设置环境变量属性,这样可以全局操作pytho ...

  8. HTML5移动Web开发实战 PDF扫描版​

    <HTML5移动Web开发实战>提供了应对这一挑战的解决方案.通过阅读本书,你将了解如何有效地利用最新的HTML5的那些针对移动网站的功能,横跨多个移动平台.全书共分10章,从移动Web. ...

  9. 学习《PythonWeb开发实战(董伟明)》中文PDF+源代码

    python可以用了进行数据分析,也可以进行Web开发,一般会使用django或者flask等进行开发. 国内介绍python web的书有写的不错的,推荐看看<PythonWeb开发实战> ...

最新文章

  1. web-view 跳转小程序页面 网页跳转小程序
  2. Android拍照得到全尺寸图片并进行压缩/拍照或者图库选择 压缩后 图片 上传
  3. 2018年Java生态行业报告
  4. 什么函数不能声明为虚函数
  5. webpack 打包编译优化之路
  6. vue截取一个字符串_vue如何截取字符串
  7. arduino i2c 如何写16位寄存器_Arduino之我见
  8. centos7 搭建Docker Registry
  9. 连线Face++前方团队:COCO夺冠背后的细节,不是拼硬件这么简单
  10. EasyUI:Tabs 标签页/选项卡
  11. 获取点击按钮的元素_Web API - DOM元素属性操作
  12. sata7p 定义_纯正良品SATA7PTOSATA7P90度L250mm; CABLE;SATA线
  13. 计算机多媒体技术的内容有哪些方面,多媒体技术是什么_多媒体技术知识点总结...
  14. 深度学习涉及到的线性代数知识点总结(二)
  15. 双拼输入法软件测试,为什么推荐你使用双拼输入法?
  16. 防火墙互联网的几种接入方式
  17. 软件测试体系学习及构建(1)-软件测试环境介绍
  18. 基于无人机倾斜摄影模型提取高精度地形DEM数据
  19. linux编译ice,linux环境下编译安装ICE
  20. 《评人工智能如何走向新阶段》后记(再续17)

热门文章

  1. 阿里云要“啃”个人云
  2. 深度学习入门必学(第三篇:循环神经网络01)
  3. 如何使用Gitte获取和上传代码
  4. html5录音+百度语音实现语音识别
  5. 数据中心运营商OneAsia宣布与APG建立战略合作伙伴关系
  6. linux配置本地镜像yum源
  7. Unity3D中Enabled、Destroy与Active的区别
  8. 【Zblog搭建博客网站】windows环境搭建属于自己的博客并发布上线 - cpolar内网穿透
  9. 色带(8种颜色)选择器
  10. 高中学历可以直接升本科学历吗