python写web自动化_Python Web自动化测试设计与实现

绪论 1 第1章 Selenium基础 9 1.1 Selenium的历史和分支 9 1.2 Selenium的特点 12 1.3 Selenium名词说明 12 1.3.1 Selenium RC 12 1.3.2 Selenium Server 12 1.3.3 Selenium WebDriver 13 1.3.4 Selenium Client 13 1.3.5 Selenium Grid 13 1.3.6 Selenium IDE 13 1.4 Selenium基本原理 14 1.5 Selenium环境搭建 15 1.5.1 Windows环境搭建 16 1.5.2 Ubuntu环境搭建 22 1.5.3 MacOS环境搭建 26 1.6 Selenium调用不同浏览器 28 1.6.1 调用Firefox浏览器 28 1.6.2 调用Chrome浏览器 29 1.6.3 调用IE浏览器 30 1.6.4 IE浏览器安全机制设置 30 1.7 Selenium Docker的使用 31 1.7.1 Docker环境安装 32 1.7.2 Selenium Docker镜像下载 35 1.7.3 Docker下运行Selenium脚本 36 1.8 Selenium 3说明 38 1.8.1 不再支持Selenium RC 38 1.8.2 仅支持JDK 1.8.0以上版本 38 1.8.3 Selenium IDE支持Chrome插件 38 1.8.4 FireFox需要安装独立驱动 38 1.8.5 仅支持IE 9.0以上版本 39 1.8.6 支持微软的Edge浏览器 39 1.8.7 支持官方的SafariDriver 39 第2章 Python编程基础 41 2.1 基础语法 41 2.1.1 Python语句执行 41 2.1.2 Python语法格式 42 2.1.3 Python变量与类型 44 2.1.4 Python运算符与表达式 47 2.2 控制语句 52 2.2.1 if-else语句 52 2.2.2 for语句 53 2.2.3 while语句 53 2.2.4 continue语句 54 2.2.5 break语句 54 2.2.6 pass语句 55 2.3 模块化 55 2.3.1 函数 55 2.3.2 类与实例 59 2.3.3 模块文件 61 2.3.4 包 62 2.4 基础数据结构 63 2.4.1 列表 63 2.4.2 元组 64 2.4.3 字典 65 2.4.4 遍历数据 67 2.5 输入/输出 67 2.5.1 命令行输入/输出 67 2.5.2 文件输入/输出 69 2.6 内置函数 70 2.6.1 id函数 70 2.6.2 dir函数 71 2.6.3 help函数 71 2.6.4 type函数 72 2.6.5 isinstance函数 72 2.6.6 zip函数 72 2.6.7 filter函数 72 2.6.8 map函数 73 2.6.9 reduce函数 73 2.7 异常 73 2.7.1 异常捕获 73 2.7.2 自定义异常 75 2.8 魔法特性 76 2.8.1 列表推导式 76 2.8.2 迭代器 77 2.8.3 生成器 78 2.8.4 闭包 79 2.8.5 装饰器 79 2.8.6 内省机制 83 2.9 并发任务 86 2.9.1 多进程 86 2.9.2 多线程 91 2.9.3 协程 93 2.10 编解码 96 2.10.1 源码文件编码 97 2.10.2 解释器默认编码 98 2.10.3 外部文件编码 99 2.10.4 数据库编码 100 2.10.5 编解码函数 100 第3章 Web UI自动化基础 102 3.1 HTML与DOM简介 102 3.2 学习元素定位方式 104 3.3 CSS定位技术 106 3.4 使用工具帮助定位 106 3.4.1 IE的Developer Tool 107 3.4.2 Firefox的Web开发者工具 107 3.4.3 Chrome的开发者工具 108 3.4.4 Firefox的XPath Checker插件 108 3.4.5 Chrome的XPath工具 109 3.4.6 Firefox的CSS插件 109 3.4.7 Chrome的CSS工具 110 3.4.8 Firefox的WebDriver Element Locator插件 110 3.5 Selenium中进行元素定位 112 3.5.1 获取一个定位元素 112 3.5.2 获取一组定位元素 113 3.5.3 匹配非个元素 114 第4章 Selenium IDE 115 4.1 Selenium IDE安装 115 4.1.1 Firefox安装 115 4.1.2 Selenium IDE在线安装 116 4.1.3 Selenium IDE本地安装 117 4.2 Selenium IDE功能介绍 120 4.2.1 Selenium IDE窗口 120 4.2.2 菜单栏 121 4.2.3 地址栏 123 4.2.4 工具栏 124 4.2.5 用例管理区 124 4.2.6 用例脚本开发区 125 4.2.7 信息输出区 126 4.3 Selenium IDE使用 126 4.3.1 Selenium IDE录制与回放 126 4.3.2 Selenium IDE脚本编辑 128 4.3.3 Selenium IDE元素定位 138 4.3.4 Selenium IDE匹配模式 141 4.3.5 Selenium IDE脚本转换 143 第5章 Selenium常规对象接口 148 5.1 浏览器对象操作 148 5.1.1 查找元素方法 148 5.1.2 浏览器窗口方法 149 5.1.3 Cookie处理方法 149 5.2 WebElement对象操作 150 5.3 文本框对象操作 152 5.4 按钮对象操作 152 5.5 下拉列表对象操作 153 5.6 链接对象操作 154 第6章 Web UI自动化特殊场景处理 156 6.1 处理多窗口测试场景 156 6.2 处理浏览器弹框场景 158 6.2.1 Alert对象及方法 158 6.2.2 优雅地处理Alert弹框 159 6.3 Selenium进行键盘鼠标操作 160 6.3.1 键盘操作 160 6.3.2 鼠标操作 161 6.4 非Web控件的操作实现 162 6.5 Selenium执行JavaScript及操作DOM 164 6.6 Selenium截屏操作 165 第7章 UnitTest单元测试框架 167 7.1 常规使用方式 167 7.2 测试套件使用 169 7.3 TestLoader的使用 170 7.4 UnitTest加载流程 172 第8章 分层框架设计与实现 173 8.1 数据驱动层 174 8.1.1 文件存储 175 8.1.2 数据库存储 176 8.2 定位符驱动层 180 8.2.1 本地文件存储 181 8.2.2 远程服务存储 183 8.3 页面操作层 185 8.4 业务逻辑层 190 8.4.1 公共业务 190 8.4.2 常规业务 191 8.5 结果驱动层 193 8.5.1 日志Logger记录 193 8.5.2 自定义Logger记录 199 8.5.3 邮件通知结果 203 8.6 异常处理层 204 8.6.1 程序异常处理 204 8.6.2 断言异常处理 208 8.6.3 自定义异常类 209 第9章 测试脚本部署 211 9.1 使用SVN管理测试脚本 211 9.1.1 SVN服务安装 212 9.1.2 SVN客户端安装 217 9.1.3 SVN使用简介 219 9.1.4 SVN操作规范 223 9.2 远程执行用例场景 224 9.3 Selenium Grid模块及搭建 228 9.3.1 Selenium Grid环境搭建 229 9.3.2 Selenium Grid使用 232 9.4 持续集成的自动化测试 232 第10章 Web API介绍 236 10.1 HTTP简介 236 10.1.1 HTTP请求报文 237 10.1.2 HTTP响应报文 239 10.2 Web API介绍 240 10.3 REST API介绍 241 第11章 Web API自动化基础 243 11.1 正则表达式模块学习 243 11.1.1 字符搜索 244 11.1.2 字符替换和分割 246 11.1.3 表达式修饰符 246 11.1.4 其他事项 247 11.2 XML读写模块的学习 248 11.2.1 读取XML文档 249 11.2.2 写入XML文档 252 11.3 JSON模块的学习 253 11.3.1 JSON串生成 254 11.3.2 JSON串解析 256 11.4 MD5、BASE64编解码 256 11.4.1 BASE64编解码 257 11.4.2 MD5加密 258 11.4.3 数据序列化 259 第12章 Python发送HTTP请求 261 12.1 HTTP请求发送 261 12.1.1 requests模块安装 261 12.1.2 发送GET请求 262 12.1.3 发送POST请求 264 12.1.4 发送multipart/form-data请求 265 12.1.5 发送其他类型请求 266 12.2 HTTP请求认证 266 12.2.1 HTTP Basic Auth 267 12.2.2 HTTP Digest Auth 267 12.2.3 OAuth认证 268 12.2.4 自定义认证 268 12.3 URL的编解码 269 12.4 HTTP响应内容验证 271 12.4.1 状态码验证 271 12.4.2 响应头验证 272 12.4.3 响应体验证 273 12.5 多线程发送请求 276 12.5.1 函数式多线程 276 12.5.2 类继承式多线程 279 第13章 API工具设计与实现 282 13.1 简单的API工具 282 13.1.1 请求方法设置 284 13.1.2 请求头设置 288 13.1.3 支持文件上传 289 13.1.4 简单结果验证 292 13.2 测试数据读取 293 13.2.1 测试数据格式 293 13.2.2 数据存储方式 294 13.2.3 实现数据读取 296 13.3 测试数据用例化 299 13.3.1 用例基本信息 299 13.3.2 用例套件信息 301 13.3.3 用例模板信息 302 13.4 测试流程控制 304 13.4.1 钩子函数接口设计 305 13.4.2 钩子函数接口调用 307 13.4.3 钩子函数接口实现 309 13.5 测试结果验证 311 13.5.1 完全匹配 311 13.5.2 内容包含 312 13.5.3 正则匹配 313 13.5.4 JSONPath 313 13.6 测试数据记录 315 13.6.1 结果记录 315 13.6.2 日志记录 317 第14章 集成为Web服务 319 14.1 Web服务简介 319 14.1.1 Web框架选择 320 14.1.2 DEMO实现 321 14.1.3 框架开发学习 322 14.2 Web上启动用例执行 330 14.2.1 运行参数接收 332 14.2.2 测试请求处理 335 14.3 Web上查看测试结果 337 14.3.1 任务列表页 338 14.3.2 用例结果页 340 14.4 持续集成的API自动化测试 342 14.4.1 用例集保存 342 14.4.2 用例集执行 345 第15章 HTTP Mock开发 347 15.1 HTTP Mock介绍 347 15.2 HTTP Mock分析 348 15.3 HTTP Mock实现 349 15.3.1 根据请求URL过滤 349 15.3.2 根据请求方法过滤 350 15.3.3 根据请求头过滤 352 15.3.4 根据请求数据过滤 353 参考文献 356 结束语 357

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值