xcuitest - 从测试运行程序访问 App Groups 容器目录
问题描述
主要目标在应用程序组容器目录中存储了一些数据。我正在运行一些 xcui 测试。是否可以从测试运行器访问容器的数据?备择方案?
对我来说,答案似乎是否定的,因为containerURL(forSecurityApplicationGroupIdentifier:)
方法返回nil
。
谢谢!
解决方案
其实,你可以!
模拟器: 将您的共享数据写入/复制到该位置;UITestRunner 和您的应用程序都应该可以访问它。记住要有一个机制来确保这不会进入生产代码。
NSString * pathAsString = [NSProcessInfo processInfo].environment[@"SIMULATOR_SHARED_RESOURCES_DIRECTORY"];
设备: 您的 UITestRunner 应该与被测应用共享相同的组标识符。然后您可以访问共享资源文件夹。这在模拟器上不起作用,因为 UITestRunner 没有为模拟器目标签名,它必须经过签名并且是共享组的一部分才能访问该组。
NSURL *containerURL = [NSFileManager.defaultManager containerURLForSecurityApplicationGroupIdentifier:groupIdentifier];
Paulo Andrade 有一篇关于如何做到这一点的不错的博客文章: https ://pfandrade.me/blog/managing-ios-ui-testing-fixtures/
推荐阅读
- html - 如何限制表 td 中显示的字符长度
- css - 我需要帮助在 WordPress 网站的移动视图中编辑侧边距
- reactjs - 如何在反应中共享对象。?
- adobe - 如何查看放置在 MediaBox 外的图像?
- javascript - 如何避免 React-grid-system 中的列调整大小?
- scalardb - 在 Scalar DB 中,如果我不需要它或者我需要做一些清理,我可以保留一个事务吗?
- node.js - 在我的 Ubuntu 1804 上安装 v12.18.2 后如何安装节点 8.10.x
- javascript - 如何在纯 JavaScript IF/ELSE 中重写三元语句
- mysql - 将具有指定日期范围的计算总和从一个表连接到另一个表
- dns - oVirt - FQDN 问题