launching Android Chrome Browser through Appium Automation using emulator is throwing error and chrome browser is not launched properly

421 views Asked by At

Screen when the code is run and chrome is launched`

Appium server is also running and even the chrome browser is launched but displays blank white screen after launching

Below is the error while running the code.


SLF4J: No SLF4J providers were found. SLF4J: Defaulting to no-operation (NOP) logger implementationSLF4J: See https://www.slf4j.org/codes.html#noProviders for further details. Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: An unknown server-side error occurred while processing the command. Original error: timeout: Adb command timed out after 30 seconds  Host info: host: 'IN-HVKMHS3', ip: '192.168.29.3' Build info: version: '4.9.1', revision: 'eb2032df7f' System info: os.name: 'Windows 11', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_361' Driver info: io.appium.java_client.android.AndroidDriver Command: [null, newSession {capabilities=[{appium:automationName=UiAutomator2, browserName=Chrome, appium:chromedriverExecutableDir=C:\Users\gjsr\Downloads\Drivers, appium:device=Android, appium:deviceName=emulator-5554, platformName=ANDROID, appium:platformVersion=12}], desiredCapabilities=Capabilities {automationName: UiAutomator2, browserName: Chrome, chromedriverExecutableDir: C:\Users\gjsr\Downloads\Dri..., device: Android, deviceName: emulator-5554, platformName: ANDROID, platformVersion: 12}}] Capabilities {automationName: UiAutomator2, browserName: Chrome, chromedriverExecutableDir: C:\Users\gjsr\Downloads\Dri..., device: Android, deviceName: emulator-5554, platformName: ANDROID, platformVersion: 12}    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:136)   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)  at java.lang.reflect.Method.invoke(Unknown Source)  at io.appium.java_client.remote.AppiumProtocolHandshake.createSession(AppiumProtocolHandshake.java:133)     at io.appium.java_client.remote.AppiumProtocolHandshake.createSession(AppiumProtocolHandshake.java:102)     at io.appium.java_client.remote.AppiumCommandExecutor.createSession(AppiumCommandExecutor.java:194)     at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:262)   at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543)     at io.appium.java_client.AppiumDriver.startSession(AppiumDriver.java:229)   at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:157)  at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:80)  at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:92)  at io.appium.java_client.android.AndroidDriver.<init>(AndroidDriver.java:117)   at ecolab.connect.base.BaseTest.main(BaseTest.java:45)  

Below is the code :

package ecolab.connect.base;
import java.net.MalformedURLException;
import java.nio.charset.MalformedInputException;
import java.util.concurrent.TimeUnit;
import java.net.URL;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.options.UiAutomator2Options;
import io.appium.java_client.remote.MobileBrowserType;
import io.appium.java_client.remote.MobileCapabilityType;
import io.appium.java_client.remote.MobilePlatform;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;

public class BaseTest
{
    public static AndroidDriver driver;
    public static void main(String[] args) throws MalformedURLException, InterruptedException 
    {
        
        DesiredCapabilities capabilities=new DesiredCapabilities();
          capabilities.setCapability("chromedriverExecutableDir","C:\\Users\\gjsr\\Downloads\\Drivers");
        
        capabilities.setCapability(CapabilityType.BROWSER_NAME, "Chrome");
                capabilities.setCapability("device", "Android");
        capabilities.setCapability("deviceName", "emulator-5554");
        capabilities.setCapability("platformVersion","12");
        capabilities.setCapability("platformName", "Android");
        capabilities.setCapability("automationName", "UiAutomator2");
        capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME,MobilePlatform.ANDROID);
         try {
        driver=new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);
         } catch (MalformedURLException e) {
                e.printStackTrace();
            }
        Thread.sleep(10000);
        driver.manage().timeouts().pageLoadTimeout(40, TimeUnit.SECONDS);
        driver.manage().timeouts().implicitlyWait(90, TimeUnit.SECONDS);
        driver.get("http://www.goolge.com");
        Thread.sleep(10000);
        driver.quit();
    }
        
        
        
}

1

There are 1 answers

0
ChrisMersi On

Try using chromedriverExecutable capability instead of chromedriverExecutableDir