How to run the Same tests on multiple devices

How to run the Same tests on multiple devices with different form factors? Do the scripts need a change?

Thanks,
Ambika

Every Appium Studio host 2 Appium servers. Both run on the same port (4723 by default).
So you can just run 2 tests and it will automatically be assign to one of the Appium servers.

Thanks, in which case , we just need to change the device name and UDID right? or can we use POM for this purpose?

I think connected devices run without a device id capability for android, but I don’t have a complete idea about iOS.

There are a few options.

  • use generic deviceQuery capability like: @os=‘android’
  • you can parameterized you test and path the parameters from the maven file.
1 Like

So do i need to comment the UDID part here or is this common to all the android devices? ans also is same script work for different form factors (Ex: Phone and Tablet)?

    public void setUp() throws MalformedURLException {
    	try{
        DesiredCapabilities dc = new DesiredCapabilities();
        dc.setCapability(SeeTestCapabilityType.REPORT_DIRECTORY, reportDirectory);
        dc.setCapability(SeeTestCapabilityType.REPORT_FORMAT, reportFormat);
        dc.setCapability(SeeTestCapabilityType.TEST_NAME, testName);
        dc.setCapability(MobileCapabilityType.UDID, "9b542710");
        driver = new SeeTestAndroidDriver<>(new URL("http://"+host+":"+port), dc);
        driver.findElement(By.xpath("//*[@text='ZirconMobileApp']")).click();
        Thread.sleep(5000);
	    }catch(Exception e){
			  e.printStackTrace();
	    }
    }

@guy
Yeah I used Testng libray, created a suite using testng.xml, used UDID parameters and ran the tests in parallel, It works fine. Thanks for the help.

Remove the UDID capability and use something like the following:
dc.setCapability(“deviceQuery”, “@os=‘android’”);

thanks, let me try out this.
Regards,
Cheluvambike