猜你喜欢
Selenium WebDriver3.0 自动化测试框架实战教程

Selenium WebDriver3.0 自动化测试框架实战教程

书籍作者:吴晓华 ISBN:9787302612445
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:2134
创建日期:2023-05-08 发布日期:2023-05-08
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

本书主要讲解开源的Web自动化测试工具WebDriver的原理、API接口实例、pytest、五大框架实战(行为驱动、分布式测试框架、数据驱动测试框架、关键词驱动测试框架和混合模式测试框架)、常见自动化测试的问题及处理方法。

本书既可让初学者从入门到精通,循序渐进; 也可帮助中高级测试工程师夯实技能,从形象到抽象,提供测试思想中更多的可能性。


前言

随着互联网的高速发展,中国互联网达到了一个空前的繁荣水平,数亿量级用户的产品登上了中国的互联网发展舞台,阿里巴巴、腾讯、百度等多个互联网巨头也开始在世界的互联网舞台崭露头角,互联网行业的从业人员也达到了上百万人的规模,中国互联网产品已经深入到网民生活的各个方面。

随着互联网行业在中国的迅猛发展,对于中国的软件开发和测试行业也提出了更高的技术要求与质量要求,软件测试从业者的技术水平也被提升到空前的高要求阶段。以往我们看到测试人员的招聘重点都是仅限于对测试用例设计和业务的理解,现今所看到的更多测试职位对测试人员提出了更高的技术能力要求。例如,精通一门编程语言,熟悉MySQL或者Oracle数据库,精通自动化测试和性能测试,能独立开发测试工具等。为了能更好地适应互联网社会的发展潮流,软件测试从业者必须在技术能力上不断提升自己,才能真正站在职业发展的巅峰。

自动化测试技术对测试人员来说,是一个必要的高级技能要求,越来越多的测试从业者并不甘于手工测试,都非常希望通过自动化的方式来减少枯燥无味且不断重复的手工测试劳动。尽管主流的Web自动化测试开源工具Selenium WebDriver,已经成为众多软件测试从业者学习的热点,但是市面上针对Selenium自动化测试方面的书籍很少,基于实践方式来讲解Selenium应用技术的书籍更是凤毛麟角。我有幸受吴老邀请,将我工作中实践内容与吴老教学内容融合,一起编写了这本基于Python语言实践操作的Selenium 3教学书籍,来解决软件测试人员学习自动化测试的需求。

Selenium是一个开源的测试工具,代表了未来测试工具的趋势; 而Python则是全世界都在用的一门简洁、高效、易用、优雅的编程语言,初学者只需要花少量的时间就能上手。本书着重点在讲解Selenium的使用技巧上,对学习Python语言有需要的朋友,请参考相关资料或者利用丰富的网络资源。

本书采用图文并茂的方式分步骤讲解Selenium的各种实用技巧,并且提供被测试对象的实现代码或者被测试对象的访问网址,方便读者在本地搭建自己的测试环境或者访问互联网上的被测试网址,从而能顺利地进行自动化测试技术的实践。经过我们数月的不懈努力,此书终于跟大家见面了,希望能够让读者通过本书深入熟悉Selenium 3的使用技巧,帮助大家在自动化测试方向上能大显身手。我们相信,通过我们不断的努力,一定可以改变中国测试行业技术含量低的现状。

2015年,在一个机缘巧合下认识了吴老,他丰富的测试经验和过硬的技术都让我折服,我就像是一粒罅隙中的种子遇到了阳光,拼命地将自己置身于这片透着温暖的金银色的阳光浴中。好不容易遇见这么一位低调奢华有内涵的大神,岂能放过,于是我就死皮赖脸地揪着吴老,套他的各种本领。当时的每一天除了吃饭、工作及少量的睡觉时间,其余时间不是吃斋(看书),就是念佛(敲代码),那日子甚是枯燥,甚是无味,期盼着咸鱼能有翻身的一天。我待Code如初恋,Code虐我千百遍,半年时间过去了,被虐得千疮百孔的我也算是摸清Code的脾气了,闲来无事也能写上几百行了,算是有点欣慰吧。

有了一定的Code功底后,开始正式进入自动化学习。自动化测试的学习是一个不断实践,不断总结,不断积累的过程。很多人会有一个错误的认识,认为自动化测试不就是一个工具的使用,一个调用别人写好的API的过程么,需要那么深厚的Code功底有何用?殊不知你此时仅是一个ToolBoy或者ToolGirl,要想随心所欲地完成各种自动化测试,无论是Web自动化、移动端自动化,或是性能自动化,都必须在拥有一定的Code功底后,方能理解这些工具底层实现的原理,并且能在当工具本身不能满足测试需求时,还能随心所欲地扩充或更改。理解了这些工具的实现思想,也就为你搭建属于自己的测试框架打下了坚实的基础。经过半年的蹂躏与被蹂躏,加之工作中的不断实践,也能搭建那么几个自己还算满意的测试框架,做得还甚是开心,而且还能被吴老盯上,叫来给大家编写这本书,也着实有点小开心。





这是我第一次写专著技术类的书籍,深深地感觉到把知识点用通俗易通的语言描述清楚是一件多么不容易的事,为此我投入了大量的时间与精力来组织本书的语言,如果还是存在不那么浅显易懂的语句,请先尝试从代码层面进行理解,如果在实践本书中代码时发生了错误,请不要怀疑是我们代码的问题,请先检查你的环境是否有问题,浏览器版本与驱动版本是否匹配,所使用的Python包版本之间是否存在版本兼容的问题,Python代码是否存在缩进问题等。如果仍然解决不了你的问题,欢迎把错误丢到笔者的脸上,我们定会马不停蹄地帮你解决。

冰冻三尺,非一日之寒,希望大家能在自动化测试学习的道路上做到博观而约取,厚积薄发。最后,祝大家工作顺利,万事如意。

各章内容介绍:

第一篇“基础篇”: 第1~8章。

第1章介绍了Selenium的发展历史及组成Selenium的工具套件,列举了Selenium 1和Selenium 2支持的浏览器和平台,讲解了Selenium RC和WebDriver的实现原理,同时也介绍了Selenium 1、Selenium 2和Selenium 3各自的特点及区别。

第2章介绍了在日常测试工作中常见的自动化测试目标,讲解了如何获得公司管理层对于开展自动化测试的支持,介绍了如何衡量自动化测试工作的投入产出比及在敏捷开发中的应用,讲解了自动化测试工作的分工及测试工具的选择与推广,分享了在实际项目中最佳实践经验,说明了学习Selenium工具的能力要求。

第3章介绍了使用Selenium工具时所需要的相关辅助插件FireBug和FirePath的安装及使用方法。

第4章介绍了Selenium IDE的安装、界面选项的含义、IDE的使用方法、录制脚本及导出脚本等。

第5章介绍了Python开发环境和PyCharm集成开发环境的安装、配置及使用。

第6章介绍了WebDriver的安装和配置方法。

第7章主要介绍了单元测试的基本知识,如何在自动化测试中使用以及生产测试报告。

第8章主要讲解了自动化测试过程中使用的页面元素定位方法,包括ID定位、Name定位、链接文字定位、Class定位、XPath定位及CSS定位,推荐使用XPath作为页面元素定位的主要方法。

第二篇“实战应用篇”: 第9~11章。

第9章讲解了如何使用WebDriver工具分别驱动IE浏览器、Chrome浏览器以及Firefox浏览器,进行自动化测试。

第10章通过实例全面讲解WebDriver基础API。

第11章通过实例全面讲解WebDriver高级API,并提供了一些解决实际问题的方法。

第三篇“自动化测试框架搭建篇”: 第12~15章。

第12章讲解了数据驱动的概念,并基于Excel、XML、MySQL及单元测框架结合ddt进行数据驱动测试。

第13章讲解了lettuce行为驱动框架在自动化测试中的使用,分别基于英文和中文进行了实例讲解。

第14章通过实例全面讲解如何基于Selenium Grid进行分布式自动化测试。

第15章深入讲解了如何从零开始搭建一个数据驱动测试框架、关键字驱动测试框架以及数据驱动与关键字驱动混合的测试框架,并提供完整的框架代码。此章节为本书最综合、最重要的章节,建议读者在阅读完前面所有章节后再阅读此章节。

第四篇“常见问题和解决方法”: 第16章。

第16章讲解了WebDriver使用过程中常见的疑难问题及解决办法,方便读者在使用WebDriver过程中遇到问题时进行查阅。


特别致谢:

感谢我们的好朋友陈良军、李江和王浩花费大量的时间与精力帮我们校对书稿,发现了不少书写的错误、晦涩难懂的语句以及代码的错误,在此我们真诚地感谢他们对本书做出的贡献,帮助我们完成这件非常有意义的事情。

王晨昕2022年5月