我正在使用XCUITest进行iOS UI测试。 由于我们无权访问该应用,因此如何设置该应用的默认设置?
答案 0 :(得分:1)
您可以使用启动参数传递所有必需的数据。
请阅读文档
https://developer.apple.com/documentation/xctest/xcuiapplication/1500477-launcharguments
另一种方法(且速度稍慢)是使用深层链接。
答案 1 :(得分:1)
这听起来比实际要复杂得多,但是对我有用的一种技术是在测试套件中设置一个HTTP服务器,您可以用它来获取测试代码中的模拟数据。我在Embassy and Ambassador上取得了成功。
因此,您将传递一个启动参数,告诉您的应用程序代码从服务器获取。对于UserDefaults而言,用于向本地端点发出这些特定请求的帮助程序类很好地工作。不幸的是,这意味着您的应用程序代码必须进行一些设置以进行测试,但是根据您的需要,这可能是一个很好的折衷方案。
答案 2 :(得分:0)
另一个跨越过程边界的可能解决方案:
如果您不进行设备测试,则可以访问“ SIMULATOR_SHARED_RESOURCES_DIRECTORY”,并在文件中提供数据以供测试使用。
在实际设备上,这将更加困难,因为您需要使用共享的Group容器。
答案 3 :(得分:0)
您可能可以使用“应用程序数据包”。在这种情况下,您将应用程序状态保存到容器中,然后在保存的环境中运行测试。 有很多指南,只是其中之一:
https://www.codementor.io/paulzabelin/xcode-app-data-suni6p4ma
这可能是我需要的功能更强大且过于复杂的东西,但它打开了无限的可能性;)