背景:我想使用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
[我相信这样做的正确方法是先包含--no-reset
服务器标志,然后在两次测试之间使用driver.launch_app()
和driver.close_app()
,但是我不确定如何在上一次测试中重置所有保存的数据。
谢谢您的帮助。
应该有一个创建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
UPDATE:指令适用于真实设备。我没有注意到您在谈论模拟器。
这是我最终使用的作品:
要清洁iOS模拟器:
xcrun simctl erase <udid here>
请注意,对于iOS模拟器,必须在模拟器未打开的情况下运行它。
要清理Android模拟器:
adb shell pm clear <app package here>
请注意,对于android模拟器,必须在模拟器打开且应用关闭时运行。