本书分为3个部分进行介绍。在第1部分筑基篇中,主要有自动化测试概述、Robot Framework两章的内容;在第2部分小乘篇中,主要有Web自动化测试、C/S自动化测试、数据库自动化测试、接口自动化测试、RF内置测试库、持续集成自动化测试、移动自动化测试总共七章的内容;在第3部分大乘篇中,主要有自定义你的RF一章的内容。全书的自动化测试主要指功能自动化测试。
1、涵盖自动化测试中的大部分场景,内容充实,逻辑严密;
2、作者是RF中文社区的核心力量之一,书中有其对自动化测试的很多思考;
3、本书是一本测试实践书,书中融入了大量的一线测试经验,是人人必备的案头工具书。
齐涛(网名:道长)
行业ID:qitaos
平安科技博学测试工程师、自动化测试工程师。目前负责平安科技任意门项目测试团队管理和自动化测试技术方案调研及实施。2004年东北大学秦皇岛分校市场营销专业毕业,昏昏噩噩前两年,后某日顿悟,转行入测试,先后做过华为、飞利浦、平安科技等公司的测试外包,后转入平安科技正式员工至今。期间经历从手工测试,到QTP自动化测试,再到如今的Robotframework自动化测试。工作之余会参加一些敏捷之旅或测试大会的活动,分享Robotframework自动化测试的使用方法或心得体会,同时创建了Robotframework的微信公众号,陆续了一些Robotframework自动化测试的相关内容,后续也会持续更新下去。目前主要致力于Robotframework自动化测试的深入研究和推广,欢迎大家与我沟通交流
部分筑基篇
第1章自动化测试概述 2
1.1分层自动化测试 2
1.2界面自动化测试工具 3
1.3自动化测试做到什么样算好 4
1.4小结 5
第2章Robot Framework 6
2.1框架介绍 6
2.2安装指南 8
2.2.1Windows平台 8
2.2.2Mac平台(Linux平台可参考) 15
2.2.3pip安装 19
2.3个案例 19
2.3.1打开RIDE 20
2.3.2创建工程和测试套 21
2.3.3创建案例 23
2.3.4写一行脚本 24
2.3.5运行案例 25
2.3.6查看运行结果 26
2.3.7小结 28
2.4RIDE工具 28
2.4.1工具介绍 28
2.4.2菜单栏&工具栏 29
2.4.3工作区 45
2.5工程、测试套件、测试案例 49
2.5.1Project工程 49
2.5.2Test Suite测试套件 53
2.5.3Test Case测试案例 56
2.5.4三者关系 58
2.6测试库 59
2.7Resource资源文件 65
2.7.1新建资源 65
2.7.2快捷菜单 66
2.7.3Settings设置项 66
2.7.4加载资源 67
2.7.5External Resources 外部资源 68
2.8变量和常量 71
2.8.1变量与常量基础 72
2.8.2Scalar变量 79
2.8.3List变量 88
2.8.4变量转换 97
2.8.5其他变量 104
2.8.6变量文件 104
2.9Keyword关键字 105
2.9.1用户关键字 105
2.9.2传入参数Arguments 108
2.9.3Return Value返回值 116
2.10循环&分支 127
2.10.1循环 127
2.10.2分支 134
2.10.3二者结合 142
2.11运行界面 143
2.12小结 149
第二部分小乘篇
第3章Web自动化测试 152
3.1Selenium 152
3.2Selenium2Library安装 153
3.3Selenium2Library常用关键字 155
3.3.1browserManagement 155
3.3.2Cookie 157
3.3.3Elements 157
3.3.4JavaScript 160
3.3.5screenshot 160
3.3.6waiting 160
3.4测试案例设计 161
3.4.1案例设计Step1 162
3.4.2案例设计Step2 164
3.4.3案例设计Step3 166
3.5测试案例demo 168
3.5.1使用demo前的准备 168
3.5.2Selenium2Library-demo 170
3.6常见问题 177
3.7小结 178
第4章C/S自动化测试 179
4.1AutoIt 179
4.2AutoItLibrary安装 180
4.3AutoItLibrary关键字 181
4.4测试案例 182
4.4.1计算器案例 182
4.4.2结合Selenium2Library处理对话框 183
4.4.3结合Selenium2Library处理上传下载 185
4.5小结 189
第5章数据库自动化测试 190
5.1数据库测试介绍 190
5.2DatabaseLibrary和cx_Oracle安装 191
5.3DatabaseLibrary关键字 191
5.4测试案例 191
5.4.1Oracle数据库 191
5.4.2sqlite3数据库 193
5.5常见问题 194
5.6小结 195
第6章接口自动化测试 196
6.1接口测试 196
6.2requestsLibrary、requests安装 197
6.3requestsLibrary关键字 197
6.4测试案例 197
6.5小结 201
第7章RF内置测试库 202
7.1测试库介绍 202
7.2BuiltIn 203
7.2.1Convert 203
7.2.2Verify 204
7.2.3Variables 205
7.2.4RunKeyword 206
7.2.5Control 207
7.2.6Misc 208
7.2.7强大的Evaluate 208
7.3String 212
7.3.1Convert 213
7.3.2Line 213
7.3.3String 214
7.4Collections 215
7.4.1List 215
7.4.2Dictionary 215
7.5OperatingSystem 216
7.5.1Env 216
7.5.2File 217
7.5.3Directory 217
7.5.4Path 218
7.6Process 218
7.7XML 219
7.8其他测试库 220
7.9小结 220
第8章持续集成自动化测试 221
8.1Jenkins安装与配置 221
8.1.1Jenkins简介 221
8.1.2安装Jenkins 222
8.1.3配置节点 223
8.1.4安装插件 228
8.2Jenkins上执行RF自动化测试 230
8.2.1创建Job 231
8.2.2配置Job 232
8.2.3控制Job 239
8.2.4RF插件作用 240
8.2.5多配置Job 241
8.3小结 244
第9章移动自动化测试 245
9.1Appium介绍 245
9.2Android自动化测试 250
9.2.1模拟器安装 250
9.2.2测试案例 253
9.2.3Android对象识别 256
9.3iOS自动化测试 257
9.3.1测试案例 257
9.3.2iOS对象识别 260
9.4小结 263
第三部分大乘篇
第10章自定义你的RF 266
10.1修改Selenium2Library测试库 266
10.2编写测试库 270
10.2.1测试库分类 271
10.2.2测试库结构 271
10.2.3测试库命名 273
10.2.4测试库头部 273
10.2.5测试库配置项 274
10.2.6测试库文档 274
10.2.7测试库关键字命名 275
10.2.8测试库关键字参数 275
10.2.9测试库的参数 276
10.2.10测试库关键字返回值 276
10.2.11测试库日志打印 276
10.2.12对测试库做测试 277
10.2.13测试库 277
10.3小结 279
结语 280
参考资料 282
9.1Appium介绍
Appium是Sauce Labs出品的一个开源的自动化测试框架,可以用来测试iOS和Android平台上的原生应用、移动Web应用和混合应用。原生应用是指使用iOS和Android的SDK开发出来的App;移动Web应用指的是使用移动浏览器访问的应用,比如Appium支持iOS上的Safari和Android上的Chrome,或内置浏览器;混合应用指的是通过WebView使得原生代码内容和Web内容可以进行交互的App。
当然,最重要的是Appium是一个跨平台的框架,它允许你在iOS和Android这两个不同平台上使用同样的API来编写自动化测试脚本,这样提高了测试代码的复用性。
前面介绍Web测试底层用的是Selenium框架,其实Appium这里也是封装了Selenium的框架,其实就可以把移动App应用看作是一个网页,然后通过Appium进行测试。
Appium结合Robot Framework来做测试,需要先安装好Appium。
有关Appium的安装,如果你使用的是Mac平台,可以参考如下网址中的文章的介绍:
https://testerhome.com/topics/1225
如果你使用的是Windows平台,可以参考如下网址中的文章的介绍:
https://testerhome.com/topics/2376
这里就不详细介绍了。
安装好Appium之后,需要再安装两个Python的测试库,一个是Appium-Python-Client,另一个是robotframework-appiumlibrary。前者是用Python脚本来驱动Appium的,后者是基于Robot Framework实现的Appium库,用到了前者实现的一些基础框架。这两个就类似于Selenium和Selenium2Library一样。
相关下载地址:
https://pypi.python.org/pypi/Appium-Python-Client/
https://pypi.python.org/pypi/robotframework-appiumlibrary
推荐使用pip安装。如果想要手动安装,那就需要查看一下这个Library依赖哪些Library。查看方法是在下载地址把源码包下载下来,解压缩,通常会有一个目录是“.egg-info”结尾的,它有可能在根目录,也有可能在src里面,前面的名字一般就是测试库的名字了,比如Appium_Python_Client.egg-info。找到这个目录后,目录下面会有一个requires.txt的文件,打开它就可以看到它依赖哪些Library及其版本了。
比如Appium-Python-Client依赖的是:
selenium>=2.41.0
enum34
而robotframework-appiumlibrary依赖的是:
decorator >= 3.3.2
robotframework >= 2.6.0,
docutils >= 0.8.1
Appium-Python-Client >= 0.5
mock >= 1.0.1
sauceclient >= 0.1.0
pytest-cov >= 1.8.1
pytest-xdist >= 1.11
pytest-pythonpath >= 0.4
当然,可能其中某个Library又会依赖其他Library,这就要具体地一个个看了,所以手动安装是比较麻烦的事情,如果依赖比较少还可以,依赖多的时候就不如pip省心了。
本书作者是一位高水平的测试实践家,在工作和学习中深刻理解了Robot Framework在软件测试中的应用,并总结了一套高效的学习理论和方法。这本书涵盖了在自动化测试中遇到的大部分场景,不但内容充实、逻辑严密,且图文并茂、语言生动。对Robot Framework使用者来说,本书更是一部人人必备在案头的工具书。
优酷土豆网搞基测试工程师 丁恒
Robot Framework(RF)是一款的开源测试框架,它简单易用、拓展性强,可以适用于各种各样的被测物和测试场景。同时RF有着十分活跃的社区支持,从工具选型的角度来看,很值得花时间去研究。RF自身有着良好的设计,很多测试理念被巧妙地集成其中,因此测试开发工程师深入学习RF也会获益良多。作者是RF中文社区的核心力量之一,也是RF的坚定实践者。在本书里,作者将多年一线的测试经验融入了对RF的详尽介绍内容中。阅读本书,读者既可以快速掌握RF的具体知识,又可以学习到作者对自动化测试的很多思考。一举两得,何乐而不为呢?
雪球直男测试工程师 刘晓光
在豆瓣的时候,也使用了一段时间的Robot Framework(RF)。记得刚入职豆瓣的时候,搭建RF的环境就坑了3天。搭建好以后就换了Mac,然后又是3天。看到道长把安装过程写得很详细,于是觉得这本书的读者好幸福呀,可以很轻松地安装并且开始学习。RF的流行是因为很多人都为RF贡献了力量,并且以Library的形式提供更加便捷的使用方式。本书还介绍了很多流行的Library,是一本业界良心的好书。
豌豆荚博学测试工程师 芈峮
我在诺基亚网络使用Robot Framework比作者早很多,但作者却是编写最多中文实用文章的人,同时积极普及知识、推动相关社区发展,如今更是将他的经验总结成书,内容详尽细致,是初学者们非常适合的入门书和参考书。
大中华区敏捷及DevOps中心主管、IBM 徐毅
学习中,挺好的
差评,半颗星也不想给。首先收到货看到如下图,被人切开过包装,书还是破损的,我都没计较,立马申请退货,当当客服态度还好,说两天会有人上门取货,结果快递两个周都不上门取货,要不是中间打过电话催过两次都没人理。其次,原价53.3块买的,退回到我卡上的钱只有47.17,不知道少的6块钱哪去了,也没个解释,第一次遇到这么奇葩的快递公司和网购,总之很失望
拿到书看了一下,之前在网上看过robot framework,这个看起来比较轻松,内容较浅。深入浅出,对初学者来说还是很不错的。价格稍微贵了点。总体感觉还不错。
对新手来说不错
哈哈哈哈哈哈哈
很好用,基础看是没问题的
买的第二本,帮朋友买的,好评
帮公司买了一本,挺好用的
性价比高,包装很好,继续保持。
不错的。帮别人买的。
赞!超赞!超赞!
不错的入门书籍
快递小哥冒着大雨送书,令我十分感动,赞一个!
物流挺快,内容还没有看
学习zhong
被磨了。。。。。。。唉
跟大家讲个笑话,我地址很详细,当当还给我加了密,包裹上写的如图,好笑吧 哈哈哈哈,你这么可爱我喜欢
还好还好哈
送货速度快,图书质量好。推荐购买。
物流速度快,过几天看看书的内容怎么样
差的一逼,书是旧的,还被水浸湿了,气死了,要不是着急用就退掉了,再也不来当当买东西了
挺不错的,也适合新手系统的学习
对当当的物流真是无语O__O"…发货不好好发,退换货还耽误大家的时间,谁愿意来回折腾呀。
包装完好,速度快,很满意!
买完就降价,内容确实很基础,这个价格确实不值
1.为什么新书拆开包装袋就看到了封面被笔画了一道?2.当当的物流什么时候变成三天了,而且我在郑州买的显示郑州仓库出货
跟在书城里看的书是一样的.不错.前晚下单,第二天上午就收到货了,很喜欢这样的物流,点赞!
很期待这本书,早就想买了,之前旧书,盗版书都买过,碰到有活动,就买了,很划算,毫不犹豫就买了好多本,今年算是有事干了,真刺激!
虽然讲得内容很基础,但是很细致,也适合0基础学习RF的人,如果是已经有个一些RF实用经验的人,推荐直接看作者博客或者RF的源代码学习。