2015-12-29 33 views
0

自動化設置:使用Python運行下面的例子中測試時,使用Robot Framework腳本和chromedriver在Android設備中打開Chrome瀏覽器?在Ubuntu 14.04

Robot Framework 2.9.2 (Python 2.7.6 on linux2) 
selenium2library-1.7.4 
ChromeDriver 2.20.353124 
Device under testing: Nexus 7 (KitKat 4.4, Chrome v. 47) 

一切正常 - > URL在Nexus設備正常啓動Chrome上。

from selenium import webdriver 
capabilities = { 
    'chromeOptions': { 
    'androidPackage': 'com.android.chrome', 
    } 
} 
driver = webdriver.Remote('http://localhost:9515', capabilities) 
driver.get('http://google.com') 
driver.quit() 

但是,當我嘗試使用Robot Framework腳本獲得相同的工作時存在實際問題。 我已經嘗試了幾種方法,但始終只是在桌面Chrome瀏覽器上打開網址 - 而不是在移動設備(Nexus平板電腦)上,因爲它應該是。

下面的RF腳本是我最近的嘗試。 我認爲問題是主題相關的desired_capabilities但我只是還沒有找到正確的方法應該如何定義

*** Settings *** 
Library   Selenium2Library 
*** Variables *** 
${chromedriver} http://localhost:9515 
${android} = Create List androidPackage com.android.chrome 
${desired_capabilities} = Create Dictionary {chromedriver} chromeOptions ${android} 

*** Keywords *** 
Open Page 
    Open Browser http://www.google.com 
    ... browser=chrome 
    ... desired_capabilities=${desired_capabilities} 

人有同樣的問題?我做錯了什麼?

回答

0

期望的能力參數是not processed for local webdrivers。 在解決問題之前,您可以使用更靈活的Create Webdriver關鍵字而不是Open Browser。我無法說這是否是在Android上啓動Chrome的最佳方式,但這裏是您的Python代碼的直接翻譯:

${options}= Create Dictionary androidPackage=com.android.chrome 
${caps}= Create Dictionary chromeOptions=${options} 
Create Webdriver Remote command_executor=http://localhost:9515 desired_capabilities=${caps} 
Go To http://google.com 
Close Browser 
+0

謝謝! 現在,它的工作原理和Chrome瀏覽器在設備中打開 - 而不是在桌面上。 你不相信我花了多少小時試圖解決這個問題... – jakulepi

+0

你知道,我不確定以上是必要的。您是否嘗試添加remote_url ='http:// localhost:9515'來打開瀏覽器?我認爲唯一的區別是「browserName」的附加功能:「chrome」,「platform」:「ANY」和「javascriptEnabled」:True。 – ombre42

相關問題