Robot Framework 一个通用的 自动化测试框架
Robot Framework 是一个通用的 自动化测试框架,主要用于 验收测试(Acceptance Testing) 和 自动化测试(Test Automation),支持 关键字驱动(Keyword-Driven) 和 数据驱动(Data-Driven) 的测试方式。它广泛应用于 Web 自动化测试、API 测试、UI 测试、数据库测试、移动端测试 等领域。
1. Robot Framework 的主要特点
✅ 简单易用:使用自然语言(关键字)编写测试用例,非技术人员也能理解
✅ 高度可扩展:支持 Python、Java 等语言扩展,可集成 Selenium、Appium、Requests 等库
✅ 跨平台:支持 Windows、Linux、macOS
✅ 丰富的报告和日志:自动生成 HTML 报告,方便测试结果分析
✅ 支持数据驱动:可通过 Excel、CSV、数据库等方式管理测试数据
2. Robot Framework 的主要用途
(1) Web 自动化测试
-
结合 SeleniumLibrary 进行 Web UI 自动化测试(如 Chrome、Firefox 浏览器测试)
-
示例:
*** Test Cases *** 打开百度并搜索Open Browser https://www.baidu.com chromeInput Text id=kw Robot FrameworkClick Button id=suSleep 2sClose Browser
(2) API 测试
-
使用 RequestsLibrary 进行 HTTP 接口测试
-
示例:
*** Test Cases *** 测试 GET 请求Create Session api https://jsonplaceholder.typicode.com${response}= GET On Session api /posts/1Should Be Equal As Strings ${response.status_code} 200
(3) 数据库测试
-
使用 DatabaseLibrary 进行 MySQL、PostgreSQL 等数据库测试
-
示例:
*** Test Cases *** 查询数据库Connect To Database pymysql mydb user password localhost 3306${result}= Query SELECT * FROM users WHERE id=1Should Not Be Empty ${result}
(4) 移动端测试
-
结合 AppiumLibrary 进行 Android/iOS 自动化测试
(5) 桌面应用自动化
-
使用 AutoItLibrary 或 WinAppDriver 进行 Windows 桌面应用测试
3. Robot Framework 的基本使用方式
(1) 安装 Robot Framework
pip install robotframework
(2) 安装常用库
pip install robotframework-seleniumlibrary # Web 测试
pip install robotframework-requests # API 测试
pip install robotframework-databaselibrary # 数据库测试
pip install robotframework-appiumlibrary # 移动端测试
(3) 编写测试用例(.robot
文件)
*** Settings ***
Library SeleniumLibrary*** Test Cases ***
打开谷歌并搜索Open Browser https://www.google.com chromeInput Text name=q Robot FrameworkPress Keys name=q ENTERSleep 3sClose Browser
(4) 运行测试
robot test.robot
运行后会生成:
-
report.html
(测试报告) -
log.html
(详细日志)
4. Robot Framework 的 Docker 使用方式
如果你使用 Docker,可以这样运行:
docker run --rm \-v $(pwd)/tests:/tests \-v /dev/shm:/dev/shm \ppodgorsek/robot-framework:latest \robot /tests/my_test.robot
-
-v $(pwd)/tests:/tests
:挂载本地测试目录到容器 -
/dev/shm
:用于 Chrome 浏览器测试(避免内存问题)
5. 常见问题
Q1: 为什么我的 Robot Framework 测试失败?
-
浏览器驱动未安装(如
chromedriver
未配置) -
依赖库未安装(如
SeleniumLibrary
未安装) -
网络问题(如 Docker 容器无法访问
localhost
)
Q2: 如何调试 Robot Framework?
-
使用
Log
关键字输出变量:Log ${variable}
-
查看
log.html
获取详细执行信息
总结
用途 | 适用场景 | 常用库 |
---|---|---|
Web 测试 | 浏览器自动化 | SeleniumLibrary |
API 测试 | HTTP 接口测试 | RequestsLibrary |
数据库测试 | SQL 查询验证 | DatabaseLibrary |
移动端测试 | Android/iOS 自动化 | AppiumLibrary |
桌面应用测试 | Windows 应用 | AutoItLibrary |
Robot Framework 是一个强大且易用的测试工具,特别适合 自动化测试、回归测试、持续集成(CI/CD)。如果你刚开始使用,建议从 SeleniumLibrary(Web 测试) 或 RequestsLibrary(API 测试) 入手。