一文2500字Robot Framework自动化测试框架超强教程

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应用示例

以下截图显示了测试用例和数据文件:

 结果和日志文件:

5Robot Framework安装

Robot Framework 是用 Python 实现的,因此需要安装 Python。在 Windows 计算机上,确保在安装过程中将 Python 添加到 PATH。

使用 pip 安装Robot Framework很简单:

 

 安装命令运行的过程:

 安装完成后,用如下命令进行版本检查:

6、Robot Framework简单示例

案例中包含2个文件:

Test_suite.robot文件

Keywords.resource文件

1)创建一个robot文件(代码如下所示):

  1. *** Settings ***

  2. Documentation A test suite for valid login.

  3. ...

  4. ... Keywords are imported from the resource file

  5. Resource keywords.resource

  6. Default Tags positive

  7. *** Test Cases ***

  8. Login User with Password

  9. Connect to Server

  10. Login User ironman 1234567890

  11. Verify Valid Login Tony Stark

  12. [Teardown] Close Server Connection

  13. Denied Login with Wrong Password

  14. [Tags] negative

  15. Connect to Server

  16. Run Keyword And Expect Error *Invalid Password Login User ironman 123

  17. Verify Unauthorised Access

  18. [Teardown] Close Server Connection

  19. 2)创建一个关键字文件:

  20. *** Settings ***

  21. Documentation This is a resource file, that can contain variables and keywords.

  22. ... Keywords defined here can be used where this Keywords.resource in loaded.

  23. Library CustomLibrary.py

  24. *** Keywords ***

  25. Connect to Server

  26. Connect fe80::aede:48ff:fe00:1122

  27. Close Server Connection

  28. Disconnect

  29. Login User

  30. [Arguments] ${login} ${password}

  31. Set Login Name ${login}

  32. Set Password ${password}

  33. Execute Login

  34. Verify Valid Login

  35. [Arguments] ${exp_full_name}

  36. ${version}= Get Server Version

  37. Should Not Be Empty ${version}

  38. ${name}= Get User Name

  39. Should Be Equal ${name} ${exp_full_name}

  40. Verify Unauthorised Access

  41. Run Keyword And Expect Error PermissionError* Get Server Version

  42. Login Admin

  43. [Documentation] 'Login Admin' is a Keyword.

  44. ... It calls 'Login User' from 'CustomLibrary.py'

  45. Login User admin @RBTFRMWRK@

  46. Verify Valid Login Administrator

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

  1. 文档获取方式:

  2. 加入我的软件测试交流群:680748947免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/671607.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CTF-WEB(MISC)

安全攻防知识——CTF之MISC - 知乎 CTF之MISC杂项从入门到放弃_ctf杂项 你的名字-CSDN博客 CTF MICS笔记总结_archpr 掩码攻击-CSDN博客 一、图片隐写 CTF杂项---文件类型识别、分离、合并、隐写_ctf图片分离-CSDN博客 EXIF(Exchangeable Image File)是…

数据结构——链表专题2

文章目录 一、返回倒数第k 个节点二、链表的回文结构三、相交链表 一、返回倒数第k 个节点 原题链接:返回倒数第k 个节点 利用快慢指针的方法:先让fast走k步,然后fast和slow一起走,直到fast为空,最后slow指向的结点就…

opencv基础篇 ——(十六)图形绘制与填充

OpenCV 提供了丰富的图形绘制和填充功能,主要通过 cv::rectangle, cv::circle, cv::line, cv::polylines, cv::fillPoly 和 cv::ellipse 等函数实现。以下是一些基本的图形绘制和填充操作的说明: 矩形: 函数: cv::rectangle语法: cv::rectangle(img, rec…

node.js对数据库的操作 之 query(查询)与pool(连接池)

一、Query(查询) (1)意义 query是指向数据库发送的一个命令或请求,以检索、更新、插入或删除数据。它是一个具体的SQL语句或NoSQL命令,用于从数据库中获取或修改数据。 (2)用途 …

OpenHarmony实战开发-管理位置权限

Web组件提供位置权限管理能力。开发者可以通过onGeolocationShow()接口对某个网站进行位置权限管理。Web组件根据接口响应结果,决定是否赋予前端页面权限。获取设备位置,需要开发者配置ohos.permission.LOCATION,ohos.permission.APPROXIMATE…

数据库中索引的底层原理和SQL优化

文章目录 关于索引B 树的特点MySQL 为什么使用 B 树? 索引分类聚簇索引 和 非聚簇索引覆盖索引索引的最左匹配原则索引与NULL索引的代价大表结构修改 SQL优化EXPLAIN命令选择索引列其它细节 关于索引 索引是一种用来加快查找效率的数据结构,可以简单粗暴…

MATLAB 变换

MATLAB 变换(Transforms) MATLAB提供了用于处理诸如Laplace和Fourier变换之类的变换的命令。转换在科学和工程中用作简化分析和从另一个角度查看数据的工具。 例如,傅立叶变换允许我们将表示为时间函数的信号转换为频率函数。拉普拉斯变换使…

Day61:单调栈 739. 每日温度 496.下一个更大元素 I

739. 每日温度 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: 输…

从线索到成交:HubSpot全渠道销售流程的精准打磨

在当今数字化时代,企业面临着越来越复杂的市场环境和激烈的竞争压力。在这样的背景下,如何利用科技手段提升营销和销售效率,拓展客户获客渠道,成为了企业发展的关键之道。作为HubSpot合作伙伴,我们深谙全渠道营销与销售…

数据库管理-第180期 23ai: Cloud/Container Plus AI(20240503)

数据库管理180期 2024-05-03 数据库管理-第180期 23ai: Cloud/Container Plus AI(20240503)1 Free版本更新2 如我所期3 宣传图Oracle Vector DBJSON Relational DualityProperty GraphsShardingTrue CacheFirewall 总结 数据库管理-第180期 23ai: Cloud/…

Ps 中 曲线和色阶的区别在哪里?

【官方解释】 在Photoshop中,曲线(Curves)和色阶(Levels)是两种调整图像色调和对比度的工具,它们有一些相似之处,但也有一些重要的区别。 调整方式: 曲线(Curves)&…

【Linux】掌握Linux系统编程中的权限与访问控制

💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…