Testing Robotframework:如何在具有开放浏览器的Selenium库中使用Chromium?

Testing Robotframework:如何在具有开放浏览器的Selenium库中使用Chromium?,testing,selenium-webdriver,selenium-chromedriver,robotframework,chromium,Testing,Selenium Webdriver,Selenium Chromedriver,Robotframework,Chromium,我想使用Robotframework和Selenium自动化一个网站的测试。我的测试在Firefox上运行良好。然而,我想用铬来代替。根据研究,它应该适用于铬。但是在我的Ubuntu机器上,我不能使用开箱即用的浏览器 下面是一个简单的例子: *** Settings *** Library SeleniumLibrary *** Test Cases *** Open Browser And Check Title Open Browser about:blank chromiu

我想使用Robotframework和Selenium自动化一个网站的测试。我的测试在Firefox上运行良好。然而,我想用铬来代替。根据研究,它应该适用于铬。但是在我的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.
有没有办法在机器人框架中设置铬与硒一起使用

编辑:这是最初为Selenium2库请求的。当移动到版本3时,他们从名称中删除了版本号。问题已相应更新。

尝试以下操作:

${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/

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

在链接文档中,google chrome浏览器的可能值为google chrome、gc和chrome。为什么你要使用Chrome作为价值?它不适用于这些,因为Chrome没有安装(也不会安装)。你试过使用“chrom”只是为了看看是否能修复它吗?我认为您必须使用一个受支持的名称。对selenium来说,
“chrome”
并不比
“xyzy”
更有效——它根本不知道这个词的意思。你安装了chrome驱动程序了吗?通过添加symlink/usr/bin/googlechrome->/usr/bin/chromium浏览器,这似乎解决了问题。不确定两者是否单独起作用。我将在家里试一试。当安装Chrome(非Chrome)时,通过pip install安装Selenium2库是否会自动设置ChromeDriver?如果您将此作为答案提交,我将接受该解决方案。
计算表达式'sys.modules['selenium.webdriver'].ChromeOptions()'失败:name错误:名称'sys'未定义
,因为Python模块似乎无法直接导入。要访问sys.modules,我必须做什么?第一行有第二个参数要计算以导入sys,因此应该定义它。可能是复制/粘贴错误-sys不应该是eval表达式的一部分。确实存在复制问题。它工作,这是伟大的!但我认为@Bryan的解决方案更方便。我正在修复您的解决方案中Chrome浏览器的路径。我不知道ChromeDriver也搜索了Chrome的路径,但这是有道理的。创建Webdriver只是最后的手段。我应该删除这个吗?如果Chromium不在路径上,更好的解决方案是调整路径并使用Open Browser。不幸的是,我只能接受一种解决方案@ombre42您的答案解决了这个问题,并展示了如何从robot脚本内部创建WebDriver。我看不出你为什么要删除它。