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