Appium - 在第一次测试和最后一次测试时清除应用程序状态,但不在测试之间

时间:2015-04-09 00:26:00

标签: android python ios reset appium

背景:
我想使用appium在android和ios模拟器中测试我的应用程序。我在Python中运行测试,我想拥有它,以便测试的工作流程始终如下:



if first test to be ran:
  reset any previous data
  launch simulator and application
  do test
  close application and save state
else:
  launch application
  do test
  close application and save state

if last test:
  reset any saved data




我认为这样做的正确方法是包括“ - 不 - 重置”'服务器标志,然后在测试之间使用driver.launch_app()和driver.close_app(),但后来我不确定如何在上次测试中重置任何已保存的数据。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

据说你有一个创建Appium Driver实例的方法start_driver

然后,传递下一个功能:fullReset false值和noReset true值。这种start_driver方法只需重新启动应用程序而无需重置任何内容。

要重置应用:
1.卸载应用程序
- iOS:ideviceinstaller --udid #{udid} --uninstall #{package}
- Android:您可以清除应用数据adb -s #{udid} shell pm clear #{package_name}或卸载应用adb -s #{udid} uninstall #{package} 2.致电start_driver

上面的

更新:说明适用于实际设备。我没有注意到你在谈论模拟器。

答案 1 :(得分:0)

以下是我最终使用的方法:

清理iOS模拟器:

xcrun simctl erase <udid here>

请注意,对于iOS模拟器,必须在模拟器未打开时运行。

清理android模拟器:

adb shell pm clear <app package here>

请注意,对于Android模拟器,必须在模拟器打开且应用程序关闭时运行。