SeleniumLibrary:Robot Framework 的 Web 测试库
SeleniumLibrary 是一个专为 Robot Framework 设计的 Web 测试库,在 GitHub 上获得 1,469 个 Star。


这个库内部调用 Selenium 工具,为 Robot Framework 提供完整的浏览器自动化测试能力。目前兼容 Selenium 4,支持 Python 3.10 到 3.13,也可以在 PyPy 环境下运行。
SeleniumLibrary 的前身是早期的 SeleniumLibrary,后来 fork 为 Selenium2Library,再后来重新更名回来。项目经过多年迭代,已经成为 Robot Framework 生态中最成熟的 Web 测试方案之一。
安装方式很直接,通过 pip 即可完成:
pip install --upgrade robotframework-seleniumlibrary
这条命令会同时安装最新版本的 Selenium 和 Robot Framework。如果是首次安装,可以省略 --upgrade 参数。也可以直接从源码安装最新版本,使用 git clone 后执行 pip install。
SeleniumLibrary 的用法遵循 Robot Framework 的标准模式。先在测试文件的 Settings 部分导入库:
*** Settings ***
Library SeleniumLibrary
然后在测试用例中调用关键字完成浏览器操作。库本身提供的是底层关键字,比如 Open Browser、Input Text、Click Button、Close Browser 等。这些关键字直接对应 Selenium 的底层操作,需要传入具体的元素定位器作为参数。
实际项目中,通常会在这些底层关键字之上封装更高级的业务关键字,让测试脚本更易读。这种分层写法是 Robot Framework 社区推荐的最佳实践。
下面是一个登录测试的示例:
*** Settings ***
Documentation Simple example using SeleniumLibrary.
Library SeleniumLibrary
*** Variables ***
${LOGIN URL} http://localhost:7272
${BROWSER} Chrome
*** Test Cases ***
Valid Login
Open Browser To Login Page
Input Username demo
Input Password mode
Submit Credentials
Welcome Page Should Be Open
[Teardown] Close Browser
*** Keywords ***
Open Browser To Login Page
Open Browser ${LOGIN URL} ${BROWSER}
Title Should Be Login Page
Input Username
[Arguments] ${username}
Input Text username_field ${username}
Input Password
[Arguments] ${password}
Input Text password_field ${password}
Submit Credentials
Click Button login_button
Welcome Page Should Be Open
Title Should Be Welcome Page
这个示例展示了典型的分层结构:底层 SeleniumLibrary 关键字被上层业务关键字包裹,测试用例本身只描述业务流程,不直接操作页面元素。Open Browser To Login Page、Input Username 这类自定义关键字隐藏了实现细节,测试用例 Valid Login 读起来像自然语言。
浏览器驱动由 Selenium Manager 自动安装和管理,无需手动下载 chromedriver 或 geckodriver 等文件。这在新版 Selenium 中是一大改进,降低了环境配置门槛。
SeleniumLibrary 也支持扩展。如果某些功能具有通用价值,可以向项目提交 issue 或 pull request。如果是特定业务场景,可以通过 Plugin API 添加自定义关键字,修改现有关键字的行为,或调整库的内部机制。也可以基于公共 API 构建完全独立的库。扩展方式的详细说明在项目文档中有完整介绍。
项目提供完整的关键字文档,列出了所有可用关键字及其参数说明,是日常开发时的主要参考资料。社区支持渠道包括 Robot Framework Slack 的 seleniumlibrary 频道、官方论坛以及项目的 issue tracker。
对于已经在使用 Robot Framework 的团队,SeleniumLibrary 是开展 Web 自动化测试的首选方案。它与 Robot Framework 的集成程度很高,测试报告和日志格式保持一致,学习成本相对较低。
iumLibrary 是开展 Web 自动化测试的首选方案。它与 Robot Framework 的集成程度很高,测试报告和日志格式保持一致,学习成本相对较低。

960

被折叠的 条评论
为什么被折叠?



