作为测试人员,RobotFramework框架真的是必须掌握的吗?

简介: 本文探讨了Robot Framework(RF)作为自动化测试框架的重要性,指出虽然RF具有易用性和灵活性,但并非测试人员必须掌握的工具,因为存在许多可替代的自动化测试解决方案。

※技术背景

需要有一定的python基础,代码阅读能力;以及自动化测试思想。
  • 去到任何一家企业,如果少不了自动化,必然会要搭建一套自动化测试框架!
那么问题随之而来,这框架如何选择呢?
如果是代码能力强,可以自行开发与设计,那要是不呢?KPI摆在那,总不能说不行吧!
不行,代表着真的不行,在测试职业领域真的没有什么测试的不行!作者回顾以往工作经历,测试从来没有说过不字。
不会安全测试,但总得会几样安全型测试工具吧,不济也该知道安全测试的目的和原理吧。
不会性能测试,但总得会使用工具吧,理解性能测试指标和知道如何设计性能测试场景吧。
不会单元测试,不会自动化测试?不会渗透测试?所有的不会,那总该会学吧。自强不息。
  • 本章将引荐基于python语言开发的自动化测试框架:RobotFramework
学习RF尽在官网https://robotframework.org/,可以学习查看各种文档去更好的熟练使用它。

※RF测试框架

  • Google翻译一下它的介绍
Robot Framework是一个通用的开源自动化框架。它可用于测试自动化和机器人过程自动化 (RPA)。
Robot Framework 受到积极支持,许多行业领先的公司在其软件开发中使用它。
Robot Framework 是开放和可扩展的,几乎可以与任何其他工具集成,以创建强大而灵活的自动化解决方案。开源也意味着 Robot Framework 可以免费使用,无需支付许可费用。
Robot Framework 具有简单的语法,使用人类可读的关键字。它的功能可以通过用 Python 或 Java 实现的库来扩展。该框架有一个丰富的生态系统,由作为独立项目开发的库和工具组成。
Robot Framework 项目托管在GitHub 上,您可以在其中找到更多文档、源代码和问题跟踪器。下载托管在PyPI。
Robot Framework 独立于操作系统和应用程序。核心框架是使用Python实现的,也可以在Jython (JVM) 和IronPython (.NET) 上运行。
Robot Framework 本身是在Apache License 2.0下发布的开源软件,生态系统中的大部分库和工具也是开源的。该框架最初由诺基亚网络开发,并于 2008 年开源。
  • 所以它有名的是关键字框架设计思想
对于还不会coding但又想coding的同学来讲,RF无疑是练手的不二选择,可以一边使用其现成的关键字,一边又可以开发自己的关键字。

RF框架二次开发实战

  • 环境搭建:python+robotframework
建议eclipse+robotframework
开发关键字流程
1、进入python环境/Lib/sit-packages目录下
2、新建py模块文件<这只是单个文件,不形成库>
3、使用def关键字定义函数,在RF中就是可使用的关键字
  • demo示例:
ROBOT_LIBRARY_SCOPE = 'GLOBAL'
# 返回两个变量的减法运算
def sub(a,b):
    return a-b

ROBOT_LIBRARY_SCOPE表示RF库的属性作用域,有三个等级:TestCase、TestSuite、Global; 作用呢见名知意: TestCase当前测试用例中实例化一次,那么多个测试用例使用,就需要实例多次; TestSuite指在suite中只实例化一次,包含的所有测试用例都共享第一个关键字; Global更简单了,就相当于python的全局属性,全测试框架都可以使用,且只初次实例化一次;

  • rf测试用例中使用关键字
*** Settings ***
Library    demo.py的绝对路径

image.png

  • rf编写测试用例****
*** Settings ***

Library    demo

*** Test Cases ***

case:demo模块自定义sub关键字

    ${res}    sub    ${4}    ${1}

    Log    ${res}

    Should Be Equal    ${res}    ${31}
  • rf执行测试用例展示结果
会生成三个结果文件,一个log两个html

image.png

※总结

当然它不局限于做接口自动化、还支持UI自动化,在python+selenium设计关键字驱动框架时,切莫忘了RF。
因为有现成的关键字驱动框架工具,就不是很建议去重复造轮子,反而会降低输出效率;但是如果为了灵活多变,那还是自己开发的用起来才得心应手!
  • 再多说一句,点题《作为测试人员,RobotFramework框架真的是必须掌握的吗?》,

答案是:No,非必须,因为可替代性太强了。

关于RF关键字驱动,做接口自动化真的有点看不惯!<仁者见仁智者见智,表打我!>
相关文章
|
6月前
|
Web App开发 人工智能 JavaScript
主流自动化测试框架的技术解析与实战指南
本内容深入解析主流测试框架Playwright、Selenium与Cypress的核心架构与适用场景,对比其在SPA测试、CI/CD、跨浏览器兼容性等方面的表现。同时探讨Playwright在AI增强测试、录制回放、企业部署等领域的实战优势,以及Selenium在老旧系统和IE兼容性中的坚守场景。结合六大典型场景,提供技术选型决策指南,并展望AI赋能下的未来测试体系。
|
9月前
|
安全 Unix Linux
Metasploit Pro 4.22.7-2025050101 发布 - 专业渗透测试框架
Metasploit Pro 4.22.7-2025050101 发布 - 专业渗透测试框架
257 10
Metasploit Pro 4.22.7-2025050101 发布 - 专业渗透测试框架
|
4月前
|
SQL 安全 Linux
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
251 1
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
|
4月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
347 1
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
|
10月前
|
安全 Ubuntu Linux
Metasploit Pro 4.22.7-2025042101 发布 - 专业渗透测试框架
Metasploit Pro 4.22.7-2025042101 (Linux, Windows) - 专业渗透测试框架
267 5
Metasploit Pro 4.22.7-2025042101 发布 - 专业渗透测试框架
|
5月前
|
安全 Linux 网络安全
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
394 2
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
|
5月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
464 1
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
|
5月前
|
安全 Linux 网络安全
Metasploit Framework 6.4.88 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.88 (macOS, Linux, Windows) - 开源渗透测试框架
606 0
|
5月前
|
缓存 安全 Linux
Metasploit Pro 4.22.8-2025082101 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-2025082101 (Linux, Windows) - 专业渗透测试框架
240 0
|
7月前
|
Web App开发 开发框架 .NET
Playwright 自动化测试系列(6)| 第三阶段:测试框架集成​指南:参数化测试 + 多浏览器并行执行
Pytest 与 Playwright 集成可提升自动化测试效率,支持参数化测试、多浏览器并行执行及统一报告生成。通过数据驱动、Fixture 管理和并行优化,显著增强测试覆盖率与执行速度,适用于复杂 Web 应用测试场景。