您可以执行一项或多项操作来一次又一次地停止安装应用程序.
一个.设置appium –no-reset标志为true:当我们不想在会话之间重置应用程序状态时使用此标志(IOS:不删除应用程序plist文件; Android:在新会话之前不要卸载应用程序).它的默认值为False,
您可以使用“appium –no-reset”命令启动appium服务器,或者包括服务器功能,例如:
capabilities.setCapability("noReset","true");
湾确保–full-reset标志为False ::(iOS)删除整个模拟器文件夹. (Android)通过卸载应用而不是清除应用数据来重置应用状态.在Android上,这也将在会话完成后删除应用程序.默认为false.
capabilities.setCapability("fullReset","false");
C.我认为您需要从测试用例中删除launceApp()和closeApp()方法,而不是只编写测试用例代码instde @Test Case方法
d.只要确保您的应用程序已经安装在设备上,默认情况下单元测试的执行顺序就像@Before @Test和@After所以您的SetUp方法将首先运行,而不是您的测试用例和最后的Teardown方法.因此Setup()将包含服务器功能和测试环境. Specification和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();
}
希望你发现这个有用,问候