序
关于自动化测试的工具和框架其实有很多。自动化测试在测试IT行业中扮演着越来越重要的角色,不管是在传统的IT行业还是高速发展的互联网行业或是如今的大数据和大热的人工智能领域,都离不开测试,也更加离不开自动化测试。自动化测试已经发展了很多年,在很多大的互联网公司里他们不但有自己的自动化测试框架,甚至基本都建立了自己的自动化测试平台或者已经对外开放使用的自动化测试云平台,也就是说自动化测试几乎已经成为一名测试工程师必须掌握的一个技能,并且随着很多自动化测试工具和框架的不断发展和完善,自动化测试也变得越来越简单。Robot Framework是目前众多自动化测试工具或自动化测试框架中一个非常流行的开源框架,致力于解决重复功能测试劳动所带来的高额成本,将自动化测试大众化、简单化、通俗化,让更多没有编程基础的人也能成功地完成自动化测试,降低自动化测试带来的学习成本。
2016年年初,作者在规划写这本书的时候,其实已经在开始谋划做职位转型,从一名软件测试工程师转型为一名软件开发工程师,在此之前作者曾经在测试职位上打拼了8年多,经历了手工功能测试、自动化测试、性能测试。在写这篇序时,作者已经在转型后的软件开发工程师的岗位上工作了1年多,之所以说作者自身的经历,其实主要是想告诉每一位想从事自动化测试的读者,只要想去做或者想去转型,时间和年纪都不会是太大问题,哪怕你已经30岁或者30多岁了,都可以重新开启一个新的奋斗起点。作者写这本关于自动化测试框架的书,除了分享一些自身浅薄的经验外,还有一个目的就是想鼓励更多还在从事手工功能测试的读者去学习自动化测试,去从事自动化测试。
这本书并不是完全面向初学者来进行设计的,更多的是比较适合有一定自动化基础的朋友。在本书的后半部分,更多的谈到如何去设计一个自动化测试框架, 对于一个刚刚接触自动化测试的朋友来说,刚开始可能会稍显吃力,但是随着您对自动化测试的逐步深入,相信您会越来越轻松、越来越喜欢。
感谢孟瑞迪、Monica等众多挚友在我最困难的时候给予我很多的帮助,正是有了大家的帮助才有了这本关于自动化测试框架的书。由于作者水平有限,书中难免会存在一些不足之处,恳请读者提出宝贵的意见和建议。
目录
1.1如何创建一个自动化测试项目 2
1.1.1创建测试项目 3
1.1.2创建测试套件 3
1.1.3创建测试用例 4
1.2RobotFramework基础关键字 4
1.2.1如何搜索RobotFramework的关键字 4
1.2.2关键字log 5
1.2.3如何在用例中定义一个变量 6
1.2.4如何快速查询某一个关键字的API说明 6
1.2.5如何快速补全关键字 7
1.2.6如何定义一个列表 7
1.2.7如何定义一个字典 8
1.2.8如何拼接两个字符串 8
1.2.9如何使用for循环 9
1.2.10如何中断for循环 9
1.2.11RunKeywordIf判断的使用 10
1.2.12Comment关键字的使用 10
1.2.13ReturnFromKeyword和ReturnFromKeywordIf关键字的使用 11
1.3RobotFramework断言关键字 13
1.3.1ShouldBeEqual关键字的使用 13
1.3.2ShouldBeTrue关键字的使用 13
1.3.3ShouldContain关键字的使用 14
1.3.4ShouldEndWith关键字的使用 14
1.3.5其他常用断言关键字 15
1.4BuiltIn库剩余关键字 16
1.4.1常用转换类型关键字 16
1.4.2常用Get类型关键字 17
1.4.3常用Import类型关键字 18
1.4.4常用Set类型关键字 18
1.4.5常用RunKeyword类型关键字 19
1.4.6其他关键字 19
第2章RobotFramework对数据库的操作 21
2.1DatabaseLibrary库的使用 21
2.1.1如何连接数据库 22
2.1.2如何断开数据库 23
2.1.3如何对数据库的表进行查询 23
2.1.4如何插入和删除数据 24
2.1.5如何执行数据库脚本文件 26
2.1.6DatabaseLibrary库的其他操作关键字 27
2.2MongoDBLibrary库的使用 28
2.2.1MongoDB数据库的连接和断开 29
2.2.2GetMongodbDatabases和GetMongodbCollections 32
2.2.3SaveMongodbRecords 34
2.2.4RetrieveAllMongodbRecords 35
2.2.5UpdateManyMongodbRecords 36
2.2.6RemoveMongodbRecords 37
2.2.7MongoDBLibrary库的其他关键字 38
第3章HTTP接口自动化测试 40
3.1HttpLibrary.HTTP库的使用 40
3.1.1CreateHttpContext 41
3.1.2Get 42
3.1.3GetResponseBody 44
3.1.4GetResponseStatus 44
3.1.5GetResponseHeader 45
3.1.6SetRequestHeader 48
3.1.7SetRequestBody 49
3.1.8Post 50
3.1.9FollowResponse 51
3.1.10HttpLibrary.HTTP库的其他关键字 52
3.2RequestsLibrary库的使用 56
3.2.1CreateSession和GetRequest 57
3.2.2PostRequest 59
3.2.3RequestsLibrary库的其他关键字 60
3.3RESTinstance库的使用 61
第4章移动手机自动化测试 62
4.1Appium介绍 62
4.1.1Appium中的常用术语 63
4.1.2Appium服务关键字 64
4.2AppiumLibrary库的使用 69
4.2.1OpenApplication 71
4.2.2InputText和ClickButton 75
4.2.3ClearText 82
4.2.4ClickElement 84
4.2.5ClickAPoint 85
4.2.6ClickElementAtCoordinates 85
4.2.7GetElementLocation 86
4.2.8GetCurrentContext 87
4.2.9GetContexts 87
4.2.10SwitchToContext 87
4.2.11GetElements 88
4.2.12GetElementAttribute 88
4.2.13GetNetworkConnectionStatus和SetNetworkConnectionStatus 89
4.2.14ElementAttributeShouldMatch 90
4.2.15ElementNameShouldBe和ElementValueShouldBe 91
4.2.16AppiumLibrary库其他的常见自动化关键字 91
第5章Web自动化测试 94
5.1SeleniumWeb自动化 94
5.1.1Selenium和RobotFrameworkSelenium2Library库介绍 94
5.1.2OpenBrowser和CloseBrowser 96
5.1.3InputText 98
5.1.4ClickButton 99
5.1.5ClickElement 101
5.1.6ClickLink 101
5.1.7AddCookie、GetCookie和DeleteCookie 103
5.1.8GetAllLinks 105
5.1.9ChooseFile 106
5.1.10GetText 111
5.1.11GetTitle 112
5.1.12GetValue 113
5.1.13GetWebelements和GetWebelement 114
5.1.14GetWindowTitles 115
5.1.15GoBack和GoTo 115
5.1.16GetListItems 117
5.1.17GetSelectedListValue 117
5.1.18SelectFromList 119
5.1.19Selenium2Library库其他的自动化测试关键字介绍 120
5.2SikuliLibrary库的使用 128
5.2.1Sikuli简介 128
5.2.2SikuliLibrary的使用 129
5.2.3SikuliLibrary的工作原理 133
5.2.4SikuliLibrary常用关键字介绍 135
第6章编写自定义的RobotFrameworkLib 137
6.1使用Python编写自定义的RobotFrameworkLib 137
6.1.1使用Python构建Lib工程 137
6.1.2使用Python编写自定义的Lib 141
6.1.3打包自定义的Lib 143
6.1.4Remote远程库 145
6.2使用Java编写自定义的RobotFrameworkLib 150
6.2.1在RobotFramwork中调用JavaLib库 150
6.2.2使用Java编写自定义的Lib 156
第7章自动化测试用例的编写技巧 164
7.1自动化测试用例的常用技巧 164
7.1.1自动化测试用例的容错 164
7.1.2自动化测试用例的测试数据初始化和脏数据的处理 166
7.2如何高效地维护好自动化测试用例 167
7.2.1提取出共用变量统一维护 167
7.2.2在单个自动化测试用例中多使用变量 170
7.2.3提取复用的业务或者步骤,封装自定义的用户关键字 171
7.2.4封装全局可用的资源文件 173
第8章自动化测试框架的设计 177
8.1Jenkins下自动化测试的调度管理 177
8.1.1Jenkins介绍 177
8.1.2在Jenkins上运行RobotFramework自动化测试用例 183
8.2如何做好自动化测试平台框架的设计 188
8.3其他常用的自动化测试框架介绍 193
8.3.1RedwoodHQ介绍 193
8.3.2Cucumber介绍 198
作者新书上架
Robot Framework自动化测试框架核心指南电子版试读
Robot Framework自动化测试框架核心指南天猫官方旗舰店购买
相关博文汇总:
RobotFramework下的http接口自动化Create Http Context关键字的使用
RobotFramework下的http接口自动化Get关键字的使用
RobotFramework下的http接口自动化post关键字的使用
如何创建一个自动化测试项目
RobotFramework下的http接口自动化Get Response Body关键字的使用
RobotFramework下的http接口自动化Get Response Status 关键字的使用
RobotFramework下的http接口自动化Get Response header 关键字的使用
RobotFramework下的http接口自动化Set Request Header 关键字的使用
RobotFramework下HttpLibrary库其它关键字
RobotFramework下的http接口自动化Set Request Body 关键字的使用
RobotFramework下的http接口自动化Follow Response关键字的使用
RobotFramework自动化测试框架的基础关键字(一)
RobotFramework自动化测试框架的基础关键字(二)
RobotFramework自动化测试框架的基础关键字(三)
RobotFramework自动化测试框架的基础关键字(四)
RobotFramework自动化测试框架的基础关键字(五)
RobotFramework自动化测试框架-移动手机自动化测试AppiumLibrary介绍
RobotFramework自动化测试框架-移动手机自动化测试Open Application关键字的使用
RobotFramework自动化测试框架-常用断言关键字
RobotFramework自动化测试框架-移动手机自动化测试AppiumLibrary库其它的常见自动化关键字
RobotFramework自动化测试框架-移动手机自动化测试Input Text和Click Button关键字的使用
RobotFramework自动化测试框架-移动手机自动化测试Clear Text关键字的使用
RobotFramework自动化测试框架-移动手机自动化测试Click Element关键字的使用
RobotFramework自动化测试框架-移动手机自动化测试Click A Point关键字的使用
RobotFramework自动化测试框架-移动手机自动化测试Click Element At Coordinates关键字的使用
RobotFramework自动化测试框架-移动手机自动化测试Get Element Location关键字的使用
RobotFramework自动化测试框架-移动手机自动化测试Get Network Connection Status和Set Network Connection Status关键字的使用
RobotFramework自动化测试框架-移动手机自动化测试Element Attribute Should Match关键字的使用
RobotFramework自动化测试框架-DatabaseLibrary库的使用(对数据库的操作)
RobotFramework自动化测试框架-使用Python编写自定义的RobotFramework Lib
RobotFramework自动化测试框架-Selenium Web自动化(-)-Open Browser和Close Browser
RobotFramework自动化测试框架-MongoDBLibrary库的使用