收藏 分享(赏)

Selenium 2自动化测试实战——基于Python语言.pdf

上传人:la****1 文档编号:2356532 上传时间:2023-05-08 格式:PDF 页数:323 大小:4.93MB
下载 相关 举报
Selenium 2自动化测试实战——基于Python语言.pdf_第1页
第1页 / 共323页
Selenium 2自动化测试实战——基于Python语言.pdf_第2页
第2页 / 共323页
Selenium 2自动化测试实战——基于Python语言.pdf_第3页
第3页 / 共323页
Selenium 2自动化测试实战——基于Python语言.pdf_第4页
第4页 / 共323页
Selenium 2自动化测试实战——基于Python语言.pdf_第5页
第5页 / 共323页
Selenium 2自动化测试实战——基于Python语言.pdf_第6页
第6页 / 共323页
亲,该文档总共323页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、CMYCMMYCYCMYK扉.pdf 1 2015/12/22 13:49:31 内 容 简 介 本书共分 14 章。第 1 章是自动化测试相关基础知识的介绍;第 2 章到第 10 章是本书的重点,循序渐进地介绍了自动化测试所用到的技术;第 11 章通过一个具体的项目综合运用了前面章节所介绍的技术与技巧;第 12 章到第 14 章选取了当前最热门的技术进行了介绍,旨在扩展测试人员的综合技术能力。本书的写作目的并不是为了简单地告诉读者如何使用一个自动化测试工具,而是希望读者在学习本书的内容后能够提高综合的技术高度与宽度,从而摆脱简单的手工测试,向高级测试工程师的道路迈进。未经许可,不得以任何方式

2、复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 Selenium 2 自动化测试实战:基于 Python 语言/虫师编著.北京:电子工业出版社,2016.1 ISBN 978-7-121-27853-2.S.虫.软件测试.TP311.5 中国版本图书馆 CIP 数据核字(2015)第 301408 号 责任编辑:安 娜 印 刷:三河市鑫金马印装有限公司 装 订:三河市鑫金马印装有限公司 出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编:100036 开 本:787980 1/16 印张:20.25 字数:378 千字 版 次:2016 年 1 月

3、第 1 版 印 次:2016 年 1 月第 1 次印刷 印 数:3000 册 定价:59.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。服务热线:(010)88258888。推荐序推荐序 记得很久之前接触自动化的时候看了一本关于某早期自动化测试工具的书,书名已经记不得了,内容给我留下了深刻印象。因为那本书根本就是把官方文档有选择性地翻译一遍,对于实际应用来说其作用几乎是零。因此,从那时起我就一直认为,对工具的介绍不应该仅仅停留在理论和了解的程度,如果没

4、有实战,那么我们之于工具无非就是叶公好龙,一直远观,无法赏玩。很欣慰的是,虫师这本Selenium 2 自动化测试实战基于 Python 语言并没有停留在夸夸其谈的表面,我仔细研究了书中的代码和示例,显然,很大一部分都是他在日常工作中勤奋总结而得出的一手范例,对技术书籍来说,这是难能可贵的。对一本介绍自动化测试的书来说,我们其实不缺理论。国外的很多同行都在不停地传经布道,他们的结论其实很简单,自动化测试是好东西,对提升软件质量来说,自动化测试带给我们生产力的解放收益要远远大于成本。结论我们都知道,工具我们也清楚,无非就是单元测试用 xunit、rspec 之类,BDD 测试用 cucumber

5、,UI 层面的 aut 用 Selenium,等等。这些工具我们都会用,而且也许用得还不错,不过为什么我们的自动化测试除了耗时费力,根本就看不出什么效果呢?答案其实很简单,我们自以为用对了,但实际上也许我们才刚上路,甚至跟最佳实践背道而驰。这就像是拿 iPad 当砧板,用宰牛刀杀鸡一样,路子不对,只能越练越野,直到走火入魔。这本书其实提到了很多不错的实践,路子正宗,从者自然不会误入歧途,这也是我推荐它的另外一个理由。IV Selenium 2 自动化测试实战基于 Python 语言 在看本书前面几章的时候,我总是不断地想起当年初出茅庐入行时所遇到的初学者困局。我很想学一门技术,但是到底应该从哪

6、里开始?万事开头难,没有师傅领进门,在不停的挫败和各种不同信息的正反面轰炸下,我们很容易举白旗放弃。试想一下这样的场景:假如你是一个初学者,你从某种渠道得知 Selenium 是代表未来测试趋势的测试工具,是提升生产力的重要手段,是提升自己收入水平的一个不错的投资,于是你下定决心大干一场,准备好好地学习一下这个东西。你开始兴冲冲地去网络上搜索资料,然后你开始困惑,因为 Selenium 有两个版本:Selenium 1 和 Selenium 2,并且 Selenium 1 到现在都没有完全废弃,是学 Selenium 1 还是学 Selenium 2?Selenium 1 很经典,Seleni

7、um 2 很前沿;然后你继续深挖,你发现如果学 Selenium 2,就会遇到 Selenium 1中一个叫 Webdriver 的东西,那是啥?然而如果要学 Selenium 1,你将一直不停地看到一个叫 Selelnium RC 的字眼,这又是什么?现在的你也许已经有一些动摇了吧,不过噩梦才刚刚开始。你也许会遇到一些靠谱的人,他们会建议你先学习一门语言,因为如果要用Selenium,基本上就意味着你应该学会编程。但是 Selenium 支持太多的编程语言,例如,Ruby、Python、Java、Javacript、Objective-C、PHP,到底应该从哪一门语言入手,你开始陷入经典的语

8、言之争的泥沼,你悲哀地发现自己花了很多时间去潜心研究,但最终只是模模糊糊知道了 Selenium 在远方,面前是一堆分岔路口,每种语言看起来都不错,每个分岔路口都可以到达终点,但你就是不知道该怎样迈出第一步。这便是选择的成本,选择是有风险的,选对了事半功倍,选不对只能半途而废。对很多初学者来说,上面的困局应该都是存在的。花了很多精力和时间,但最终却发现一切都是徒劳;做了很多功课,但真正该做的事情却未曾开始。好在这本书能够很好地解决这个困局。你不需要选择,这本书描述的就是 Selenium 2,代表了主流,也代表了未来;用的语言是 Python,全世界都在用,它简单、高效、经典、优雅。很有意思的

9、是,Python 自身的哲学里也认为最好只用一种方法来做一件事(你可以打开 Python 解释器,然后 import this 试试),免去选择的苦恼。你应该把精力放在更有意义的事情上,比如多写几个自动化测试用例,而不是纠结于各种选择,徘徊不前。然后便是初学者困局里更加常见的一个问题:如何搭建环境?我遇到过不少人倒在这里,而且前赴后继,无限循环。如果你有这本书,那这些问题应该都不是问题,跟着虫师描述的步骤一步步来吧,循序渐进而又节奏轻快。推荐序 V 搭建好环境并写好脚本之后,敢问路在何方又是初学者常见的问题。因为 Selenium 没有官方中文文档,啃英文实在不是一件愉快的事情。也许你好不容易

10、看懂了解释,却发现官方的示例离自己身处的环境相差太多,官方的例子一直是 Google 搜索,发 Gmail,而你却悲哀地发现根本就没有 Gmail 这个网站。这本书不仅非常详细地介绍了 Selenium 的 API,而且给出了非常多可以运行的本土化的示例,这对初学者和其他使用者来说都是福音,有些例子很棒,你试过就知道。其实试完 WebDriver 中的各种 API 后,你应该算入门了。入门了之后便是更多的困惑,比如如何去写测试用例,如何做基于数据的用例设计,如何分布式执行用例,如何多线程执行用例等,而这些答案都在本书中。最后便是 BDD 和 CI,如果一本介绍自动化测试的书没有这两项内容,那它

11、一定是不完整的。如果自动化是彩虹,那么 CI 便是风雨,不经历风雨怎会见彩虹。没有 CI,自动化其实找不到太多的应用场景;没有自动化,CI 更是无从说起。尽管本书的重点不是 CI,但本书的终点在 CI,就像是指出了宿命的依归,独具匠心。还记得上次跟虫师见面时的情景,应该已经有两年多了。时过境迁,曾经我们上班的地点就在隔壁,如今发现时间逝去,很多东西都已改变。不过难能可贵的是虫师对测试技术的追求一直不曾更改,也一直笔耕不辍,这本书其实也算是水到渠成的结果。勿忘初心,坚持自己,最后希望这本书能多帮助一些人,我想这应该也是虫师的初衷吧。乙醇 VI Selenium 2 自动化测试实战基于 Pytho

12、n 语言 前前 言言 记得在 2013 年,笔者计划要学习一门脚本语言用来辅助测试工作,当时在 Ruby 与Python 之间犹豫不定。后来开始接手社区项目的测试工作,由于社区项目基于 Python 开发,所以,就自然选择了 Python。Python 语言的简单易用与丰富的类库给我带来了很大惊喜。后来考虑到公司的 Web 产品比较适合进行自动化测试,再加上对产品的开发进度有很好的节奏把控,于是就有了充足的时间尝试开展自动化测试。在此之前,我对 QTP 和Selenium 两个自动化测试工具都有过接触,考虑在这两者之间选择其一。一方面是我个人更偏向于使用开源工具,另一个重要原因是 Seleni

13、um 支持多种编程语言,包括 Python。于是,就选择了 Python 与 Selenium 这样的组合进行产品自动化测试的尝试。初期的学习遇到了不少问题。首先,Selenium 本身并不是一个单独的工具,它包含 IDE、Gird 和 WebDriver 等几个部分;其次,Selenium 与编程语言的关系,以及它在编程语言中所扮演的角色;最后,如何开发一个完整的自动化测试项目。初学者都会有这样的疑问。当时,基于 Python 语言的 Selenium 自动化测试资料并不太多,大多资料都是基于 Java语言的,所以学习过程也颇费周折。不过,在此过程中也得到了许多朋友的帮助,其中,乙醇的文档和

14、 MarkRabbit 的细心指导对我的帮助很大,在此表示感谢。从事软件测试工作不久后,我便养成了写博客的习惯,把平时的学习与积累用简单易懂的方式整理成博文,自然也会把这个技术以一个系列整理分享。后来,为了方便读者阅读,把这个系列的十几篇博文整理成了 PDF 格式,并命名为 Selenium WebDriver(python),这应该可以看作本书的原型。再后来,不断地更新与扩充这份文档的内容,技术不再局限于 WebDriver API 的操作,于是更名为Selenium 2 Python 自动化测试实战,基本知识体系已经确定。与此同时,与乙醇合作的自动化相关课程也在同步开展中,使本文档中的内容

15、具有很强的实战性,以解决具体的问题为出发点,用大量的实例来说明自动化实施的思想与概念。前 言 VII 本书的写作目的并不是为了简单地告诉读者如何使用一个自动化测试工具,这并非我的初衷,我希望读者在学习本书的内容后能提高综合的技术高度与宽度,从而摆脱简单的手工测试,向高级测试工程师的道路迈进。为此,我用了一定的章节来介绍 Python 的基础与应用、BDD 行为驱动、GitHub 的使用,以及持续集成工具的使用等。本书能够出版首先需要感谢编辑安娜,她为本书的出版提供了许多意见与帮助。其次,需要感谢以往各期的学生,在传授你们技术的过程中我同样也收获颇多。另外,还要感谢王成成、符志辉、张超、刘玉凤、

16、吴宇、许晶晶、李娜、李朋程等学生,是你们帮助我校对了这本书中的内容。虫师 VIII Selenium 2 自动化测试实战基于 Python 语言 目目 录录 第 1 章 自动化测试基础.11.1 软件测试分类.11.2 分层的自动化测试.61.3 什么样的项目适合自动化测试.91.4 自动化测试及工具简述.101.5 Selenium 工具介绍.111.6 前端技术介绍.141.7 前端工具介绍.161.8 开发语言的选择.19第 2 章 测试环境搭建.212.1 Windows 下的环境搭建.212.1.1 安装 Python.22 2.1.2 安装 setuptools 与 pip.24 2.1.3 安装 Selenium.26 2.1.4 ActivePython.26 2.2 Ubuntu 下的环境搭建.282.3 使用 IDLE 编写 Python.292.4 编写第一个自动化脚本.322.5 安装浏览器驱动.342.6 不同编程语言下使用 WebDriver.35第 3 章 Python 基础.373.1 Python 哲学.37目 录 IX 3.2 输出与输入.393.2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 其它

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2