1、Robot Framework简介
Robot Framework是一个基于Python的可扩展关键字驱动的自动化框架,用于验收测试,验收测试驱动开发(ATDD),行为驱动开发(BDD)和机器人流程自动化(RPA)。它可以用于分布式异构环境,其中自动化需要使用不同的技术和接口。由Robot Framework基金会支持。许多行业领先的公司在其软件开发中使用该工具。
Robot Framework是开放和可扩展的。可以与几乎任何其他工具集成,以创建强大而灵活的自动化解决方案而著称。Robot Framework可以免费使用,无需许可费用。
2、Robot Framework框架特点
1、RF支持易于使用的表格语法,以便以统一的方式创建测试用例。
2、RF提供从现有关键字创建可重用的高级关键字的功能。
3、提供易于阅读的HTML 格式结果报告和日志。
4、独立于平台和应用程序。
5、提供用于创建可使用 Python 本机实现的自定义测试库。
6、提供命令行界面和基于 XML 的输出文件,以便集成到现有的生成基础结构(持续集成系统)中。
7、支持测试 Web 应用程序、rest API、移动应用程序、正在运行的进程、通过 Telnet 或 SSH 连接到远程系统等。
8、支持创建数据驱动的测试用例。
9、具有对变量的内置支持,特别适用于在不同环境中进行测试。
10、提供标记以分类和选择要执行的测试用例。
11、支持集成:测试套件只是可与生产代码一起进行版本控制的文件和目录。
12、提供测试用例和测试套件级别的设置和拆卸。
13、模块化架构支持创建测试,甚至适用于具有多个不同接口的应用程序。
3、Robot Framework框架的体系结构
Robot Framework是一个通用的,独立于应用程序和技术的框架。它具有高度模块化的体系结构,如下图所示。
测试数据采用简单、易于编辑的表格格式。当Robot Framework启动时,它会处理数据,执行测试用例并生成日志和报告。核心框架对被测目标一无所知,与它的交互由库处理。库可以直接使用应用程序接口,也可以使用较低级别的测试工具作为驱动程序。
4、Robot Framework应用示例
以下截图显示了测试用例和数据文件:
结果和日志文件:
5、Robot Framework安装
Robot Framework 是用 Python 实现的,因此需要安装 Python。在 Windows 计算机上,确保在安装过程中将 Python 添加到 PATH。
使用 pip 安装Robot Framework很简单:
安装命令运行的过程:
安装完成后,用如下命令进行版本检查:
6、Robot Framework简单示例
案例中包含2个文件:
Test_suite.robot文件
Keywords.resource文件
1)创建一个robot文件(代码如下所示):
-
*** Settings ***
-
Documentation A test suite for valid login.
-
...
-
... Keywords are imported from the resource file
-
Resource keywords.resource
-
Default Tags positive
-
*** Test Cases ***
-
Login User with Password
-
Connect to Server
-
Login User ironman 1234567890
-
Verify Valid Login Tony Stark
-
[Teardown] Close Server Connection
-
Denied Login with Wrong Password
-
[Tags] negative
-
Connect to Server
-
Run Keyword And Expect Error *Invalid Password Login User ironman 123
-
Verify Unauthorised Access
-
[Teardown] Close Server Connection
-
2)创建一个关键字文件:
-
*** Settings ***
-
Documentation This is a resource file, that can contain variables and keywords.
-
... Keywords defined here can be used where this Keywords.resource in loaded.
-
Library CustomLibrary.py
-
*** Keywords ***
-
Connect to Server
-
Connect fe80::aede:48ff:fe00:1122
-
Close Server Connection
-
Disconnect
-
Login User
-
[Arguments] ${login} ${password}
-
Set Login Name ${login}
-
Set Password ${password}
-
Execute Login
-
Verify Valid Login
-
[Arguments] ${exp_full_name}
-
${version}= Get Server Version
-
Should Not Be Empty ${version}
-
${name}= Get User Name
-
Should Be Equal ${name} ${exp_full_name}
-
Verify Unauthorised Access
-
Run Keyword And Expect Error PermissionError* Get Server Version
-
Login Admin
-
[Documentation] 'Login Admin' is a Keyword.
-
... It calls 'Login User' from 'CustomLibrary.py'
-
Login User admin @RBTFRMWRK@
-
Verify Valid Login Administrator
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
-
文档获取方式:
-
加入我的软件测试交流群:680748947免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)
这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取