How to open an Android application without installing again and again while running several test cases in a package?

when using driver.launchApp (); my application is reinstalled every time. So how can I prevent this?

    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability(CapabilityType.BROWSER_NAME, "Android");
    capabilities.setCapability(CapabilityType.VERSION, Android_Version);
    capabilities.setCapability(CapabilityType.PLATFORM, "Android");
    capabilities.setCapability("platformName", "Android");
    capabilities.setCapability("deviceName", DeviceName);
    capabilities.setCapability("app", app.getAbsolutePath());
    capabilities.setCapability("app-package", app_package);
    capabilities.setCapability("app-activity", app_activity);

    try{
        driver = new AndroidDriver<WebElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
        APP_LOGS.info("Appium driver is initialized!!");
        driver.closeApp();
       }

In my test cases

@Test
public void Test2()
{
   driver.launchApp();
    System.out.println("this is second test in appium suite");
    driver.closeApp();
}
+4
source share
1 answer

There are one or more things you can do to stop installing the application again and again.


. appium --no- reset true: , reset (IOS: plist ; Android: dont ). False,

appium --no- reset " , :

capabilities.setCapability("noReset","true");

. --full- reset False:: (iOS) . (Android) reset, . Android . false.

capabilities.setCapability("fullReset","false");

. , readceApp() closeApp() , instde @Test Case method

. , , Unit test @Before @Test @After. , SetUp , , , , Teardown. , Setup() Test Env. TearDown() / ,

:

@Before
public void setup(){
    DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.setCapability("noReset","true");
            capabilities.setCapability("fullReset","false");
            capabilities.setCapability("automationName","Appium");
            capabilities.setCapability("platformName", "Android");
            capabilities.setCapability("VERSION", "5.1.1");
            capabilities.setCapability("deviceName", "LG Nexus 5");
            capabilities.setCapability("appPackage", "com.packageName");
            capabilities.setCapability("appActivity", "ui.activity.SplashScreenActivity");
driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
}

@Test
public void sampleTest(){
//Testing Code Only
}

//To Exit/Quit close the driver
    @After
    public void teardown() {
        if (driver != null)
            driver.quit();
    }

, ,

+5

Source: https://habr.com/ru/post/1605888/


All Articles