背景:
我想使用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(),但后来我不确定如何在上次测试中重置任何已保存的数据。
感谢您的帮助。
答案 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模拟器,必须在模拟器打开且应用程序关闭时运行。