I am automating Android application using Appium, I have One Base Class with Setup and Tear down (In setup initialization appium session and in teardown destroying session )
I also have same requirement, its a Gradle project and i use gradle script to execute my testcases, Requirement: Have to preserve or have to retrieve an Appium session (driver) using session ID So that we can avoid re initializing each time between testcases
Environment: Multiple test cases(>50 scenarios) run based on the source tag in sequence. Gradle script include parameters App on android dos`t need a re-initialize each time
What did i try: 1. Tried to Write driver info to a file and retrive each time when i start a new scenario(setSessionID class in private in Appium)
Create Appium(local) class that can use session id + Appium APIs , but that is hectic and will end up maintaining something already is available
DesiredCapabilities dc = new DesiredCapabilities();
//migrate to gradle params later after demo
dc.setCapability("deviceName", "XX30");
dc.setCapability("udid", System.getProperty("hubUdid"));
dc.setCapability("appPackage", "com.bbbbb.bbb.bbb.primary");
dc.setCapability("appActivity", "..Activity");
dc.setCapability("autoLaunch",false);
dc.setCapability("dontStopAppOnReset",true);
dc.setCapability("noReset", "true");
driver_hub = Android.initialize(new URL("http://127.0.0.1:4723/wd/hub"), dc);