【发布时间】:2016-10-12 18:45:21
【问题描述】:
我使用机器人框架 Selenium2Library 在 Firefox 中运行测试。 当我将 Firefox 升级到 47 版时,我发现 Firefox 在启动时会崩溃。该问题在 github 问题列表中,如下链接: https://github.com/SeleniumHQ/selenium/issues/2110.
所以我转而使用 Marionette 作为问题 cmets 建议的,但结果并不好(错误显示:WebDriverException:消息:连接被拒绝,直接使用 selenium 无济于事)。同样来自 selenium2Library 指南页面,它告诉desired_capabilities 不适用于本地网络驱动程序。
所以我的问题是:
- 如何在 Selenium 中设置本地 Marionette webdriver 实例并将其传递给机器人以进行进一步的测试操作?
- 如果没有 webdriver 支持,是否有办法继续使用 Firefox 47?
我按照这里的说明进行操作: https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver
在 python 文件中:
def returnFirefoxCapabilities(marionetteBinaryPath):
firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
firefox_capabilities['binary'] = marionetteBinaryPath
return firefox_capabilities
在机器人文件中:
*** 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}
【问题讨论】:
-
我在徘徊,phantomjs是机器人的好选择吗? (看过一些网页,说不直接支持phantomjs,所以每个关键字都需要手动创建)
-
很久以前就添加了对 PhantomJS 的支持。根据您的设置,您可能需要使用关键字 Create Webdriver,但 Open Browser 也可以使用。我不能说这是否是一个好的选择,因为我只使用了“真正的”浏览器。
标签: python selenium firefox webdriver robotframework