Refactor -1
Let's recall the HomePageSteps
class and the iLaunchQuikrApp()
method:
@When("^I launch Quikr app$") public void iLaunchQuikrApp() throws Throwable { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("platformName", "Android"); capabilities.setCapability("platformVersion", "5.1"); capabilities.setCapability("deviceName", "Nexus"); capabilities.setCapability("noReset", false); capabilities.setCapability("fullReset", true); capabilities.setCapability("app", "/Users/nishant/Development/HelloAppium/app/quikr.apk"); appiumDriver = new AppiumDriver(new URL("http://0.0.0.0:4723/wd/hub"), capabilities); appiumDriver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS); }
Now, the instance of appiumDriver
can be used by other step classes and not only this one. So, to solve this, we will declare a BaseSteps
class, which creates the AppiumDriver
instance to be used throughout the test session.
Follow...