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

问题描述 投票:1回答:2

背景:我想使用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(),但是我不确定如何在上一次测试中重置所有保存的数据。

谢谢您的帮助。

android python ios reset appium
2个回答
1
投票

应该有一个创建Appium Driver实例的方法start_driver

然后,传递下一个功能:fullReset的值为falsenoReset的值为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:指令适用于真实设备。我没有注意到您在谈论模拟器。


0
投票

这是我最终使用的作品:

要清洁iOS模拟器:

xcrun simctl erase <udid here>

请注意,对于iOS模拟器,必须在模拟器未打开的情况下运行它。

要清理Android模拟器:

adb shell pm clear <app package here>

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

© www.soinside.com 2019 - 2024. All rights reserved.