How can I use selenium or appium to automate chrome browser on android? How can I use selenium or appium to automate chrome browser on android? selenium selenium

How can I use selenium or appium to automate chrome browser on android?


debug: executing: adb install C:\Users\hidden\Downloads\AppiumForWindows-0.14.2\ Appium\node_modules\appium\build\unlock_apk\unlock_apk-debug.apk

If nothing is happening here, then you must restart your ARM emulator and the appium server/chromedriver again. I came across this multiple times and noticed many a times adb shuts down and looses connectivity. If I restart abd, everything starts working. This is just a adb command to install the apk, it should take time depending on the size of the apk but not much.

public static void main(String[] args) throws MalformedURLException{    DesiredCapabilities  capabilities = new DesiredCapabilities();    capabilities.setCapability("device","Android");    capabilities.setCapability("app", "Chrome");    capabilities.setCapability(CapabilityType.BROWSER_NAME, "");    capabilities.setCapability(CapabilityType.VERSION, "4.3");    capabilities.setCapability(CapabilityType.PLATFORM, "WINDOWS");    WebDriver driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);    driver.get("http://www.yahoo.com");}

I have this piece of code which runs well on appium automating the android chrome browser. In the above log, you chromedriver has not started successfully and so the browser is not automated. I have appium log which is automating the chrome browser:enter image description hereAlso, every combination of ChromeDriver and Chrome APK is not working. I have been struggling this since days and found out that:Chrome Driver 2.3 and Chrome APK 29.xxx are compatible.Chrome Driver 2.9/2.8 and Chrome APK 30.xx or 31.xx are not working.

Regarding Just ChromeDriver:The chromium link you mentioned will automate the PC browser if you have not set the capability. Something like this:

DesiredCapabilities capabilities=new DesiredCapabilities();//DesiredCapabilities.chrome();    ChromeOptions options=new ChromeOptions();    options.setExperimentalOptions("androidPackage", "com.android.chrome");    capabilities.setCapability(ChromeOptions.CAPABILITY, options);

You have to set this capability incase you are just using chromedriver (and not appium).I am working on this but could not find the capability.Also you will have to start the ChromDriver by yourself on command promt which will listen at 9515 port for any automation.


1) Read appium logs and see what version of chrome driver is it referring to.2) Check online for latest chromedriver version. As of today latest version is 2.23. Download this for WindowsAnd extract ithttp://chromedriver.storage.googleapis.com/index.html?path=2.23/3) Upgrade Appium (latest today - 1.4.16.1) Now goto this location,C:\Program Files (x86)\Appium\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win

And paste the the chromedriver.exe here.(replace the old one)

4)

    public AndroidDriver<AndroidElement> startChrome() {        DesiredCapabilities capabilities = new DesiredCapabilities();        capabilities.setCapability("deviceName", "AndroidDevice");        capabilities.setCapability("newCommandTimeout", 180);        capabilities.setCapability("appActivity", "com.google.android.apps.chrome.Main");        try {            driver = new AndroidDriver<>(new URL(appiumURL), capabilities);driver.get("google.com")        } catch (MalformedURLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }       return driver;    }

5) In case this does not work, make sure to check in appium logs, if its pointing to the updated chrome version


First Check your mobile device are connected with chrome browser so.Type the below command on web browser url

chrome://inspect/devices#devices

This will show the list of devices connected.

Then set the desired capabilities.

Below is the code working for me:

public void setUp() {    File app = new File("./TestingAPK/app-release-v3.1.0-c20170201.apk");    DesiredCapabilities capabilities = new DesiredCapabilities();    capabilities.setCapability(CapabilityType.BROWSER_NAME, "Chrome");    capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, MobilePlatform.ANDROID);    capabilities.setCapability("deviceName", "emulator-5554");    capabilities.setCapability("unicodekeyboard", true);    capabilities.setCapability("resetkeyboard", true);    capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "21");    capabilities.setCapability("appPackage", "app.mangalam.billboy");    capabilities.setCapability("appActivity", "app.mangalam.billboy.main.SplashActivity");    capabilities.setCapability("app", app.getAbsolutePath());    try {        driver = new AndroidDriver < > (new URL("http://127.0.0.1:4723/wd/hub"), capabilities);    } catch (MalformedURLException e) {        e.printStackTrace();    }    driver.manage().timeouts().implicitlyWait(90, TimeUnit.SECONDS);}