MasterTest :: import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.android.AndroidElement; import io.appium.java_client.remote.AndroidMobileCapabilityType; import io.appium.java_client.remote.MobileCapabilityType; import io.appium.java_client.service.local.AppiumDriverLocalService; import io.appium.java_client.service.local.AppiumServiceBuilder; import io.appium.java_client.service.local.flags.GeneralServerFlag; import org.openqa.selenium.remote.DesiredCapabilities; import org.testng.annotations.*; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.net.URL; import java.util.HashMap; import java.util.Properties; import java.util.concurrent.TimeUnit; public class MasterTest2 { public static AppiumDriverLocalService service; public static AppiumServiceBuilder builder; public static AndroidDriver appiumDriver; @AfterMethod public void teardown(){ if( appiumDriver!=null){ System.out.println("Driver is till open "+appiumDriver); appiumDriver.quit(); System.out.println("Driver is successfully closed"); } } @BeforeTest public AppiumDriverLocalService startServer() throws IOException { builder =new AppiumServiceBuilder(); builder.withIPAddress("127.0.0.0"); builder.usingPort(4723); // builder.withCapabilities(Capabilities("deviceconfig")); builder.withArgument(GeneralServerFlag.SESSION_OVERRIDE); builder.withArgument(GeneralServerFlag.LOG_LEVEL,"debug"); HashMap environment = new HashMap(); service=AppiumDriverLocalService.buildService(new AppiumServiceBuilder().usingDriverExecutable(new File("/usr/local/bin/node")) .withAppiumJS(new File("/usr/local/lib/node_modules/appium/build/lib/main.js")) .withLogFile(new File(System.getProperty("user.dir") + "//Logs//Appium.log"))); service.start(); System.out.println("Appium Server started"); return service; } @AfterTest public void stopServer() { service.stop(); System.out.println("Appium server is stopped."); } @Parameters("deviceconfig") public static DesiredCapabilities Capabilities(String deviceconfig) throws IOException { FileInputStream fis = new FileInputStream(System.getProperty("user.dir") + "/src/main/java/tests/com/marrow/master/global.properties"); Properties prop = new Properties(); prop.load(fis); File appDir = new File("src"); File app = new File(appDir, (String) prop.getProperty("androidapp")); DesiredCapabilities Capabilities = new DesiredCapabilities(); Capabilities.setCapability("platformName",prop.getProperty(deviceconfig +".platformName")); Capabilities.setCapability("platformVersion",prop.getProperty(deviceconfig +".platformVersion")); Capabilities.setCapability("deviceName",prop.getProperty(deviceconfig +".deviceName")); Capabilities.setCapability("autoGrantPermissions", "true"); // Capabilities.setCapability("app", prop.getProperty(deviceconfig +".androidapp")); Capabilities.setCapability("systemPort", prop.getProperty(deviceconfig +".port")); Capabilities.setCapability(MobileCapabilityType.UDID, prop.getProperty(deviceconfig +".udid")); Capabilities.setCapability("appPackage", "com.marrow.debug"); Capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, "UiAutomator2"); Capabilities.setCapability("appActivity", "com.marrow.ui.activities.onboarding.splash.SplashActivity"); Capabilities.setCapability("noReset", "true"); Capabilities.setCapability(MobileCapabilityType.APP, app.getAbsolutePath()); appiumDriver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), Capabilities); appiumDriver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS); return Capabilities; } } Global.properties androidapp=app-debug-10.13new.apk //device=Galaxy A71 device=Pixel_XL //device=Galaxy_Nexus_API_29 device1.platformName=Android device1.platformVersion=12.0 device1.udid=emulator-5554 device1.androidapp=app-debug-10.13new.apk device1.port=8201 device1.deviceName=Pixel_XL1 device2.platformName=Android device2.platformVersion=13.1 device2.udid=emulator-5556 device2.androidapp=app-debug-10.13new.apk device2.port=8202 device2.deviceName=Pixel_4 Testng file Testcase public class emailsupportTest extends MasterTest2{ @Test public void emailsupport() throws IOException { DesiredCapabilities driver=Capabilities("device2"); Map map = new HashMap<>(); map.put(KEY_QUERIES,4); GenericUiUtility.genericUiUtility("emailsupport",map); } }