Xcode 在XCEST UI测试中避免应用程序状态恢复

Xcode 在XCEST UI测试中避免应用程序状态恢复,xcode,xctest,xcode-ui-testing,Xcode,Xctest,Xcode Ui Testing,我正在为一个基于文档的macOS应用程序编写UI测试 测试通过单击启动屏幕窗口中的按钮打开模板文档(非常类似于“欢迎使用Xcode”窗口)。这在第一次测试运行时起作用。但随后的发布因状态恢复而受阻,因为先前打开的文档覆盖了启动屏幕窗口 运行Xcode UI测试时如何禁用状态恢复? 我已经在我的应用程序目标中禁用了状态恢复(“启动不带状态恢复的应用程序”),效果很好。但即使选中“使用运行操作的参数和环境变量”,这也不会传递到测试目标 我还尝试在测试结束时关闭以前打开的文档,但当我在保存对话框中单击

我正在为一个基于文档的macOS应用程序编写UI测试

测试通过单击启动屏幕窗口中的按钮打开模板文档(非常类似于“欢迎使用Xcode”窗口)。这在第一次测试运行时起作用。但随后的发布因状态恢复而受阻,因为先前打开的文档覆盖了启动屏幕窗口

运行Xcode UI测试时如何禁用状态恢复?

我已经在我的应用程序目标中禁用了状态恢复(“启动不带状态恢复的应用程序”),效果很好。但即使选中“使用运行操作的参数和环境变量”,这也不会传递到测试目标


我还尝试在测试结束时关闭以前打开的文档,但当我在保存对话框中单击“删除副本”时,“录制UI测试”不会录制任何内容。

这就完成了测试的
设置功能:

let app = XCUIApplication()
app.launchArguments.append(contentsOf: ["-ApplePersistenceIgnoreState", "YES"])
app.launch()
您也可以直接在命令行中附加等效参数,例如:

/Applications/Example.app/Contents/MacOS/example -ApplePersistenceIgnoreState YES

这在测试的
设置
功能中起到了关键作用:

let app = XCUIApplication()
app.launchArguments.append(contentsOf: ["-ApplePersistenceIgnoreState", "YES"])
app.launch()
您也可以直接在命令行中附加等效参数,例如:

/Applications/Example.app/Contents/MacOS/example -ApplePersistenceIgnoreState YES

您希望何时清理应用程序状态?您希望何时清理应用程序状态?