最小化浏览器机器人框架关键字

Posted

技术标签:

【中文标题】最小化浏览器机器人框架关键字【英文标题】:Minimize browser Robot Framework keyword 【发布时间】:2015-07-31 18:50:54 【问题描述】:

我已经安装了 Robot Framework 并创建了一些测试用例。我使用关键字最大化浏览器窗口来最大化浏览器,但现在我需要最小化浏览器。我看到官方文档但我没有找到特定的关键字,现在我正在使用:

  Set Window Size        $0       $0

但这不是我想要的。我想最小化或在后台运行测试。有人知道怎么做吗?

提前致谢。

【问题讨论】:

您能否详细说明“最小化或在后台运行测试”?我不确定你想达到什么目的。 我希望在测试运行时浏览器不可见 【参考方案1】:

很好的问题,我的公司确实做到了这一点,但不是你想的那样。

简而言之,在普通的 Robot Framework 中这可能是不可能的,但我们设置了一个持久的 Linux VM 并在其上安装了 Jenkins 和 Robot Framework。然后将其连接到 GitHub 存储库,在该存储库中上传构建并设置为在每次推送时运行新测试。

但是,如果您想深入了解特定浏览器的内部结构,我找到了一种方法来保证 Chrome 由 Robot Framework 最大化启动,因此可以做同样的事情,但反过来。假设您的关键字都不依赖 xy 坐标,那应该没问题。当它控制的浏览器被最小化时,Robot Framework 工作得很好。

这是我开始做的代码。

Open Chrome
    [Arguments]     $HOMEPAGE
    $options  Evaluate    sys.modules['selenium.webdriver'].ChromeOptions()   sys
    Call Method     $options  add_argument    --start-maximized
    Create WebDriver    Chrome  chrome_options=$options
    Go To   $HOMEPAGE

编辑:在与高级开发人员进一步讨论后,答案是否定的。这是不可能的,因为 Selenium 需要一个可用的元素来与之交互。它可能不一定是肉眼可见的,但它需要对程序可用,而当浏览器窗口最小化时,情况并非如此。当我将上面的代码更改为“--start-minimized”时,它以最小化方式打开,然后立即可见地运行。

【讨论】:

以上是关于最小化浏览器机器人框架关键字的主要内容,如果未能解决你的问题,请参考以下文章

如何在机器人框架中关闭浏览器插件警报

Robotframework:找不到名称为“打开浏览器”的关键字

如何在 Web 浏览器中从 Silverlight 应用程序捕获图像

机器人框架浏览器支持

当前浏览器版本不支持机器人框架

我们如何在机器人框架中一次通过不同的浏览器