Python 将浏览器升级到Firefox 47后如何在robotframework中使用木偶web驱动程序
我使用robotframework Selenium2库在Firefox中运行测试。 当我将Firefox升级到47版时,我发现Firefox会在Firefox启动时崩溃。该问题位于github问题列表中,如下链接: 因此,我转而按照问题评论的建议使用木偶,但结果并不好(错误显示:WebDriverException:Message:connection Decepted,直接使用selenium没有帮助)。同样在Selenium2库指南页面上,它告诉我们所需的_功能将不适用于本地webdriver 因此,我的问题是:Python 将浏览器升级到Firefox 47后如何在robotframework中使用木偶web驱动程序,python,selenium,firefox,webdriver,robotframework,Python,Selenium,Firefox,Webdriver,Robotframework,我使用robotframework Selenium2库在Firefox中运行测试。 当我将Firefox升级到47版时,我发现Firefox会在Firefox启动时崩溃。该问题位于github问题列表中,如下链接: 因此,我转而按照问题评论的建议使用木偶,但结果并不好(错误显示:WebDriverException:Message:connection Decepted,直接使用selenium没有帮助)。同样在Selenium2库指南页面上,它告诉我们所需的_功能将不适用于本地webdri
def returnFirefoxCapabilities(marionetteBinaryPath):
firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
firefox_capabilities['binary'] = marionetteBinaryPath
return firefox_capabilities
在robot文件中:
*** Settings ***
Library Selenium2Library #build-in library
*** Test Case ***
try marionette
${firefox_capabilities}= returnFirefoxCapabilities path/wires
open browser url=www.google.com desired_capabilities=${firefox_capabilities}
Selenium2Library不支持为本地WebDriver传入所需的功能。但是您可以更改Firefox的默认功能,它将应用于给定浏览器类型的所有未来webdriver实例,直到解释器(Python)退出。我能够用Firefox47、Selenium 2.53.5和Geckodriver 0.8.0运行简单的测试
${ff default caps} Evaluate sys.modules['selenium.webdriver'].common.desired_capabilities.DesiredCapabilities.FIREFOX sys,selenium.webdriver
Set To Dictionary ${ff default caps} marionette=${True}
Open Browser https://www.stackoverflow.com ff
您询问了如何传入webdriver实例。这在我看来是一个X-Y问题,所以我没有回答这个问题。如果需要,请另外问一个问题。我在闲逛,幻影是机器人的好选择吗?(读过一些网页,说不直接支持phantomjs,所以每个关键字都需要手动创建)对phantomjs的支持是很久以前添加的。根据您的设置,您可能需要使用关键字Create Webdriver,但开放式浏览器也可以使用。我不能说这是否是一个好的选择,因为我只使用了“真正的”浏览器。