Xcode UI 测试:我可以使用 UI 测试脚本来访问目标应用程序文件夹吗?
Xcode UI Testing: Can I use UI Testing scripts to access the target app folder?
当我创建 UI 测试脚本时,我遇到了一个问题。
我需要访问在目标 APP 文档文件夹下创建的日志文件。
但是,UI 测试应用程序是 运行 作为另一个线程。
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
此方法只能return UI 测试APP文档的路径,而不是目标应用程序。
有没有办法访问目标应用程序的文件夹?
由于您的应用程序是沙盒化的,因此您无法访问该应用程序的文档目录。参考 https://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/TheiOSEnvironment/TheiOSEnvironment.html#//apple_ref/doc/uid/TP40007072-CH9-SW1
如果你想测试那个文件。也在测试项目中创建该文件并检查。
我写了一个关于这个的 short blog post。
我的一个短期解决方案是创建一个用户不知道的 UITextField。作为 UITest 的一部分,UITesting 目标将与文本字段交互并键入代码。
任何给定的 UITest 启动后 运行,第一个交互是与文本字段的交互。文本字段将成为第一响应者(使用可访问性标签),这会导致键盘在屏幕上滑动。
然后测试将继续与键盘交互并键入字符串,然后在键盘上按下 'return' 键。键盘关闭,字符串被发送到 UITextFieldDelegate。
该字符串表示一个文件名。我建立了一个代码系统,对应于我藏起来的 .zip 文件。各种测试输入的每个代码都对应于 zip 文件,其中包含我在 docs 目录中需要的数据版本。
所以这只是在 UITest 继续之前解压数据并将其写入 docs 文件夹的情况。
我已向 Apple 发送功能请求,要求通过 UITest 目标访问候选应用程序文档目录。
当我创建 UI 测试脚本时,我遇到了一个问题。 我需要访问在目标 APP 文档文件夹下创建的日志文件。 但是,UI 测试应用程序是 运行 作为另一个线程。
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
此方法只能return UI 测试APP文档的路径,而不是目标应用程序。
有没有办法访问目标应用程序的文件夹?
由于您的应用程序是沙盒化的,因此您无法访问该应用程序的文档目录。参考 https://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/TheiOSEnvironment/TheiOSEnvironment.html#//apple_ref/doc/uid/TP40007072-CH9-SW1
如果你想测试那个文件。也在测试项目中创建该文件并检查。
我写了一个关于这个的 short blog post。
我的一个短期解决方案是创建一个用户不知道的 UITextField。作为 UITest 的一部分,UITesting 目标将与文本字段交互并键入代码。
任何给定的 UITest 启动后 运行,第一个交互是与文本字段的交互。文本字段将成为第一响应者(使用可访问性标签),这会导致键盘在屏幕上滑动。
然后测试将继续与键盘交互并键入字符串,然后在键盘上按下 'return' 键。键盘关闭,字符串被发送到 UITextFieldDelegate。
该字符串表示一个文件名。我建立了一个代码系统,对应于我藏起来的 .zip 文件。各种测试输入的每个代码都对应于 zip 文件,其中包含我在 docs 目录中需要的数据版本。
所以这只是在 UITest 继续之前解压数据并将其写入 docs 文件夹的情况。
我已向 Apple 发送功能请求,要求通过 UITest 目标访问候选应用程序文档目录。