新書推薦: 
			  
			《 
			什么是教育 “轴心时代”提出者雅斯贝尔斯毕生教育思想精华
			》 
			 售價:HK$ 
			74.8
			 
			 
	
			  
			《 
			创建强势品牌(典藏版)
			》 
			 售價:HK$ 
			130.9
			 
			 
	
			  
			《 
			美绘聊斋志异
			》 
			 售價:HK$ 
			131.8
			 
			 
	
			  
			《 
			启微·红帆:中国东南诏安湾的港口、船货与海洋遗产
			》 
			 售價:HK$ 
			107.8
			 
			 
	
			  
			《 
			全球公民教育:批判性的理论与实践基础
			》 
			 售價:HK$ 
			74.8
			 
			 
	
			  
			《 
			做事的逻辑:如何持续做正确的事
			》 
			 售價:HK$ 
			47.1
			 
			 
	
			  
			《 
			人形机器人:技术、产业与未来社会 
			》 
			 售價:HK$ 
			108.9
			 
			 
	
			  
			《 
			暗黑历史书系·罗马帝国
			》 
			 售價:HK$ 
			96.8
			 
			 
	
 
       | 
     
      
      
         
          | 編輯推薦: | 
         
         
           
            基于Python语言,深入剖析软件测试开发的工具、方法、流程及提升测试效率的解决方案
 专业作者团队十多年测试工作经验总结升华,接口、HTTP、WebUI、移动端自动化测试超详细实战分享
 测试技术、实战演练、视频演示、源码分析一应俱全
           | 
         
       
      
      
      
      
         
          | 內容簡介: | 
         
         
           
            本书从Python基础入手,系统讲解了使用Python语言来做接口自动化测试、性能自动化测试、安全测试以及功能自动化回归测试。
來源:香港大書城megBookStore,http://www.megbook.com.hk 全书由浅入深,系统化地将作者多年测试开发工作中遇到的问题、解决方案等进行了实例化的阐述,书中丰富的实例代码可以直接在软件的各个自动化测试场景中使用。
 作者针对近年来企业对测试开发岗位的需求倾力打造了此书,希望借由此书的出版能够使更多的读者更好地掌握Python测试开发的技能,并找到更理想的软件测试工作。
 本书附赠全部测试实例源代码文件及Python软件测试核心知识点精讲视频。本书适合从事软件测试工作的技术人员及希望从事软件测试的专业人员阅读,也适合计算机、软件工程、自动化等相关专业的学生与老师参考。
           | 
         
       
      
      
      
      
      
         
          | 目錄: 
           | 
         
         
           
            前言
 第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 HTTP协议与接口测试 /36
 2.1.1 快速掌握HTTP协议 /36
 2.1.2 Fiddler工具的使用 /37
 2.1.3 接口测试的通用方法与要点 /39
 2.2 requests:让HTTP服务人类 /40
 2.3 grequests:requests的异步
 模块 /43
 2.4 HTTP接口测试从这儿开始 /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 HTTP接口自动化测试中的
 特殊处理 /78
 2.10.1 实例:模拟Web HTTP请求时
 如何保持Session /78
 2.10.2 实例:模拟Web HTTP请求时
 如何处理HTML /79
 2.10.3 实例:模拟Web HTTP请求时
 如何调用JS函数 /80
 2.10.4 接口测试中常见的加解密处理 /80
 2.11 综合实例:微型HTTP接口
 自动化测试代码的实现 /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 更适合做性能测试的HTTP包 /101
 3.2.1 实例:使用grequests来做性能测试 /101
 3.2.2 实例:使用aiohttp来做性能测试 /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的结果与Loadrunner进行
 对比 /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轻松做HTTP协议的
 安全测试 /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结合Sqlmap进行
 自动化检测 /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 实例:对上传控件进行操作 /200
 5.7.4 实例:对下拉框控件进行操作 /202
 5.7.5 实例:多标签和iframe的处理 /204
 5.8 使用unittest来管理测试案例 /205
 5.8.1 实例:用unittest把测试案例管理
 起来 /206
 5.8.2 实例:如何在unittest中使用数据
 驱动 /206
 5.8.3 实例:生成HTML报告并发送 /207
 5.9 Page Object设计模式的应用 /208
 5.9.1 如何组织Page Object模式的代码 /208
 5.9.2 实例:把Page Object模式应用到登录
 功能中 /209
 5.10 更快地执行UI自动化回归
 测试 /211
 5.10.1 实例:Selenium Grid多机执行测试
 案例 /212
 5.10.2 实例:如何在多进程中执行
 Selenium Grid /215
 5.11 使用增强型框架SeleniumBase来
 实现UI自动化测试 /216
 参考文献 /219
           | 
         
       
      
      
      
         
          | 內容試閱: 
           | 
         
         
           
            每一个“玩”测试的从业者,都有可能成为“全栈”开发者—如果他(她)用Python的话。这看似吹牛,实际上翻翻招聘网站,就会发现满目的职位描述(JD)皆为此景,如某招聘网站上,随手获取到的一个职位的岗位职责要求如下:
 ? 负责平台APP与HTML5等产品的质量保证,同时研究测试质量提升方法,优化测试流程及提升测试效率。
 内层含义:功能测试要做。
 ? 根据产品需求和设计文档,制定测试计划,并分析测试需求、设计测试流程,选择合理的测试工具。
 内层含义:测试设计、测试技术选型要做。
 ? 参与自动化测试平台搭建和自动化测试开发、实施,负责已有相关系统的稳定运营,快速定位并解决线上突发问题。
 内层含义:测试工具、测试脚本要做,运维监控也要做。
 再来看看对岗位要求的描述:
 ? 两年以上自动化测试经验,熟悉自动化测试(功能自动化测试、接口自动化测试、移动应用系统的功能自动化测试),至少了解一种自动化体系的构建。
 内层含义:涉及的技术可能包括Selenium、Appium、HTTP API(包括但不限于爬虫)。
 ? 至少熟练掌握一种以上性能或自动化测试工具,包括但不限于LoadRunner、QTP、Selenium 等,有性能测试经验者优先考虑。
 ? 了解软件开发过程,熟悉软件生命周期各阶段的测试方法,熟悉软件测试理论和流程。
 ? 熟悉Linux操作系统、TCP/IP网络协议,熟悉MySQL/Oracle等数据库,有C/C 、Java、Python、Shell、Go其中两到三种语言的开发经验优先。
 内层含义:实际上,很可能是Java、Python和数据库的设计模式也要能做。
 ? 有成功的自动化工具及框架开发的实践经验,有知名互联网公司自动化测试建设经验优先。
 内层含义:顶层设计与推动能力。
 ? 有性能测试、安全测试、白盒测试、持续集成经验优先。
 内层含义:性能调优 安全渗透 运维支撑。
 从招聘信息来看,“测试”这个角色,可能需要研发流程中全流程参与,其涵盖的技术面还是相当广的(技术掌握深不深,看个人能力)。当然,从招聘者的角度来看,对于此类人员的需求还是比较大的。
 从某软件测试行业现状调查报告中的数据来看,测试人员希望提高的软件测试技能类型有自动化测试、接口测试、性能测试、白盒测试、安全测试等。
 但现实是,目前国内测试人员的从业素质是参差不齐的,人们越想提高的技能,在现实工作中越是欠缺,而且从高占比的测试技能需求来看,无一例外全部都需要较好的编程知识,从下图也看出初步掌握编程语言的测试人员越来越多,完全的黑盒测试在2019年已下降到8%。
 而且从笔者实际工作中接触到的现实情况来看,掌握编程语言到能够灵活根据编程语言的特点来从事测试工作,这两者之间往往存在一条鸿沟,拿着编程语言,却不知从何入手的人颇多。笔者从2015年到现在,面试的测试人员大约300 ,号称掌握Python语言而能够5分钟内写出“统计列表中的重复项出现的次数”的题目答案的大概占比不足1%(此题目答案一行即可,很遗憾还没有遇到能够立即解答的人)。
 基于此,结合笔者的测试经验,后面笔者将从以下方面开个小头,希望能够给本书读者带来点新的东西:
 第1章,测试工程师需要掌握的Python基础。
 第2章,用Python开始做接口自动化测试。
 第3章,用Python模拟“千军万马”去做性能自动化测试。
 第4章,用Python轻松做HTTP协议的安全测试。
 第5章,用Python做UI自动化回归测试。
 全书可能会涉及颇多的测试理论知识,但本书不会做过多讲解,因此阅读本书前,最好已掌握过一些测试理论知识。本书配套的实例源代码和操作讲解视频,读者可参照封底说明获取使用。由于作者的水平和时间有限,书中难免有不足之处,恳请广大读者批评指正。
 编 者
           | 
         
       
      
        
     |