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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2398489992a8b6cbfb5b6da38b76178c03826eff26a0e1d20f473f284efcc8ae |
|
MD5 | e56440fccad259a7d812e83cc99e4e3b |
|
BLAKE2b-256 | ce631e1c64311859c4ea6817acf8bf1f6635d01517d2e79e4496457e961bc921 |
robotframework_seleniumtestability-2.1.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b312783f2e26c39c5002ea6db561088a1c8cc551af1dd27b37cb7c04566bbc5c |
|
MD5 | 75055cfc59e9a05edb735c09afe4be65 |
|
BLAKE2b-256 | 13fd2c5006a4e19746ecaa95e5ef1c7c7a83971f06c366379bad47c311823dce |