Xcode UI测试:我可以使用UI测试脚本来访问目标应用程序文件夹吗?

时间:2015-09-01 05:54:14

标签: ios ui-testing xcode-ui-testing

当我创建UI测试脚本时,我遇到了一个问题。 我需要访问在目标APP文档文件夹下创建的日志文件。 但是,UI测试APP作为另一个线程运行。

 NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

此方法只能返回UI测试APP文档的路径而不是目标应用程序。

有没有办法访问目标应用程序的文件夹?

2 个答案:

答案 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

如果您想要测试该文件。也在测试项目中创建该文件并检查。