RobotFramework全部内置标准库及第三方库介绍,以及安装方法
1.Libraries
看Robot都有哪些库,最靠谱的方法就是直接上官网查看。
官网地址为:https://robotframework.org
1.1 Standard Libraries 内置标准库
如下图,是官网的内置标准库一览:
Library Name | 功能 |
---|---|
Builtin | 包含经常需要的关键字。自动导入无需import |
Dialogs | 提供了暂停测试执行和从用户的输入方式 |
Collections | 提供一组关键词处理Python列表和字典 |
OperatingSystem | 允许执行各种操作系统相关的任务,使各种操作系统相关的任务在robot framework正在运行的系统中执行 |
Remote | 远程库接口的一部分。没有自己的任何关键字,作为robot framework和测试库之间的代理的特殊库。实际测试库可以在不同的机器上运行,可以使用任何编程语言支持XML-RPC协议的实现 |
Screenshot | 提供关键字来捕获和存储桌面的截图 |
String | 用于生成、修改和验证字符串的库 |
Telnet | 支持连接到Telnet服务器上打开的连接执行命令 |
XML | 用于生成、修改和验证XML文件的库 |
Process | 系统中运行过程的库 |
DateTime | 日期和时间转换的库,支持创建和验证日期和时间值以及它们之间的计算 |
1.2 External Libraries 第三方库
如下图,是官网的第三方库一览:
Library Name | 功能 |
---|---|
Android library | 所有android自动化需要的测试库,内部使用的是Calabash Android |
AnywhereLibrary | 这个库用于测试只有一个页面的App(SPA),内部使用的是Selenium WebDriver和Appium |
AppiumLibrary | Android和iOS测试库,内部使用的是appium |
Archive library | 用于处理zip和tar压缩文件 |
AutoItLibrary | Windows的GUI测试库,使用AutoIt的免费工具作为驱动 |
CncLibrary | 用于控制CNC milling machine(数控铣床) |
ConfluentKafkaLibrary | python confluent kafka的库 |
CURFLibrary | 用于通过 ISO-TP和UDS标准,来测试CAN bus(控制器局域网络总线) |
Database Library (Java) | 基于Java的数据库测试库,并且支持Jython和Maven |
Database Library (Python) | 基于Python数据库测试库,支持任何Python解释器,包括Jython |
DataDriver Library | 用于外部数据驱动的测试,外部数据源可以是csv、xls、xlsx等 |
Debug Library | 用于debug RobotFramework,并且可以作为interactive shell(交互式脚本)来使用 |
Diff Library | 比较两个file的差异的库 |
Django Library | Django的库(Django是一个Python Web框架) |
Eclipse Library | 这个库用于通过SWT widgets测试Eclipse的RCP应用 |
robotframework-faker | faker库(一个假测试数据生成器) |
FTP library | 测试和使用FTP服务的库 |
HTTP library (livetest) | 内部使用LiveTest工具的HTTP测试的库 |
HTTP library (Requests) | 内部使用Request的HTTP测试的库 |
HttpRequestLibrary (Java) | 使用Apache HTTP client的HTTP测试的库 |
iOS library | 所有iOS自动化需要的测试库,内部使用Calabash iOS服务 |
ImageHorizonLibrary | 跨平台、基于图像识别的GUI自动化纯Python库 |
JavaFXLibrary | 基于TestFX,用于测试JavaFX应用的库 |
KiCadLibrary | 用于与KiCad EDA designs进行交互的库 |
MongoDB library | 使用pymongo和MongoDB交互的库(MongoDB是一个基于分布式文件存储的数据库) |
Mainframe3270 Library | 用于为 IBM Mainframe 3270编写自动化测试脚本的库 |
MQTT library | 用于测试MQTT(消息队列遥测传输协议)的broker(代理)和应用的库 |
NcclientLibrary | https://github.com/ncclient/ncclient |
Rammbock | 通用网络协议测试库,提供了一种简单的方法来指定网络数据包并检查发送和接收数据包的结果 |
RemoteSwingLibrary | 使用swinglibrary库测试及连接java进程,尤其是java web start的应用(Java Web Start 是基于 Java 技术的应用程序的一种部署解决方案,它是连接计算机和 Internet 的便捷通道,允许用户在完全脱离 Web 的情况下运行和管理应用程序) |
RESTinstance | 用于测试HTTP JSON API的库 |
SapGuiLibrary | 内部通过SAP Scripting Engine,用于测试SAPGUI client的库 |
Selenium2Screenshots | 通过Selenium2Library来截屏的库 |
SeleniumLibrary | Web测试库,内部使用比较流行的selenium工具 |
Selenium2Library | 使用selenium2的Web测试库,替换了大部分老的seleniumlibrary |
Selenium2Library for Java | selenium2library的java接口 |
ExtendedSelenium2Library | Selenium2Library的扩展库,支持了AngularJS |
SikuliLibrary | 支持使用Sikulix来测试UI的库 |
SSHLibrary | 支持通过SSH连接,在远程机器上执行命令。还支持使用SFTP进行文件传输 |
SudsLibrary | 支持对基于SOAP的Web服务进行功能测试 |
SwingLibrary | 用Swing GUI测试java应用程序的库 |
TestFX Library | 支持使用Test FX framework来测试Java FX应用的库 |
TFTPLibrary | 支持与 Trivial File Transfer Portocol进行交互的库 |
WhiteLibrary | 用于Windows GUI的自动化,它基于White framework,支持Win32、WinForms和WPF应用 |
watir-robot | 使用Watir tool来测试web的库 |
2.安装Library的方法
2.1 安装Standard Libraries的方法
所有的标准库,都是Robot Framework的包里已经自带了的,无需额外下载。
但是,标准库中,只有Builtin Library是默认已经import到Robot Framework中,可以直接使用的,其余的,如果项目需要的话,都需要手动import。
以标准库Collections Library为例,需要在项目的根节点的Settings界面上手动Import,如下图:
手动输入“Collections”,然后点击OK即可,如果导入成功的话,会显示在下方的Library列表中,如下图:
2.2 安装External Libraries的方法
第三方的库需要额外下载并安装。
首先,需要安装Python的pip(Python包管理工具)。网上教程很多,本篇不细述。
然后,以第三方库Selenium Library为例,在官网中点击,会进入Github,如下图:
在Readme中,就可以看到安装方法,如下图:
由上我们知课,可以在cmd控制台中,使用如下语句就可以安装Selenium Library了:
pip install --upgrade robotframework-seleniumlibrary
或者
pip install robotframework-selenium2library==1.8.0
其他的库基本上也是类似的操作和语句。
可能有的同学打不开Github,那么还有一个网站,可以供大家查询这些Libraries以及对应的安装方法。
这个网站类似于Java Maven的中央仓库,专门用于查询Python包,网址为:https://pypi.org
在此网址中筛选“RobotFramework Library”(或者也可以直接搜),就可以看到全部支持的第三方库了,如下图:
里面同样有Library的安装方法,如下图:
pip安装完成后,如果项目需要的话,同样需要手动import到项目中,方法同上文中标准库的import方式一致,这里不赘述。
3.如何检查External Library是否安装成功
在我的Robot Framework中,我用pip安装了两个额外的库:Selenium2Library、AppiumLibrary。
检查的方法是,进入C:\Python27\Lib\site-packages 目录下是检查否有Selenium2Library 和AppiumLibrary的目录,如下图:
然后,为项目import这两个library,如果列表中可以正常添加,且字体不是红色,则说明添加成功,如下图: