Selenium 是代表未来测试趋势的测试工具,是提升生产力的重要手段,但Selenium本身有两个版本,新手很容易陷入选择的误区。
而这本书描述的就是 Selenium 2, 代表了主流,也代表了未来;用的语言是 Python,全世界都在用,它简单、高效、经典、 优雅。使读者免去选择的苦恼。
本书分为12个章节,第1章是自动化测试相关基础知识的介绍;第2章到第10章是本书的重点,循序渐进地介绍了自动化测试所用到的技术;第11章通过一个具体的项目综合运用了前面章节所介绍的技术与技巧。第12章选取了当前热门的技术进行了介绍,旨在扩展测试人员的综合技术能力。 本书的写作目的并不是为了简单地告诉读者如何使用一个自动化测试工具,而是希望读者在学习本书的内容后能够提高综合的技术高度与宽度,从而摆脱简单的手工测试,向高级测试工程师的道路迈进。
胡志恒,魅族科技(深圳)分公司高级测试工程师。2011年6月开始在博客园上持续分享各种测试技术和经验,文章多次被51testing等网站转载,精通性能测试、自动化测试等技术。
第1章 自动化测试基础
1.1 软件测试分类
1.2 分层的自动化测试
1.3 什么样的项目适合自动化测试
1.4 自动化测试及工具简述
1.5 Selenium工具介绍
1.6 前端技术介绍
1.7 前端工具介绍
1.8 开发语言的选择
第2章 测试环境搭建
2.1 Windows下的环境搭建
2.2 Ubuntu下的环境搭建
2.3 使用IDLE编写Python
2.4 编写第一个自动化脚本
2.5 安装浏览器驱动
2.6 不同编程语言下使用WebDriver
第3章 Python基础
3.1 Python哲学
3.2 输出与输入
3.3 分支与循环
3.4 数组与字典
3.5 函数、类和方法
3.6 模组
3.7 异常
第4章 WebDriver API
4.1 从定位元素开始
4.2 控制浏览器
4.3 简单元素操作
4.4 鼠标事件
4.5 键盘事件
4.6 获得验证信息
4.7 设置元素等待
……
第5章 自动化测试模型
5.1 自动化测试模型介绍
5.2 模块化驱动测试实例
5.3 数据驱动测试实例
第6章 Selenium IDE
6.1 Selenium IDE安装
6.2 Selenium IDE界面介绍
6.3 创建测试用例
6.4 Selenium IDE命令
6.5 断言与验证
6.6 等待与变量
第7章 unittest单元测试框架
7.1 认识unittest
7.2 关于unittest还需要知道的
7.3 带unittest的脚本分析
7.4 编写Web测试用例
第8章 自动化测试高级应用
8.1 HTML测试报告
8.2 自动发邮件功能
8.3 Page Object 设计模式
第9章 Selenium Grid2
9.1 Selenium Server环境配置
9.2 Selenium Grid工作原理
9.3 Remote应用
9.4 WebDriver驱动
第10章 Python多线程
10.1 单线程的时代
10.2 多线程技术
10.3 多进程技术
10.4 应用于自动化测试
第11章 自动化测试项目实战
11.1 自动化测试用例设计
11.2 BBS社区项目实战
第12章 BDD框架之Lettuce入门
12.1 什么是BDD
12.2 安装Lettuce
12.3 阶乘的例子
12.4 Lettuce_webdriver自动化测试
记得在 2013 年,笔者计划要学习一门脚本语言用来辅助测试工作,当时在 Ruby 与 Python 之间犹豫不定。后来开始接手社区项目的测试工作,由于社区项目基于 Python 开发, 所以,就自然选择了 Python。Python 语言的简单易用与丰富的类库给我带来了很大惊喜。 后来考虑到公司的 Web 产品比较适合进行自动化测试,再加上对产品的开发进度有很 好的节奏把控,于是就有了充足的时间尝试开展自动化测试。在此之前,我对 QTP 和 Selenium 两个自动化测试工具都有过接触,考虑在这两者之间选择其一。一方面是我个人 更偏向于使用开源工具,另一个重要原因是 Selenium 支持多种编程语言,包括 Python。于 是,就选择了 Python 与 Selenium 这样的组合进行产品自动化测试的尝试。 初期的学习遇到了不少问题。首先,Selenium 本身并不是一个单独的工具,它包含 IDE、 Gird 和 WebDriver 等几个部分;其次,Selenium 与编程语言的关系,以及它在编程语言中 所扮演的角色;最后,如何开发一个完整的自动化测试项目。初学者都会有这样的疑问。 当时,基于 Python 语言的 Selenium 自动化测试资料并不太多,大多资料都是基于 Java 语言的,所以学习过程也颇费周折。不过,在此过程中也得到了许多朋友的帮助,其中, 乙醇的文档和 MarkRabbit 的细心指导对我的帮助很大,在此表示感谢。
从事软件测试工作不久后,我便养成了写博客的习惯,把平时的学习与积累用简单易 懂的方式整理成博文,自然也会把这个技术以一个系列整理分享。后来,为了方便读者阅 读,把这个系列的十几篇博文整理成了 PDF 格式,并命名为 Selenium WebDriver (python), 这应该可以看作本书的原型。再后来,不断地更新与扩充这份文档的内容,技术不再局限 于 WebDriver API 的操作,于是更名为《Selenium 2 Python 自动化测试实战》,基本知识体 系已经确定。与此同时,与乙醇合作的自动化相关课程也在同步开展中,使本文档中的内 容具有很强的实战性,以解决具体的问题为出发点,用大量的实例来说明自动化实施的思 想与概念。
本书的写作目的并不是为了简单地告诉读者如何使用一个自动化测试工具,这并非我 的初衷,我希望读者在学习本书的内容后能提高综合的技术高度与宽度,从而摆脱简单的 手工测试,向高级测试工程师的道路迈进。为此,我用了一定的章节来介绍 Python 的基础 与应用、BDD 行为驱动、GitHub 的使用,以及持续集成工具的使用等。
本书能够出版首先需要感谢编辑安娜,她为本书的出版提供了许多意见与帮助。其次, 需要感谢以往各期的学生,在传授你们技术的过程中我同样也收获颇多。另外,还要感谢 王成成、符志辉、张超、刘玉凤、吴宇、许晶晶、李娜、李朋程等学生,是你们帮助我校 对了这本书中的内容。
虫师
说实话,我一开始拿到这本书,以为会是那种晦涩难懂的技术手册。但读了几章之后,我发现我完全错了。作者的写作风格非常流畅,他总是能用最简单易懂的语言解释最复杂的技术概念。比如,在讲到Page Objects时,他用了“房屋装修”的比喻,让我瞬间就理解了为什么需要这种模式,以及它能带来的好处。而且,书中穿插了很多小贴士和注意事项,这些细节之处,更能体现出作者丰富的实践经验。 这本书给我最大的惊喜是,它不仅仅停留在“怎么做”,更深入地探讨了“为什么这样做”。作者在讲解每一个技术点的时候,都会花时间去分析其背后的原理和设计思想。比如,在介绍WebDriver的生命周期时,他不仅仅告诉你如何初始化和关闭WebDriver,还解释了为什么要这样做,以及在不同场景下,如何优化WebDriver的生命周期管理,以避免资源浪费和潜在的bug。这种深入浅出的讲解方式,让我在掌握技术的同时,也能提升自己的思考深度。
评分我特别喜欢书中关于“异常处理”那一部分的论述。在自动化测试过程中,各种突发状况层出不穷,比如网络延迟、元素加载不及时、甚至页面结构发生微小变化,这些都可能导致测试脚本失败。作者在这本书中,花了相当大的篇幅来讲解如何优雅地处理这些异常,他介绍的不仅仅是简单的try-except块,还深入探讨了等待机制(显式等待和隐式等待)的精妙运用,以及如何通过捕获具体的异常类型来制定更精细化的应对策略。书中提供的几个实战案例,比如如何处理弹窗、如何应对动态加载的页面,都让我学到了很多在官方文档和零散博客中学不到的“内功”。 更让我惊喜的是,作者还触及到了测试报告的生成和分析。他介绍了如何集成第三方库来生成更具可读性的HTML报告,甚至还简单地提及了如何进行数据可视化,让测试结果一目了然。这对于项目汇报和团队协作来说,无疑是极大的提升。我之前一直觉得自动化测试报告就是一堆堆的日志,看完之后,才意识到一个好的测试报告能传递多少有价值的信息。这本书的深度和广度,远超我最初的预期。
评分我本来对Python的自动化测试了解得不多,这本书简直就像是一盏指路明灯。作者在开篇就为我搭建了一个坚实的基础,从Python的语法基础到Selenium的核心概念,都讲解得非常清晰。我尤其喜欢书中关于“如何选择合适的定位策略”的那部分内容。它没有简单地罗列各种定位器,而是通过大量的图文并茂的示例,详细地讲解了各种定位器的优缺点,以及在不同场景下的最佳实践。我学会了如何更准确、更高效地定位页面元素,这大大提升了我的测试脚本的稳定性。 而且,书中还涉及到了很多高级话题,比如如何进行跨浏览器测试,如何处理 Ajax 异步加载的页面,以及如何集成持续集成工具 Jenkins。这些都是我在实际工作中经常会遇到的问题,而这本书提供了一套非常系统和完整的解决方案。我感觉这本书的内容非常扎实,而且非常贴近实际应用,绝对不是那种“纸上谈兵”的书。读完这本书,我感觉自己对Selenium的理解又上了一个台阶,对Python自动化测试也更有信心了。
评分这本书,我几乎是一口气读完的,虽然我本身不是一个深度技术读者,但作者用非常生动形象的比喻,将那些枯燥的技术概念变得如同讲故事一般。特别是第一章,他没有一开始就抛出一堆复杂的代码,而是先从自动化测试的“痛点”讲起,让我这种新手也能迅速理解为什么需要它,以及它能解决什么问题。然后,关于环境搭建的部分,作者给出了非常详细的步骤,并且贴心地列出了可能遇到的各种问题和解决方案,这对于我这种初学者来说简直是福音,省去了我大量查阅资料的时间。 更让我印象深刻的是,书里不仅仅是介绍API的用法,而是通过一个个真实的项目场景,展示了如何将这些API组合起来,解决实际工作中遇到的问题。比如,在讲到定位元素的时候,作者没有仅仅罗列各种定位器,而是结合了网页的实际结构,分析了什么时候用ID,什么时候用CSS选择器,又什么时候需要XPath,而且还讲解了如何调试和优化定位表达式,这让我在实际操作时能够游刃有余。书中的代码示例也非常清晰,注释也很详细,即使我没有完全理解背后的原理,也能照着葫芦画瓢,成功实现一些基本的操作。
评分这本书给我最直观的感受就是“实用主义”。作者似乎非常理解我们这些一线测试工程师在实际工作中会遇到的各种“坑”,并且把这些经验都毫无保留地分享了出来。尤其是关于页面对象模型(POM)的设计模式,作者的讲解非常透彻,他不仅解释了POM的优点,还详细演示了如何在Python中落地POM,并且还分享了在实际项目中,如何根据团队规模和项目复杂度来选择和调整POM的实现方式。 另外,书中关于数据驱动测试的章节也让我受益匪浅。我之前一直以为数据驱动就是简单地将数据写在Excel里,然后循环读取。但作者在这本书里,介绍了几种不同的数据驱动方案,包括使用CSV文件、JSON文件,甚至还简单提及了如何与数据库集成。而且,他还在书中演示了如何通过参数化测试来提高测试用例的复用率,这对于我来说,是之前完全没有想过的。这本书真的能帮助我把自动化测试做得更高效、更有条理。
评分哈哈哈,断断续续买了很多书,京东的书质量都还比较有保障,我就喜欢质量好的书,毕竟是个刚入行的人,要学习的东西很多,买回来好好研究,希望略有所成!那句鸡汤说的好,看书什么时候都不晚,哈哈哈哈
评分适合小白,入门很棒,和同事买了好多书,都挺好的
评分Selenium 2自动化测试实战 基于Python语言
评分给我对象买的 感觉这本书的内容非常好 京东商城 值得信赖
评分讲的比较基础,易懂,适合入门学习。书中环境是python3,同时举例对比了python2,通用。
评分做活动的时候后买的基本技术书,一直坚信一本书学到一个知识点就是赚到了
评分应该把有限的时间全部投入看书啊,这个selenium是个好工具,要好好学习
评分做活动的时候后买的基本技术书,一直坚信一本书学到一个知识点就是赚到了
评分呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有