跳转到主要内容

SeleniumTestability库,有助于通过异步事件加速测试

项目描述

robotframework-seleniumtestability

SeleniumTestability是Robot Framework的SeleniumLibrary的一个插件,它添加了不适合其使命的功能。这些新功能通过SL的插件API归档,然后通过JavaScript调用自动为Web应用程序进行仪器化,并提供关键字将其桥接到Robot Framework。

插件提供对Web应用内发生的异步事件自动检测。例如,如果从应用程序调用REST API,测试用例可以自动等待该调用完成后再进行UI交互。还有许多功能,如获取浏览器日志、与本地和会话存储交互的关键字。有关更多详细信息,请参阅关键字文档这里

SeleniumTestability依赖于Selenium的核心功能EventFiringWebdriver,并提供自己的监听器接口,负责在正确的地方等待并在需要时对SUT进行仪器化。

在未来,还可以扩展SeleniumTestability的JavaScript部分,以包含更多的状态检查。

异步事件的监控是通过Testability.js及其绑定实现的。

支持

“官方”支持渠道可在Gitter.im找到。

安装

pip install robotframework-seleniumtestability

用法

初始化库

Library         SeleniumLibrary     plugins=SeleniumTestability;True;30 Seconds;True

有关参数说明,请参阅关键字文档。

示例

  Click Element             id:button_that_triggers_ajax_request
  Click Element             id:some_other_element
  Log To Console            This will happen right after clicking

在此处,如果已启用自动等待,则在第一个按钮触发动作完成之前,不会执行第二个点击元素关键字。

如果未启用自动等待,测试用例可以自行请求等待,前面的示例可能如下所示。

  Click Element               id:button_that_triggers_ajax_request
  Wait For Testability Ready
  Click Element               id:some_other_element
  Wait For Testability Ready
  Log To Console              This would show after events triggered by second click are done.

目前支持的异步功能

  • setTimeout & setImmediate调用和等待。
  • fetch()调用并等待其完成。
  • XHR请求并等待其完成。
  • CSS动画并等待其完成。
  • CSS过渡并等待其完成。
  • 视口滚动。

请注意,捕获CSS动画和过渡取决于浏览器。在过去,某些浏览器没有像“标准”要求的那样实现这些功能。

其他功能。

SeleniumTestability还提供了一些便利的关键字,这些关键字不适合纳入SeleniumLibrary本身,主要是因为这些功能不在SeleniumLibrary和Selenium Python绑定的范围内。请查看关键字文档以获取最新的关键字列表。

关键字文档

关键字文档这里,如果需要离线使用,请创建一个。

python -m robot.libdoc SeleniumLibrary::plugins=SeleniumTestability

贡献

CONTRIBUTING.md文件说明了如何设置SeleniumTestability进一步开发的环境。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

robotframework-seleniumtestability-2.1.0.tar.gz (228.1 kB 查看哈希值)

上传时间:

构建版本

robotframework_seleniumtestability-2.1.0-py3-none-any.whl (23.8 kB 查看哈希值)

上传时间: Python 3

支持者