Robot Framework 是一个基于 Python 的通用自动化测试框架,以关键字驱动(Keyword-Driven)为核心,语法简洁易懂,适合自动化测试(Web、接口、移动端等)和任务自动化。以下是其详细使用教程:

一、环境准备

1. 安装 Python

Robot Framework 依赖 Python,先安装 Python(推荐 3.8+),并勾选 Add Python to PATH

2. 安装 Robot Framework

打开终端(CMD/PowerShell/ 终端),执行以下命令:

pip install robotframework

3. 安装常用库(根据需求选择)
  • Web 自动化SeleniumLibrary(基于 Selenium)

pip install robotframework-seleniumlibrary

  • 接口自动化RequestsLibrary(基于 Requests)

pip install robotframework-requests

  • 数据库测试DatabaseLibrary

pip install robotframework-databaselibrary

二、核心概念

  1. 测试用例(Test Case):具体的测试步骤,由关键字组成。
  2. 关键字(Keyword):最小执行单元,可来自内置库(如 Log)、第三方库(如 Open Browser)或自定义。
  3. 测试套件(Test Suite):包含多个测试用例的文件(.robot 格式),可嵌套形成套件层级。
  4. 变量(Variable):存储数据,格式为 ${变量名}( scalar)、@{列表}( list)、&{字典}( dict)。

三、第一个示例:Web 自动化测试

1. 创建测试套件文件

新建 first_test.robot,内容如下:

*** Settings ***

# 导入需要的库(这里用 SeleniumLibrary 做 Web 测试)

Library           SeleniumLibrary

*** Variables ***

# 定义变量(URL、浏览器、搜索关键词等)

${URL}            https://www.baidu.com

${BROWSER}        Chrome

${SEARCH_KEYWORD} Robot Framework

*** Test Cases ***

# 测试用例 1:打开百度并搜索

百度搜索测试

    Open Browser    ${URL}    ${BROWSER}    # 打开浏览器

    Maximize Browser Window                # 最大化窗口

    Input Text      id=kw    ${SEARCH_KEYWORD}    # 在搜索框输入关键词(百度输入框 id 为 kw)

    Click Button    id=su    # 点击搜索按钮(百度搜索按钮 id 为 su)

    Sleep           2        # 等待 2 秒(避免页面加载过慢)

    Page Should Contain    ${SEARCH_KEYWORD}    # 验证页面包含搜索关键词

    Close Browser           # 关闭浏览器

2. 运行测试用例

终端进入文件所在目录,执行:

robot first_test.robot

3. 查看结果

运行后会生成 3 个文件:

  • output.xml:原始结果数据
  • log.html:详细日志(推荐查看,包含步骤和截图)
  • report.html:测试报告(汇总结果,如通过率)

打开 log.html 可看到每一步的执行情况,若失败会显示错误信息。

四、关键字详解

1. 内置关键字(来自 BuiltIn 库,默认导入)
  • Log:打印日志,如 Log    这是一条日志
  • Sleep:等待,如 Sleep    3(等待 3 秒)
  • Should Be Equal:断言相等,如 Should Be Equal    ${a}    ${b}
2. SeleniumLibrary 关键字(Web 测试常用)
  • Open Browser:打开浏览器(Open Browser    URL    浏览器名
  • Input Text:输入文本(Input Text    定位方式=值    文本,定位方式支持 id、name、xpath 等)
  • Click Element:点击元素(Click Element    xpath=//button
  • Page Should Contain:验证页面包含文本
  • Close Browser:关闭当前浏览器
  • Quit Browser:关闭所有浏览器

五、变量与参数化

通过变量可灵活修改测试数据,示例:

*** Variables ***

${USERNAME}    test_user

${PASSWORD}    test_pass

*** Test Cases ***

登录测试

    Open Browser    https://example.com/login    Chrome

    Input Text    name=username    ${USERNAME}    # 使用变量输入用户名

    Input Text    name=password    ${PASSWORD}    # 使用变量输入密码

    Click Button    xpath=//button[@type='submit']

    Page Should Contain    登录成功

    Close Browser

六、自定义关键字

当内置关键字无法满足需求时,可自定义关键字(复用逻辑):

*** Keywords ***

# 自定义关键字:打开百度并搜索(封装重复步骤)

打开百度并搜索

    [Arguments]    ${keyword}    # 定义参数

    Open Browser    ${URL}    ${BROWSER}

    Input Text      id=kw    ${keyword}

    Click Button    id=su

    Sleep           2

*** Test Cases ***

# 调用自定义关键字

搜索 Python

    打开百度并搜索    Python

    Page Should Contain    Python

    Close Browser

搜索 Java

    打开百度并搜索    Java

    Page Should Contain    Java

    Close Browser

七、接口自动化示例(使用 RequestsLibrary)

1. 安装库

pip install robotframework-requests

2. 测试用例(api_test.robot

*** Settings ***

Library           RequestsLibrary

*** Variables ***

${API_URL}    https://httpbin.org/get    # 测试接口(GET 请求)

*** Test Cases ***

GET 接口测试

    Create Session    httpbin    ${API_URL}    # 创建会话(类似 requests.Session())

    ${response}    Get Request    httpbin    /    # 发送 GET 请求(路径为 /,基于会话的 base_url)

    Log    ${response.status_code}    # 打印响应状态码

    Should Be Equal As Integers    ${response.status_code}    200    # 断言状态码为 200

    Log    ${response.json()}    # 打印响应 JSON 数据

运行命令:

robot api_test.robot

八、运行测试的高级选项

  1. 指定测试用例:只运行某个用例

robot -t "百度搜索测试" first_test.robot

  1. 指定输出目录:将结果保存到 results 文件夹

robot -d results first_test.robot

  1. 并行运行:需安装 pabot(并行执行工具)

pip install pabot

pabot --processes 2 first_test.robot  # 2 个进程并行运行

九、扩展:自定义 Python 关键字

若 Robot Framework 关键字不够用,可通过 Python 编写自定义库:

1. 创建 Python 文件(my_keywords.py

def add_numbers(a, b):

    """自定义关键字:计算两个数的和"""

    return int(a) + int(b)

2. 在 Robot 中使用

*** Settings ***

Library           my_keywords.py    # 导入自定义库

*** Test Cases ***

测试自定义关键字

    ${result}    add_numbers    3    5    # 调用 Python 中的 add_numbers 函数

    Should Be Equal    ${result}    8    # 断言结果为 8

十、常用工具

  • RIDE:Robot Framework 官方 IDE(可视化编辑,适合新手),安装命令:pip install robotframework-ride,启动命令:ride.py
  • VS Code 插件Robot Framework Language Server(语法高亮、自动补全)。

通过以上步骤,你可以快速入门 Robot Framework,并根据需求扩展到 Web、接口、数据库等测试场景。核心是掌握 关键字调用 和 用例组织,复杂逻辑可通过自定义关键字或 Python 扩展实现。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐