新書推薦:
《
形似神异:什么是中日传统政治文化的结构性差异
》
售價:HK$
55.8
《
养育不好惹的小孩
》
售價:HK$
77.3
《
加加美高浩的手部绘画技法 II
》
售價:HK$
89.4
《
卡特里娜(“同一颗星球”丛书)
》
售價:HK$
87.4
《
伟大民族:从路易十五到拿破仑的法国史(方尖碑)
》
售價:HK$
188.2
《
古今“书画同源”论辨——中国书法与中国绘画的关系问题兼中国画笔墨研究
》
售價:HK$
132.2
《
《日本文学史序说》讲演录
》
售價:HK$
72.8
《
无尽的海洋:美国海事探险与大众文化(1815—1860)
》
售價:HK$
99.7
|
編輯推薦: |
Selenium 是代表未来测试趋势的测试工具,是提升生产力的重要手段,但Selenium本身有两个版本,新手很容易陷入选择的误区。
而这本书描述的就是 Selenium 2, 代表了主流,也代表了未来;用的语言是 Python,全世界都在用,它简单、高效、经典、 优雅。使读者免去选择的苦恼。
|
內容簡介: |
本书分为14个章节,第1章是自动化测试相关基础知识的介绍;第2章到第10章是本书的重点,循序渐进地介绍了自动化测试所用到的技术;第11章通过一个具体的项目综合运用了前面章节所介绍的技术与技巧。第12章到第14章选取了当前*热门的技术进行了介绍,旨在扩展测试人员的综合技术能力。 本书的写作目的并不是为了简单地告诉读者如何使用一个自动化测试工具,而是希望读者在学习本书的内容后能够提高综合的技术高度与宽度,从而摆脱简单的手工测试,向高级测试工程师的道路迈进。
名人推荐:
在经历互联网浪潮后,自动化测试已被行业所重视,而Selenium作为Web自动化测试的首选利器越来越受到业界青睐。本书作为Selenium自动化测试的入门书籍,由浅入深地介绍了Selenium各方面,并在最后结合实际项目,给出基于Selenium的自动化测试实践经验,尤为可贵,本书非常适合测试人员阅读与参考。
——多玩资深测试开发工程师,陈曦明(hyddd)
本书源于技术讨论和分享,写于资深测试工程师;从测试基本概念讲起,并用Python语言带领大家窥探UI自动化测试的一斑。
——钱包金服测试主管,Mark Rabbit
本书分量很足,对必要的知识点拓展拿捏也很到位,可以作为UI自动化测试人员的案头书。
——互众广告公司测试主管,多可笑
|
關於作者: |
胡志恒 魅族科技(深圳)分公司高级测试工程师。2011年6月开始在博客园上持续分享各种测试技术和经验,文章多次被51testing等网站转载,精通性能测试、自动化测试等技术。
|
目錄:
|
第1章自动化测试基础
1.1软件测试分类
1.2分层的自动化测试
1.3什么样的项目适合自动化测试
1.4自动化测试及工具简述
1.5Selenium工具介绍
1.6前端技术介绍
1.7前端工具介绍
1.8开发语言的选择
第2章测试环境搭建
2.1Windows下的环境搭建
2.1.1安装Python
2.1.2安装setuptools与pip
2.1.3安装Selenium
2.1.4ActivePython
2.2Ubuntu下的环境搭建
2.3使用IDLE编写Python
2.4编写第一个自动化脚本
2.5安装浏览器驱动
2.6不同编程语言下使用WebDriver
第3章Python基础
3.1Python哲学
3.2输出与输入
3.2.1print打印
3.2.2input输入
3.2.3引号与注释
3.3分支与循环
3.3.1if语句
3.3.2for语句
3.4数组与字典
3,4.1数组
3.4.2字典
3.5函数、类和方法
3.5.1函数
3.5.2类和方法
3.6模组
3.6.1引用模块
3.6.2模块调用
3.6.3跨目录模块调用
3.6.4进一步讨论跨目录模块调用
3.7异常
3.7.1认识异常
3.7.2更多异常用法
3.7.3抛出异常
本章小结
第4章WebDriver API
4.1从定位元素开始
4.1.1id定位
4.1.2name定位
4.1.3class定位
4,1.4tag定位
4.1.5link定位
4.1.6partial link定位
4.1.7XPath定位
4.1.8CSS定位
4.1.9用By定位元素
4.2控制浏览器
4.2.1控制浏览器窗口大小
4.2.2控制浏览器后退、前进
4.2.3模拟浏览器刷新
4.3简单元素操作
4.3.1126邮箱登录
4.3.2WebElement接口常用方法
4.4鼠标事件
4.5键盘事件
4.6获得验证信息
4.7设置元素等待
4.7.1显式等待
4.7.2隐式等待
4.7.3sleep休眠方法
4.8定位一组元素
4.9多表单切换
4.10多窗口切换
4.11警告框处理
4.12上传文件
4.12.1send_keys实现上传
4.12.2Autolt实现上传
4.13下载文件
4.14操作Cookie
4.15调用JavaScript
4.16处理HTML5的视频播放
4.17窗口截图
4.18关闭窗口
4.19验证码的处理
4.20WebDriver原理
本章小结
第5章自动化测试模型
5.1自动化测试模型介绍
5.1.1线性测试
5.1.2模块化驱动测试
5.1.3数据驱动测试
5.1.4关键字驱动测试
5.2模块化驱动测试实例
5.3数据驱动测试实例
5.3.1参数化邮箱登录
5.3.2参数化搜索关键字
5.3.3读取txt文件
5.3.4读取csv文件
5.3.5读取xml文件
本章小结
第6章Selenium IDE
6.1Selenium IDE安装
6.1.1在线安装
6.1.2下载插件安装
6.2Selenium IDE界面介绍
6.3创建测试用例
6.3.1录制脚本
6.3.2编辑脚本
6.4Selenium IDE命令
6.5断言与验证
6.5.1断言
6.5.2验证
6.6等待与变量
6.6.1等待
6.6.2变量
本章小结
……
第7章unittest单元测试框架
第8章自动化测试高级应用
第9章Selenium Grid2
第10章Python多线程
第11章自动化测试项目实战
第12章BDD框架之Lettuce入门
第13章GitHub托管项目
第14章持续集成Jenkins入门
|
內容試閱:
|
推荐序
记得很久之前接触自动化的时候看了一本关于某早期自动化测试工具的书,书名已经 记不得了,内容给我留下了深刻印象。因为那本书根本就是把官方文档有选择性地翻译一 遍,对于实际应用来说其作用几乎是零。因此,从那时起我就一直认为,对工具的介绍不 应该不仅仅停留在理论和了解的程度,如果没有实战,那么我们之于工具无非就是叶公好 龙,一直远观,无法赏玩。 很欣慰的是,虫师这本《Selenium 2 自动化测试实战——基于 Python 语言》并没有停 留在夸夸其谈的表面,我仔细研究了书中的代码和示例,显然,很大一部分都是他在日常 工作中勤奋总结而得出的一手范例,对技术书籍来说,这是难能可贵的。
对一本介绍自动化测试的书来说,我们其实不缺理论。国外的很多同行都在不停地传 经布道,他们的结论其实很简单,自动化测试是好东西,对提升软件质量来说,自动化测 试带给我们生产力的解放收益要远远大于成本。结论我们都知道,工具我们也清楚,无非 就是单元测试用 xunit、rspec 之类,BDD 测试用 cucumber,UI 层面的 aut 用 Selenium,等 等。这些工具我们都会用,而且也许用得还不错,不过为什么我们的自动化测试除了耗时 费力,根本就看不出什么效果呢?
答案其实很简单,我们自以为用对了,但实际上也许我们才刚上路,甚至跟**实践 背道而驰。这就像是拿 iPad 当砧板,用宰牛刀杀鸡一样,路子不对,只能越练越野,直到 走火入魔。
这本书其实提到了很多不错的实践,路子正宗,从者自然不会误入歧途,这也是我推 荐它的另外一个理由。
在看本书前面几章的时候,我总是不断地想起当年初出茅庐入行时所遇到的初学者困 局。我很想学一门技术,但是到底应该从哪里开始?
万事开头难,没有师傅领进门,在不停的挫败和各种不同信息的正反面轰炸下,我们 很容易举白旗放弃。 试想一下这样的场景:假如你是一个初学者,你从某种渠道得知 Selenium 是代表未来 测试趋势的测试工具,是提升生产力的重要手段,是提升自己收入水平的一个不错的投 资,于是你下定决心大干一场,准备好好地学习一下这个东西。你开始兴冲冲地去网络 上搜索资料,然后你开始困惑,因为 Selenium 有两个版本:Selenium 1 和 Selenium 2,并 且 Selenium 1 到现在都没有完全废弃,是学 Selenium 1 还是学 Selenium 2?Selenium 1 很经 典,Selenium 2 很前沿;然后你继续深挖,你发现如果学 Selenium 2,就会遇到 Selenium 1 中一个叫 Webdriver 的东西,那是啥?然而如果要学 Selenium 1,你将一直不停地看到一个 叫 Selelnium RC 的字眼,这又是什么?现在的你也许已经有一些动摇了吧,不过噩梦才刚 刚开始。你也许会遇到一些靠谱的人,他们会建议你先学习一门语言,因为如果要用 Selenium,基本上就意味着你应该学会编程。但是 Selenium 支持太多的编程语言,例如, Ruby、Python、Java、Javacript、Objective-C、PHP,到底应该从哪一门语言入手,你开始 陷入经典的语言之争的泥沼,你悲哀地发现自己花了很多时间去潜心研究,但*终只是模 模糊糊知道了 Selenium 在远方,面前是一堆分岔路口,每种语言看起来都不错,每个分岔 路口都可以到达终点,但你就是不知道该怎样迈出**步。这便是选择的成本,选择是有 风险的,选对了事半功倍,选不对只能半途而废。
对很多初学者来说,上面的困局应该都是存在的。花了很多精力和时间,但*终却发 现一切都是徒劳;做了很多功课,但真正该做的事情却未曾开始。 好在这本书能够很好地解决这个困局。你不需要选择,这本书描述的就是 Selenium 2, 代表了主流,也代表了未来;用的语言是 Python,全世界都在用,它简单、高效、经典、 优雅。很有意思的是,Python 自身的哲学里也认为**只用一种方法来做一件事(你可以 打开 Python 解释器,然后 import this 试试),免去选择的苦恼。你应该把精力放在更有意 义的事情上,比如多写几个自动化测试用例,而不是纠结于各种选择,徘徊不前。
然后便是初学者困局里更加常见的一个问题:如何搭建环境?我遇到过不少人倒在这 里,而且前赴后继,无限循环。如果你有这本书,那这些问题应该都不是问题,跟着虫师 描述的步骤一步步来吧,循序渐进而又节奏轻快。
搭建好环境并写好脚本之后,敢问路在何方又是初学者常见的问题。因为 Selenium 没 有官方中文文档,啃英文实在不是一件愉快的事情。也许你好不容易看懂了解释,却发现 官方的示例离自己身处的环境相差太多,官方的例子一直是 Google 搜索,发 Gmail,而你 却悲哀地发现根本就没有 Gmail 这个网站。这本书不仅非常详细地介绍了 Selenium 的 API, 而且给出了非常多可以运行的本土化的示例,这对初学者和其他使用者来说都是福音,有 些例子很棒,你试过就知道。 其实试完 WebDriver 中的各种 API 后,你应该算入门了。入门了之后便是更多的困惑, 比如如何去写测试用例,如何做基于数据的用例设计,如何分布式执行用例,如何多线程 执行用例等,而这些答案都在本书中。 *后便是 BDD 和 CI,如果一本介绍自动化测试的书没有这两项内容,那它一定是不 完整的。如果自动化是彩虹,那么 CI 便是风雨,不经历风雨怎会见彩虹。没有 CI,自动 化其实找不到太多的应用场景;没有自动化,CI 更是无从说起。尽管本书的重点不是 CI, 但本书的终点在 CI,就像是指出了宿命的依归,独具匠心。
还记得上次跟虫师见面时的情景,应该已经有两年多了。时过境迁,曾经我们上班的 地点就在隔壁,如今发现时间逝去,很多东西都已改变。不过难能可贵的是虫师对测试技 术的追求一直不曾更改,也一直笔耕不辍,这本书其实也算是水到渠成的结果。勿忘初心, 坚持自己,*后希望这本书能多帮助一些人,我想这应该也是虫师的初衷吧。
乙醇
|
|