Khaled_Saiful_Islam
Khaled_Saiful_Islam

Reputation: 150

How to use android default browser during automation testing

I want to automate some test cases in android default browser (not chrome). Here is my desire capabilities:

DesiredCapabilities capabilities = new DesiredCapabilities().android();
capabilities.setCapability(CapabilityType.BROWSER_NAME, "browser");
capabilities.setCapability(MobileCapabilityType.PLATFORM, Platform.ANDROID);
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "My Device");
capabilities.setCapability(MobileCapabilityType.VERSION, "5.1.1");
capabilities.setCapability("appPackage", "com.android.browser");
capabilities.setCapability("appActivity", "com.android.browser.BrowserActivity");

When I run the any testcases through appium, output is:

A new session could not be created. (Original error: An unknown server-side error occurred while processing the command. (Original error: unknown error: com.android.browser is not installed on device a5cde43e

If anybody have any idea how to solve this problem, please let me know. Thanks in advance.

Upvotes: 3

Views: 2532

Answers (2)

Chandrashekhar Swami
Chandrashekhar Swami

Reputation: 1790

I used below code and I am able to open default browser on my Meizu device

        new DesiredCapabilities();
        DesiredCapabilities capabilities = DesiredCapabilities.android();
        capabilities.setCapability(MobileCapabilityType.BROWSER_NAME, "Browser");
        capabilities.setCapability(MobileCapabilityType.PLATFORM, "Android");
        capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME,"Android");
        capabilities.setCapability(MobileCapabilityType.DEVICE_NAME,"81HEBM6245N7");
        capabilities.setCapability(MobileCapabilityType.VERSION, "5.0.1"); 

    try {
        URL url = new URL("http://127.0.0.1:4723/wd/hub");
        AndroidDriver<MobileElement> driver = new AndroidDriver<MobileElement>(url, capabilities);
        driver.manage().timeouts().implicitlyWait(120, TimeUnit.SECONDS);
        driver.manage().timeouts().pageLoadTimeout(120, TimeUnit.SECONDS);

        driver.quit();
    }catch (MalformedURLException e){
        System.out.println("URL init error");
    }

Upvotes: 0

karthick23
karthick23

Reputation: 1331

Try either of the one activity below,

//Android Default Browser
//          capabilities.setCapability("appPackage","com.sec.android.app.sbrowser");
            capabilities.setCapability("appPackage","com.android.browser");
            capabilities.setCapability("appActivity","com.android.browser/.BrowserMainActivity");

Upvotes: 1

Related Questions