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

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

  Set Window Size        ${0}       ${0}

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

提前致谢。

【问题讨论】:

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

标签: selenium-webdriver robotframework


【解决方案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”时,它以最小化方式打开,然后立即可见地运行。

【讨论】:

    猜你喜欢
    • 2013-11-08
    • 2012-03-18
    • 2013-02-07
    • 2022-01-22
    • 2017-11-01
    • 2016-09-06
    • 2015-10-14
    • 2019-06-11
    • 2017-12-19
    相关资源
    最近更新 更多