2014-12-28 58 views
2

试图使用appium打开android浏览器。我使用genymotion为Android设备模拟器,并写了下面的代码..无法使用模拟器上的Appium或Real设备打开Android Browser

DesiredCapabilities capabilities = new DesiredCapabilities();   

capabilities.setCapability("platformName", "Android"); 
capabilities.setCapability("deviceName","Android Emulator"); 
capabilities.setCapability("browserName", "Browser"); 
capabilities.setCapability("platformVersion", "4.4"); 
capabilities.setCapability("Android", true); 
Driver_ST = new RemoteWebDriver(new URL("http://URL:4723/wd/hub"), capabilities); 

代码执行后,如果我看到appium以下错误出现:

>info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":"\/data","status":0} 
> info: [debug] dataDir set to: /data 
> info: [debug] Creating Chrome session 
> info: [debug] Set chromedriver binary as: D:\android\Appium\node_modules\appium\build\chromedriver\windows\chromedriver.exe 
> info: [debug] Ensuring Chromedriver exists 
> info: [debug] Killing any old chromedrivers, running: FOR /F "usebackq tokens=5" %a in (netstat -nao ^| findstr /R /C:"9515 "`) do (FOR /F "usebackq" %b in (`TASKLIST /FI "PID eq %a" ^| findstr /I chromedriver.exe`) do (IF NOT %b=="" TASKKILL /F /PID %b)) 
> info: [debug] No old chromedrivers seemed to exist 
> info: [debug] Spawning chromedriver with: D:\android\Appium\node_modules\appium\build\chromedriver\windows\chromedriver.exe 
> info: [debug] [CHROMEDRIVER] Starting ChromeDriver (v2.10.267521) on port 9515 
> Only local connections are allowed. 
> info: [debug] Making http request with opts: 
{"sessionId":null,"desiredCapabilities":{"chromeOptions":{"androidPackage":"com.android.browser","androidActivity":"com.android.browser.BrowserActivity","androidDeviceSerial"}}}} 
> error: Chromedriver create session did not work. Status was 200 and body was {"sessionId":"b6aa64e8f25541d3513243792337a1e7","status":13,"value":{"message":"unknown error: Chrome version must be >= 33.0.1750.0\n (Driver info: chromedriver=2.10.267521,platform=Windows NT 6.3 x86_64)"}} 
> info: [debug] Cleaning up appium session 
> error: Failed to start an Appium session, err was: Error: Did not get session redirect from Chromedriver 
> info: [debug] Error: Did not get session redirect from Chromedriver 
>  at null.<anonymous> (D:\android\Appium\node_modules\appium\lib\devices\android\chromedriver.js:222:12) 
>  at Request._callback (D:\android\Appium\node_modules\appium\lib\devices\common.js:121:5) 
>  at Request.self.callback (D:\android\Appium\node_modules\appium\node_modules\request\request.js:121:22) 
>  at Request.EventEmitter.emit (events.js:98:17) 
>  at Request.<anonymous> (D:\android\Appium\node_modules\appium\node_modules\request\request.js:985:14) 
>  at Request.EventEmitter.emit (events.js:117:20) 
>  at IncomingMessage.<anonymous> (D:\android\Appium\node_modules\appium\node_modules\request\request.js:936:12) 
>  at IncomingMessage.EventEmitter.emit (events.js:117:20) 
>  at _stream_readable.js:920:16 
>  at process._tickDomainCallback (node.js:459:13) 
> info: [debug] Responding to client with error: {"status":33,"value":{"message":"A new session could not be created. (Original error: Did not get session redirect from Chromedriver)","origValue":"Did not get session redirect from Chromedriver"},"sessionId":null} 
> info: <-- POST /wd/hub/session 500 28735.979 ms - 214 

那么,为什么这是给我的错误chromedriver的会话无法创建,但我试图打开Android浏览器。

请帮忙。我是否缺少任何功能或需要安装的驱动程序?

+0

您使用的是什么版本'chromedriver'? – Saifur

+0

我正在使用更新chrome驱动程序,并能够使用appium在真实设备上打开chrome浏览器。但不是真正的设备或模拟器上的Android浏览器。 – avni

+0

avni,你有没有得到任何解决你的问题。我也在同一艘船上航行。目前尚未得到任何解决方案。如果您有任何解决方案,请帮助我。 – Uday

回答

0

使用捆绑的Chromedriver服务器作为代理实现自动化。在4.2和4.3版本中,自动化仅适用于官方Chrome浏览器或Chromium。使用4.4+,自动化也可以在内置的“浏览器”应用程序上运行。 Chrome/Chromium/Browser必须已经安装在被测设备上。

+0

不明白你可以详细说明..我使用的模拟器是有OS 4.4。 – avni

+0

尝试从Play商店安装Chrome,并试一试。 –

1

我使用此代码sample.That works.Please尝试打开(自动化名称:Selendroid)在真实设备

@Before 
public void setUp() throws Exception { 
    PropertyConfigurator.configure("log4j.properties"); 
    // set up appium 
    File app = new File(SignUpElement.apkFilePath); 

    DesiredCapabilities capabilities = new DesiredCapabilities(); 
    capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); 

    capabilities.setCapability(GeneralElement.device, GeneralElement.deviceType); 
    capabilities.setCapability(GeneralElement.emulator, GeneralElement.emulatorType); 
    capabilities.setCapability(GeneralElement.platformVer, GeneralElement.platformVerType); 
    capabilities.setCapability(GeneralElement.platformName, GeneralElement.platformNameType); 
    capabilities.setCapability("appPackage", ""); 
    capabilities.setCapability("appActivity", ""); 
    capabilities.setCapability("app", app.getAbsolutePath()); 

    try { 
     WebElementFactory.driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); 
    } catch (MalformedURLException e) { 
     e.printStackTrace(); 
    } 
+2

我想你打开应用程序通过此代码但我想打开Android浏览器不应用也使用appium而不是selendroid。 – avni

0

股票浏览器is not working与Appium 1.3.6
你要等到它会被修复。

不过,在模拟器上启动它应该没有问题。 你可以试试吗?

Chrome适用于真正的设备。

It's not possible现在安装在Android模拟器上。

有一句关于Android模拟器的警告。在 的那一刻,有没有办法在Android模拟器安装Chrome

0

我将功能设置appBrowser,它为我的作品 -

capabilities.setCapability("app", "Browser"); 

即使我给错误的设备名称或版本,appium仍然发现附加的模拟器,并启动浏览器。我的整套功能看起来像 -

capabilities.setCapability("BROWSER_NAME", "Android"); 
    capabilities.setCapability("app", "Browser"); 
    capabilities.setCapability("VERSION", "XXX"); 
    capabilities.setCapability("deviceName", "XXX"); 
    capabilities.setCapability("platformName", "Android"); 
    driver = new AndroidDriver(new URL("http://localhost:4723/wd/hub"), capabilities); 
    driver.get("http://www.google.com/"); 
相关问题