2016-06-12 1 views
4

私はrobotframework Selenium2Libraryを使用してFirefoxでテストを実行していました。 Firefoxをバージョン47にアップグレードすると、Firefoxの起動時にFirefoxが最初にクラッシュすることがわかりました。問題はgithub発行リストにあります。 https://github.com/SeleniumHQ/selenium/issues/2110です。ブラウザをFirefoxにアップグレードした後にrobotframeworkでMarionette web driverを使用する方法

私はMarionetteを問題コメントとして提案しましたが、結果は良くありません(エラー:WebDriverException:メッセージ:接続が拒否され、セレンを直接使用することは役に立ちません)。また、selenium2ライブラリのガイドページから、desired_capabilitiesがローカルのwebdriverで動作しないことを示しています。

だから私の質問は以下のとおりです。

  1. どのようにセレン内部インスタンスwebdriverを私はセットアップ地元のマリオネットができ、さらなる試験操作のためのロボットに渡しますか?
  2. 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} 
+0

私はさまよっていましたが、ファントムはロボットのための良い選択ですか? (いくつかのWebページを読んでください。phantomjsは直接サポートされていないので、すべてのキーワードを手動で作成する必要があります) – Bing

+0

PhantomJSのサポートはずっと前に追加されました。設定に応じてCreate Webdriverというキーワードを使用する必要があるかもしれませんが、Open Browserも機能します。私は「本当の」ブラウザしか使っていないので、良い選択肢かどうかは言えません。 – ombre42

答えて

2

Selenium2Libraryローカルwebdrivers。しかし、Firefoxのデフォルトの機能を変更することはできます。インタプリタ(Python)が終了するまで、特定のブラウザタイプの将来のすべてのWebdriverインスタンスに適用されます。 Firefox 47、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問題として私には現れたので、私はその質問に答えなかった。必要に応じて別の質問をしてください。

関連する問題