Ios 是否可以在测试代码中以编程方式重置模拟器?

Ios 是否可以在测试代码中以编程方式重置模拟器?,ios,xcode,ios-simulator,Ios,Xcode,Ios Simulator,我正在模拟器上运行一些测试代码,但每次运行前都需要重置模拟器内容,以确保在每次重新运行测试用例之前,删除应用程序在执行期间存储和缓存的数据 是否有一种方法可以从测试中执行此操作?您可以使用LUA脚本在自动化测试中执行此操作。请查看详细说明 基本上,您将使用lua使用事件来重置它。您可以使用simctl从命令行重置模拟器,您可以在脚本中使用它在测试方案之前运行,但不能在单个测试用例中使用。您需要安装xcode命令行工具 要重置模拟器,请使用: xcrun simctl erase <simu

我正在模拟器上运行一些测试代码,但每次运行前都需要重置模拟器内容,以确保在每次重新运行测试用例之前,删除应用程序在执行期间存储和缓存的数据


是否有一种方法可以从测试中执行此操作?

您可以使用LUA脚本在自动化测试中执行此操作。请查看详细说明


基本上,您将使用lua使用事件来重置它。

您可以使用simctl从命令行重置模拟器,您可以在脚本中使用它在测试方案之前运行,但不能在单个测试用例中使用。您需要安装xcode命令行工具

要重置模拟器,请使用:

xcrun simctl erase <simulator device id>
设备id保持不变,我认为在删除或重新创建之前,可能会使用一些脚本magik(我还没有弄清楚)检索已引导模拟器的设备id,当前活动模拟器始终标记为(已引导)


您也可以使用simctl创建自定义模拟器,只需使用xcrun simctl列出它所做的所有工作。

您不能只使用NSFileManager删除应用程序代理的
didfishLaunchingWithOptions中的相应文件吗?
?可以,但有几件事,而且钥匙链中还存储了一些内容,因此,我想知道是否有简单的一行代码可用,而不是编写多行代码。值得一提的是,设备ID是列表中看起来像UUID的东西,例如
1EB3CE5D-849C-491C-9CAA-5E97B1BD89CE
$ xcrun simctl list devices
== Devices ==
-- iOS 10.2 --
    iPhone 5 (D226CF12-6782-4D7D-9C00-2D662CF4022C) (Shutdown)
    iPhone 5s (34E0E0F8-3429-4D91-B038-ECF4FD0F3311) (Shutdown)
    iPhone 6 (9C772A68-34E3-4F3F-981C-543DE6D5D985) (Shutdown)
    iPhone 6 Plus (7848A50E-BFB5-4F19-BB31-4A56CA78AA2C) (Shutdown)
    iPhone 6s (12CF89BA-C8B2-4837-B4EB-FB24DFF1622C) (Shutdown)
    iPhone 6s Plus (3EE6CA84-8F12-4A5E-A31D-EF4BF3CCBDB2) (Shutdown)
    iPhone 7 (1EB3CE5D-849C-491C-9CAA-5E97B1BD89CE) (Booted)
    iPhone 7 Low Disk Space (6CCF4C7A-606B-40B7-A8D8-DF8B3CB119CB) (Shutdown)
    iPhone 7 Plus (94FEFD36-6EFF-4762-BD21-79B1F958F6C6) (Shutdown)
    iPhone SE (E8E8ECEB-34C0-44F0-B92E-57DCA91024F1) (Shutdown)
    iPad Retina (0DA5BF39-3DC7-49B3-BE9B-2FA756FCA725) (Shutdown)
    iPad Air (DAB9C2D3-8EBC-41DC-9C2D-0ECEC1D2FAE3) (Shutdown)
    iPad Air 2 (1E2DA170-5C2E-413C-831B-FA65524643D3) (Shutdown)
    iPad Pro (9.7 inch) (99F931A9-0708-4637-9294-6420DC7A149C) (Shutdown)
    iPad Pro (12.9 inch) (08CD02EB-C44A-4183-961A-EED89FF1C225) (Shutdown)
-- tvOS 10.1 --
    Apple TV 1080p (7EE393F2-C83E-467F-9802-3E5BFE7C2CA9) (Shutdown)
-- watchOS 3.1 --
    Apple Watch - 38mm (B8969533-D7CD-462E-9E76-511C08E8CC8E) (Shutdown)
    Apple Watch - 42mm (E16167D9-1007-438B-8812-CD97CE6ABECA) (Shutdown)
    Apple Watch Series 2 - 38mm (F59C0BB1-B4D0-47DD-B927-1BFD78DD78C0) (Shutdown)
    Apple Watch Series 2 - 42mm (7FE3AADD-94AB-46B9-A057-78F20F030999) (Shutdown)