Robot Framework的Web测试库
项目描述
简介
SeleniumLibrary 是一个用于 Robot Framework 的 Web 测试库,它内部使用 Selenium 工具。项目托管在 GitHub 上,可以从 PyPI 下载。
SeleniumLibrary 目前与 Selenium 4 兼容。它支持 Python 3.8 到 3.12。除了正常的 Python 解释器外,它还可以与 PyPy 一起使用。
SeleniumLibrary 基于“旧的 SeleniumLibrary”,该库后来被分叉为 Selenium2Library,后来又改名为 SeleniumLibrary。有关不同版本和整个项目历史的更多信息,请参阅 VERSIONS.rst。
关键字文档
有关可用的关键字以及关于库的更多一般信息,请参阅 关键字文档。
安装
建议的安装方法是使用 pip
pip install --upgrade robotframework-seleniumlibrary
运行此命令将安装最新版本的 Selenium 和 Robot Framework,但您仍然需要单独安装 浏览器驱动程序。在第一次安装库时,可以省略 --upgrade 选项。
您可以直接从 GitHub 仓库安装。要从 master 分支安装最新源代码,请使用此命令
pip install git+https://github.com/robotframework/SeleniumLibrary.git
请注意,安装需要一些时间,因为 pip 将将 SeleniumLibrary 项目克隆到临时目录中,然后执行安装。
有关安装 Python 和 Robot Framework 的详细信息,请参阅 Robot Framework 安装说明。有关使用 pip 的更多信息,请参阅 其自己的文档。
浏览器驱动程序
安装库后,您仍然需要安装所有浏览器和操作系统特定的浏览器驱动程序,以便在测试中使用所有这些浏览器。这些驱动程序与您不使用 SeleniumLibrary 时需要与 Selenium 一起使用的驱动程序完全相同。有关驱动程序的更多信息,请参阅 Selenium 文档。
安装浏览器驱动程序的一般方法是下载正确的驱动程序,例如 Chrome 的 chromedriver,并将其放置在 PATH 目录中。可以通过 Selenium 文档或使用您的首选搜索引擎并使用类似 selenium chrome browser driver 的搜索词来找到不同浏览器的驱动程序。新浏览器驱动程序版本发布以支持新浏览器中的功能、修复错误或其他原因,您需要关注它们以了解何时更新您使用的驱动程序。
或者,您可以使用一个名为 WebdriverManager 的工具,该工具可以为您找到最新版本或当需要时找到适当的任何版本的适当网络驱动程序,然后将其下载并链接/复制到正确位置。该工具可以在所有主要操作系统上运行,并支持下载 Chrome、Firefox、Opera 和 Edge 网络驱动程序。
以下是一个示例
pip install webdrivermanager
webdrivermanager firefox chrome --linkpath /usr/local/bin
用法
在Robot Framework测试中使用SeleniumLibrary,需要像其他库一样,首先使用Library设置导入该库。该库接受一些导入时参数,这些参数在关键字文档中有所说明,包括库提供的所有关键字。
当使用Robot Framework时,通常建议尽可能编写易于理解的测试。然而,SeleniumLibrary提供的关键字相对较低级,通常需要传递特定于实现的参数,如元素定位器作为参数。因此,通常使用Robot Framework的更高级关键字来编写测试是个好主意,这些高级关键字内部使用SeleniumLibrary关键字。以下示例展示了如何使用SeleniumLibrary关键字,如输入文本,主要通过更高级的关键字,如输入用户名。
*** 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
上述示例是演示项目中示例的略微修改版本,该示例说明了如何使用Robot Framework和SeleniumLibrary。查看演示以获取更多示例,您也可以在自己的机器上执行这些示例。有关Robot Framework测试数据语法的更多信息,请参阅Robot Framework用户指南。
扩展SeleniumLibrary
在创建扩展SeleniumLibrary的自定义库之前,请考虑该扩展是否也适用于通用用途。如果它对通用用途也有用,请创建一个新问题,描述增强请求,如果有拉取请求支持则更好。
如果增强不适用于通用用途,示例解决方案是特定于领域的,那么SeleniumLibrary提供了公开的API,可以用于构建自己的插件和库。插件API允许我们添加新关键字,修改现有关键字,并修改库的内部功能。还可以在SeleniumLibrary之上构建新的库。请参阅扩展文档以获取有关可用方法和如何扩展库的示例。
社区
如果提供的文档不够充分,社区中有各种渠道可供选择
#seleniumlibrary 和 #seleniumlibrary-dev 频道在Robot Framework Slack社区
Robot Framework论坛有SeleniumLibrary频道。
SeleniumLibrary 问题跟踪器用于错误报告和具体的增强请求
其他社区渠道包括付费支持
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。
源代码分发
构建分发
哈希值 用于 robotframework_seleniumlibrary-6.6.1-py2.py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 75f9f9d39a499c515a886a8c59ec1a63dad492d289783d9fc272dad4110120c7 |
|
MD5 | b14abba0c51b4489ae2f42d8e3d2ca99 |
|
BLAKE2b-256 | a379177610a193f6d6f6cb515fcce4035a07f41af178852c15bbf3ba633fe07f |