硒上的便利层

rube.core的Python项目详细描述


            _
 _ __ _   _| |__   ___
| '__| | | | '_ \ / _ \
| |  | |_| | |_) |  __/
|_|   \__,_|_.__/ \___|.core

rube.core是一个方便层 在Selenium之上;其思想是使编写新的集成更加容易 以一种看起来像普通旧的方式对我们的登台基础设施进行测试 单元测试。

rube是由Fedora Infrastructure team开发的。你可以找到 我们在rube.fedora中的基础设施。请随意重复使用 rube.core如您所见。

如果您对运行Fedora Infrastructure Test Suite感兴趣,请 请参阅rube.fedoraREADME

功能

core为您的测试提供了许多有用的装饰器。

  • @rube.core.tolerant(n=3)试图运行您的测试。如果成功了,就成功了 没别的了。如果测试失败,它会一次又一次地尝试(直到n 次数,默认为3次)。如果它全部失败n次,则失败是 在测试中报告。如果你的关系不稳定,或者你 要知道,有一个应用程序有时是免费的。

  • @rube.core.skip_logout()很明显,可能会将您的测试添加到 隐藏的_no_teardown列表。当 时机到了。

  • @rube.core.expects_zmqmsg(topic, timeout=20000)将导致rube启动 使用zmq.SUB套接字启动后台线程。它将连接到 无论您在setup.cfg中列出了什么样的端点:

    [zeromq]
    tcp://stg.fedoraproject.org:9940
    

    如果消息未在 超时已过,则该测试将失败。在Fedora基础设施中,我们 使用此选项可确保rube在webapps上触发的操作会导致fedmsg消息在登台网关上发布。

  • @rube.core.ensures_after(callable)将在 测试已经运行,给了它一个引发异常的机会。

    常见的用例是定义一个执行shell的可调用 命令。例如,您可以进行硒测试, 帐户系统,并申请虚拟用户在组中的成员身份。之后 测试已经运行,您的可调用程序可以使用paramiko对一台计算机进行ssh,然后 确保该用户现在具有shell访问权限(或其他权限)。

  • @rube.core.collect_har将收集 网站。你必须做一些额外的工作(包括设置 browsermob代理)以获得此工作。见下文。


运行测试将在x中打开firefox,这有点麻烦 有时候。如果需要,可以通过设置 headless=1在setup.cfg中。这样做需要你 xorg-x11-server-Xvfb通过百胜安装。


正在收集用于性能度量的har文件。

如果启用,rube将把harfile数据输出到harfiles/目录中 collect-har并在setup.cfg的[browsermob]部分指定pathbrowsermob-proxy 文件。

您还需要手动将pip install browsermob-proxy放入 维图阿列诺夫。注意this patch是必需的 从https站点(比如我们的整个基础设施)收集har文件。

许可证

rube是一个自由软件:你可以根据条款重新发布和/或修改它。 由自由软件发布的GNU通用公共许可证 基金会,许可证的第3版,或(由您选择)以后的任何版本 版本。

rube的发行是希望它会有用,但是没有 保证;甚至没有对商品的适销性或适用性的暗示保证 特定目的。有关更多详细信息,请参阅GNU通用公共许可证。

你应该收到一份GNU通用公共许可证的副本 用卢布。如果没有,请参阅gnu.org/licenses

https://www.gnu.org/graphics/gplv3-127x51.png

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java需要设置框架。可设置大小(false)以重新绘制()   java我对PDF文件感到困惑   为什么是太阳。jvm。热点。调试器。DebuggerException:无法打开二进制文件`?   设置结果为textview时出现java空指针异常   我应该使用什么同步原语在Java中实现事件驱动程序框架?   java为什么WindowClosing处理程序在退出程序之前不执行后台任务?   如何将“20170712T18:43:04.000Z”转换为安卓或java中的相对时间?   Java,获取按键的时间长度,currentTimeMillies()始终为24   maven构建的java可执行Jar找不到logback。xml   java在其外部的函数中使用for循环中的值   java如何以表格格式将不同长度的数据对齐   java Play 2.5 WebSocket连接构建   maven而非eclipse的java强制转换问题   java如何在JFreeChart中使X轴上的值水平?   构建Java Windows应用程序以访问在线MySQL数据库需要什么   java添加构造函数会出错吗?这没有道理,请帮忙,编程问题   java在一个jframe中的两个JPanel中使用两个绘制方法   java数学或逻辑问题   java如何复制Androids库存摄像头方向更改