使用driver.launchApp();我的应用程序每次都重新安装.那我怎么能阻止这个呢?
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();
}
解决方法:
您可以执行一项或多项操作来一次又一次地停止安装应用程序.
一个.设置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();
}
希望你发现这个有用,问候
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。