本书是使用Selenium实现Web自动化测试的指南。本书共分为9章。第1章~第2章,介绍了Selenium自动化测试相关的基础知识和辅助工具;第3章~第5章,分别介绍了Selenium IDE、Selenium1(Remote ControL)以及Selenium2(WebDriver)的用法。第6章~第7章,主要介绍实际工作中如何使用Selenium来进行测试,介绍了自动化测试的流程和框架,并通过实例来讲解自动化测试用例和测试代码的实际编写。第8章~第9章介绍了Selenium测试难点和常见问题的解决。
本书兼顾Selenium当前流行和应用的不同版本,包括丰富的示例和图解。本书适合于测试人员、测试组长、测试经理、质量保证工程师、软件过程改进人员以及相关专业学生阅读,以快速掌握并在实际工作中使用Selenium。
前 言
Selenium自动化测试指南
软件测试领域总是在不断地发展:从最开始没有专门测试人员,到终于认可了测试人员的价值。开始的时候测试人员仅执行繁琐的手工测试,逐渐发展到使用自动化测试。而对于自动化测试,也有各种分类,各种自动化测试工具也如雨后春笋般地涌现。
在Selenium测试工具出现之前,对于Web的自动化功能测试一直没有较好的解决方案。即使是当年很火的QTP,也很难应对以下复杂的Web自动化功能测试的问题。
Web测试时如何应对不同的浏览器?是否支持高级编程语言?对于不同的平台,例如Windows,IOS又如何处理?即使这些问题都能解决,那该工具的价格是否不菲?
在这种情况下,ThoughtWorks公司发布了Selenium测试工具。该工具拥有如下特性。
(1)可对多浏览器进行测试,例如IE、Firefox、Safari、Chrome、Android手机浏览器等。
(2)支持各种语言,例如Java、C#、Python、Ruby、PHP等。
(3)跨平台,例如Windows、Lunix、iOS、Android等。
(4)开源免费。
使用Selenium测试工具,终于解决了Web自动化功能测试的难题,而且它使用起来非常便捷。
写作本书的目的
我已经在自动化测试领域工作好几年了,测试过大大小小的项目,接触了各种各样的测试工具,Selenium是其中的一种,它是Web自动化功能测试最好用的一款工具。
记得第一次使用Selenium大约是在两年前,客户要求对公司网站进行测试,具体要求是支持多浏览器,越多越好;最好是C#;最好是免费的。
我使用搜索引擎在互联网上查找,惊讶地发现还真有工具能满足如此苛刻的要求,这个工具就是Selenium。通过Selenium,我顺利完成了公司网站自动化测试项目第一期的任务。
到了第二期,公司招募了更多的人来完成该测试项目,我则负责指导测试人员完成该项目的实施。然而问题出现了:由于Selenium本身要求测试人员拥有较好的测试基础,同时Selenium相关的资料相当匮乏,导致测试人员的学习进度和工作效果都不尽如人意,其中有些测试人员购买了一些早期的Selenium相关的书籍,却也发现它们写的不够详尽,缺乏对于Selenium 2的描述,而对于Selenium 1的描述则不够清晰,看了之后不知道该怎么用。
这时候,我开始有了写本书的想法,一则是希望在今后的项目中,大家都能有比较详细的资料能够参考;二则是希望能帮助所有正在学习或使用Selenium的读者,希望通过分享自己在使用Selenium的心得体会,达到共同学习和共同提高的目的。
适用读者
本书主要适用于测试人员、测试经理、质量保证工程师、软件过程改进人员以及相关专业的在校学生和实习生,同时也适用于对自动化测试感兴趣的开发人员、项目主管和经理等。
如何阅读本书
本书共分为9章,由浅入深介绍了使用Selenium测试工具进行软件测试的各个方面,即使读者不具备任何开发和测试功底,仍可以阅读。
第1章至第2章介绍了自动化测试相关的基础、HTML/XML/XPath等语言基础以及Web测试时常用到的辅助工具,适用于很少接触应用软件测试和Web网页测试,也没有自动化测试基础的读者阅读。
第3章至第5章分别对Selenium IDE、Selenium 1(Remote Control)以及Selenium 2(WebDriver)的用法进行介绍。这几章适合拥有自动化测试基础但不了解Selenium的读者阅读。对于比较了解Selenium的读者,也可以从中温故而知新。建议大家多花些精力和时间进行研究。
第6章至第7章为Selenium Web测试实战,主要介绍在实际工作中如何使用Selenium进行测试,并介绍了自动化测试的流程和框架。这部分还以www.360buy.com为例,介绍自动化测试用例的编写以及测试代码的实际编写。建议大家对这部分的实例进行仔细研究。
第8章至第9章为Selenium测试难点,分别介绍了如何对Opera/iPhone/Android进行测试、如何切换Selenium 1和Selenium 2、常见问题的解决以及如何对Selenium进行扩展。如果在使用Selenium进行测试的过程中遇到了疑难问题,可以参考本章。
读者可以根据自己的需求选择阅读侧重点,不过最好按照顺序来阅读,这样不仅仅可以循序渐进,还可以从整体上对Selenium测试有一个清晰的认识。
致谢
首先,感谢全体Selenium的制作人员,正是他们敢于创新、乐于分享的精神才造就了如此强大易用的工具。
同时,非常感谢人民邮电出版社的各位编辑对我的指导和帮助,以及认真细致的工作,才使得书稿得以完善和出版。尤其感谢陈冀康先生,在本书写作过程中给予我的信任、支持和鼓励。正是有了你们对我的帮助,本书才有机会为广大的读者知晓。
当然,感谢我的家人,正是由于他们默默的支持,我才能静下心来写作。同时感谢我的伙伴们和同事们,因为大家共同的努力才顺利完成了本书的编写。
关于勘误
虽然花了很多时间和精力去核对书中的文字、代码和图片,但因为时间仓促和水平有限,书中仍难免会有一些错误和纰漏,如果大家发现什么问题,恳请反馈给我,相关信息可发到我的邮箱[email protected]。敬请广大读者及同行批评指正。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。
目录
前言
第1章Selenium自动化测试基础
1.1 自动化测试基础
1.2 HTML/XML/XPath基础
第2章 必备辅助工具
2.1 FireBug
2.2 FirePath
第3章 Selenium IDE
第4章 Selenium 1(Remote Control)
第5章 Selenium 2(WebDriver)
第6章 自动化测试的流程和框架
第7章 自动化测试的实施
第8章 Selenium测试进阶
第9章 使用Selenium常见的问题