【问题标题】:Robotframework: How to use Chromium in Selenium Library with Open Browser?Robotframework:如何通过 Open Browser 在 Selenium 库中使用 Chromium?
【发布时间】:2014-12-22 11:50:04
【问题描述】:

我想使用 Robotframework 和 Selenium 对网站进行自动化测试。我的测试适用于 Firefox。但是,我想改用 Chromium。根据documentation for "Open Browser",它应该适用于 Chrome。但是在我的 Ubuntu 机器上,我无法直接使用该浏览器。

这是一个最小的例子:

*** Settings ***
Library  SeleniumLibrary

*** Test Cases ***
Open Browser And Check Title
    Open Browser  about:blank  chromium
    Title Should Be  ${EMPTY}

它失败并出现以下错误:

ValueError: chromium is not a supported browser.

有没有办法在 Robotframework 中设置 chromium 以与 Selenium 一起使用?

编辑:这最初是要求 Selenium2Library 的。迁移到版本 3 时,他们从名称中删除了版本号。该问题已相应更新。

【问题讨论】:

  • 在您的链接文档中,google Chrome 浏览器的可能值是 googlechrome、gc 和 chrome。你为什么使用铬作为价值?
  • 它不适用于那些,因为 Chrome 没有安装(也不会安装)。
  • 您是否尝试过使用“chrom”来查看是否可以解决问题?我认为您只需使用受支持的名称之一。对于 selenium,"Chromium" 并不比 "xyzzy" 更有效——它根本不知道这个词的含义。
  • 你安装了chrome驱动吗? code.google.com/p/selenium/wiki/ChromeDriver
  • 这似乎解决了与添加符号链接 /usr/bin/google-chrome -> /usr/bin/chromium-browser 相结合的问题。不确定是否单独工作。会在家里试试。安装 Chrome(not Chromium)时,通过pip install 安装 selenium2library 是否会自动设置 ChromeDriver?如果您将此作为答案提交,我会接受该解决方案。

标签: testing selenium-webdriver selenium-chromedriver robotframework chromium


【解决方案1】:

试试这个:

${options}=    Evaluate    sys.modules['selenium.webdriver'].ChromeOptions()    sys
${options.binary_location}    Set Variable    /var/blah/chromium
Create Webdriver    Chrome    my_alias    chrome_options=${options}
Go To    http://www.robotframework.org/

【讨论】:

  • Evaluating expression 'sys.modules['selenium.webdriver'].ChromeOptions()' failed: NameError: name 'sys' is not defined 似乎无法直接导入 Python 模块。我需要做什么才能访问 sys.modules?
  • 第一行有第二个参数Evaluate to import sys,所以应该定义。也许是复制/粘贴错误 - sys 不应该是 eval 表达式的一部分。
  • 确实存在复制问题。它有效,太棒了!但我认为@Bryan 的解决方案更方便。我正在修复您的解决方案中 chromium 浏览器的路径。
  • 我不知道 ChromeDriver 也搜索了 Chromium 的路径,但这样做是有道理的。创建 Webdriver 只是最后的手段。我应该删除这个吗?如果 Chromium 不在路径上,更好的解决方案是调整路径并使用 Open Browser。
  • 很遗憾,我只能接受一种解决方案。 @ombre42 您的回答解决了问题,并展示了如何从机器人脚本中创建 WebDriver。我看不出你应该删除它的理由。
【解决方案2】:

问题在于“chromium”不是 selenium 库知道的名称。您不能只使用任何名称。使用“chrome”而不是“chromium”,并确保 ChromeDriver 安装在路径中的某个文件夹中 - 默认情况下不会安装它。

【讨论】:

    猜你喜欢
    • 2019-10-28
    • 2020-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-04
    • 1970-01-01
    相关资源
    最近更新 更多