RF框架(三)_ 常用内置关键字库和第三方库介绍
一、Robot Framework介绍
Robot Framework是通用的开源自动化框架。它可以用于测试自动化和Robot过程自动化(RPA)。
Robot Framework使用易于理解的关键字,语法简单。它的功能可以通过使用Python或Java实现的库进行扩展。该框架周围有一个丰富的生态系统,由作为独立项目开发的库和工具组成。
Robot Framework本身是根据Apache License 2.0发布的开源软件,并且该生态系统中的大多数库和工具也是开源的。该框架最初由诺基亚网络开发,并于2008年开源。
TEST CASE
* 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
pip install robotframework
tip:安装成功如下图所示:
tip: 安装成功后,内置库的源码位置:
2、内置库的概念
内置库实际在官网称为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应用程序的库
附录:
本文由来源 jackaroo2020,由 system_mush 整理编辑,其版权均为 jackaroo2020 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。