一、Robot Framework介绍
RF官网:https://robotframework.org/
Robot Framework是通用的开源自动化框架。它可以用于测试自动化和Robot过程自动化(RPA)。
Robot Framework使用易于理解的关键字,语法简单。它的功能可以通过使用Python或Java实现的库进行扩展。该框架周围有一个丰富的生态系统,由作为独立项目开发的库和工具组成。
Robot Framework本身是根据Apache License 2.0发布的开源软件,并且该生态系统中的大多数库和工具也是开源的。该框架最初由诺基亚网络开发,并于2008年开源。
TEST CASE
代码语言:javascript复制* Settings ***
Documentation A test suite with a single test for valid login.
...
... This test has a workflow that is created using keywords in
... the imported resource file.
Resource resource.txt
*** Test Cases ***
Valid Login
Open Browser To Login Page
Input Username demo
Input Password mode
Submit Credentials
Welcome Page Should Be Open
[Teardown] Close Browser
二、RobotFramework内置库
1、安装robotframework
代码语言:javascript复制pip install robotframework
tip:安装成功如下图所示:
tip: 安装成功后,内置库的源码位置:
2、内置库的概念
RF内置库官网:http://robotframework.org/robotframework/#standard-libraries
内置库实际在官网称为standard library,就是标准库。标准库是直接绑定在RF内的,无须再下载。 对于标准库,又分两类,类似BuiltIn库是RF自动加载到内存的,安装后按下F5就能直接使用,不需要再次import,而其它库需要再次import才能正常使用。因为BuiltIn library 提供了很多常用的关键字,比如Should Be Equal,Convert To Integer等,故RF把这个常库自动加载到了内存。
3、有哪些常见的内置库
Library Name | 描述 | 官方文档 |
---|---|---|
Builtin | 包含经常需要的关键字。自动导入无需import | http://robotframework.org/robotframework/latest/libraries/BuiltIn.html |
Collections | 提供一组关键词处理Python列表和字典 | http://robotframework.org/robotframework/latest/libraries/Collections.html |
OperatingSystem | 允许执行各种操作系统相关的任务,使各种操作系统相关的任务在robot framework正在运行的系统中执行 | http://robotframework.org/robotframework/latest/libraries/OperatingSystem.html |
String | 用于生成、修改和验证字符串的库 | http://robotframework.org/robotframework/latest/libraries/String.html |
Telnet | 支持连接到Telnet服务器上打开的连接执行命令 | http://robotframework.org/robotframework/latest/libraries/Telnet.html |
XML | 用于生成、修改和验证XML文件的库 | http://robotframework.org/robotframework/latest/libraries/XML.html |
DateTime | 日期和时间转换的库,支持创建和验证日期和时间值以及它们之间的计算 | http://robotframework.org/robotframework/latest/libraries/DateTime.html |
三、RobotFramework第三方库
1、External Libraries 第三方库
Library Name | 描述 |
---|---|
AppiumLibrary | Android和iOS测试库,内部使用的是appium |
AutoItLibrary | Windows的GUI测试库,使用AutoIt的免费工具作为驱动 |
Archive library | 用于处理zip和tar压缩文件 |
AutoItLibrary | |
Database Library (Python) | 基于Python数据库测试库,支持任何Python解释器,包括Jython |
DataDriver Library | 用于外部数据驱动的测试,外部数据源可以是csv、xls、xlsx等 |
Diff Library | 比较两个file的差异的库 |
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库 |
MongoDB library | 使用pymongo和MongoDB交互的库(MongoDB是一个基于分布式文件存储的数据库) |
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应用程序的库 |
附录:
- RF框架(一)_ Anaconda虚拟环境安装及使用教程
- RF框架(二)_ 开发工具RIDE介绍
- RF框架(四)_ 常见问题集锦
- RF框架 — 自动化UI框架解决方案模版
本文由来源 jackaroo2020,由 javajgs_com 整理编辑,其版权均为 jackaroo2020 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。