【推荐语】
基于Python语言,深入剖析软件测试开发的工具、方法、流程及提升测试效率的解决方案 专业作者团队十多年测试工作经结升华,接口、、WebUI、移动端自动化测试超详细实战分享 测试技术、实战演练、演示、源码分析一应俱全
【目录】
前言 第1章 测试工程师需要掌握的 Python基础 /1 1.1 让Python飞一会儿 /1 1.2 测试工程师常用到的数据类型 /7 1.2.1 用Python做加减乘除 /7 1.2.2 用Python来写字符串 /8 1.2.3 列表是什么 /11 1.2.4 元组是什么 /14 1.2.5 字典是什么 /16 1.2.6 集合是什么 /21 1.2.7 文件处理的常用方法 /21 1.3 条件语句 /23 1.3.1 实例:爱我还是他 /24 1.3.2 实例:猜一猜今天是星期几 /24 1.3.3 实例:从Json中获取今天猪肉的 价格 /25 1.4 循环语句 /25 1.4.1 实例:从无限循环中逃离 /26 1.4.2 实例:用for遍历字符串、列表、元组、 字典 /26 1.5 函数 /27 1.5.1 实例:登录过程的函数模拟 /28 1.5.2 实例:游戏的函数模拟 /28 1.6 异常的处理 /29 1.7 模块和类 /29 1.7.1 模块 /29 1.7.2 类 /30 1.8 装饰器 /33 1.8.1 实例:在函数中定义 /33 1.8.2 实例:给每一个测试函数打印执行 时间 /34 第2章 用Python开始做接口自动化 测试 /36 2.1 协议与接口测试 /36 2.1.1 快速掌握协议 /36 2.1.2 Fler工具的使用 /37 2.1.3 接口测方法与要点 /39 2.2 requests:让服务人类 /40 2.3 grequests:requests的异步 模块 /43 2.4 接口测试从这儿开始 /45 2.4.1 实例:从一个简单的接口测试代码 开始 /45 2.4.2 实例:关联参数的处理 /46 2.4.3 实例:如何在多个请求的函数中传递 关联参数 /46 2.4.4 实例:如何在多个请求的类中传递关联 参数 /47 2.5 如何访问接口测试中无所不在的 数据存储 /49 2.5.1 实例:如何访问数据库 /49 2.5.2 实例:用ORM访问数据库 /50 2.5.3 实例:对接口返回的数据增加数据库 检查 /51 2.5.4 实例:如何访问MongoDB缓存库 /52 2.5.5 实例:如何访问Redis缓存 /53 2.5.6 实例:对接口返回的内容增加MongoDB 的检查 /53 2.6 logbook:日 /55 实例:在接口测试中增加日志逻辑 /56 2.7 pytest:优雅地检查接口测试的 结果 /57 2.7.1 用pytest对接口返回的内行 检查 /58 2.7.2 常用的pytest.mark方法 /59 2.7.3 一起来测试多个测试数据吧 /62 2.7.4 pytest的fixture固件 /66 2.7.5 pytest常用第三方插件 /72 2.8 汇报接口测试的结果 /74 2.9 Allure:更佳的接口测试报告 /75 2.10 接口自动化测试中的 特殊处理 /78 2.10.1 实例:模拟Web 请求时 如何保持Session /78 2.10.2 实例:模拟Web 请求时 如何处理HTML /79 2.10.3 实例:模拟Web 请求时 如何调用JS函数 /80 2.10.4 接口测试中常见的加解密处理 /80 2.11 综合实例:微型接口 自动化测试代码的实现 /83 2.11.1 代码工程构造的说明 /84 2.11.2 接口测试主测试代码 /85 第3章 用Python模拟“千军万马”去 做能自动化测试 /93 3.1 Python中模拟多用户的基础 /93 3.1.1 实例:如何用多线程来做能测试 /93 3.1.2 实例:如何用线程池来做能测试 /94 3.1.3 实例:如何用程来做能测试 /96 3.1.4 实例:如何程池来做能测试 /96 3.1.5 实例:如何将线程程结合后做 能测试 /97 3.1.6 实例:如何用协程来做能测试 /99 3.2 更适合做能测试的 /101 3.2.1 实例:使用grequests来做能测试 /101 3.2.2 实例:使用aio来做能测试 /102 3.3 Python中强大的能测试 框架Locust /103 3.3.1 Locust常用类 /104 3.3.2 实例:让Locust飞起来 /106 3.3.3 Locust测试脚本的处理 /111 3.3.4 如何在Locust中分布式多机执行 /116 3.3.5 将Locust的结果与Loadrunne行 对比 /117 3.3.6 实例:使用FastHttpUser来做能 测试 /119 3.3.7 实例:自定义扩展grequests来做能 测试 /122 3.4 如何在多个压测机中执行 命令 /124 3.5 专为能测试准备的监控 工具NetData /125 3.6 综合实例:用Locust做某OSS 服务的能测试 /127 3.6.1 Locust主测试代码 /127 3.6.2 压测结果分析 /130 第4章 用Python轻松做协议的 测试 /134 4.1 OWASP DVWA环境的搭建 /134 4.2 如何用Python去发现命令执行 漏洞 /139 4.3 如何发现CSRF漏洞 /143 4.4 如何用Python去发现文含 漏洞 /148 4.5 如何用Python去发现上传文件 漏洞 /152 4.6 如何用Python去发现SQL注入 漏洞 /154 4.7 如何用Python去发现XSS 漏洞 /157 4.8 Mitmproxy的综合运用 /162 4.8.1 Mitmproxy简介 /162 4.8.2 Mitmdump的使用方法 /164 4.8.3 实例:Mitmdump悄无声息地改变 响应内容 /165 4.8.4 实例:Mitmdump结合Sqlma行 自动化检测 /168 4.8.5 实例:Mitmdump批量自动化检测 越权请求 /172 第5章 用Python做UI自动化回归 测试 /177 5.1 不好好评估的UI自动化测试, 后可能变成“鸡肋” /177 5.2 UI自动化测试开始于Selenium /178 5.3 元素查找的八种方法 /180 5.3.1 与HTML标签属对应的四种 方法 /180 5.3.2 根据文本信息查找的两种方法 /185 5.3.3 根据页面路径深度查找的两种 方法 /186 5.4 智能识别元素插件Ranorex Selocity /191 5.5 find_相关方法 /193 5.6 Selenium提供的常用方法 /194 5.6.1 实例:对浏览行控制的 方法和属 /194 5.6.2 实例:对网页控制的方法和属 /195 5.6.3 实例:对元素的控制方法和属 /196 5.7 轻松应对网页中的自定义 控件 /198 5.7.1 实例:对菜单、导航等元行 操作 /198 5.7.2 实例:对单选、复选控行操作 /199 5.7.3 实例:对上传控行操作 /0 5.7.4 实例:对下拉框控行操作 /2 5.7.5 实例:多标签和iframe的处理 /4 5.8 使用unittest来管理测试案例 /5 5.8.1 实例:用unittest把测试案例管理 起来 /6 5.8.2 实例:如何在unittest中使用数据 驱动 /6 5.8.3 实例:生成HTML报告并发送 /7 5.9 Page Object设计模式的应用 /8 5.9.1 如何组织Page Object模式的代码 /8 5.9.2 实例:把Page Object模式应用到登录能中 /9 5.10 更快地执行UI自动化回归 测试 /211 5.10.1 实例:Selenium Grid多机执行测试 案例 /212 5.10.2 实例:如何在程中执行 Selenium Grid /215 5.11 使用型框架SeleniumBase来 实现UI自动化测试 /216 参考文献 /219
【书摘插画】
返回顶部