在 Xcode UI 测试期间检查电子邮件?

Posted

技术标签:

【中文标题】在 Xcode UI 测试期间检查电子邮件?【英文标题】:Check Email during Xcode UI Testing? 【发布时间】:2014-05-12 16:01:30 【问题描述】:

更新:使用新的 UI testing with Xcode 方式仍然可以实现吗?

我可以通过ios UI Automation 脚本以编程方式访问我的电子邮件吗?

我想访问我的 iPhone 应用通过电子邮件发送到我的电子邮件帐户的注册代码。

【问题讨论】:

相关:***.com/questions/33524217/… 【参考方案1】:

如果您有办法让您的设备/模拟器在应用程序中接收代码,那么您可以编写一个 iOS UIA 脚本来执行此操作。

但是,在 iOS UIA 内置工具的当前状态下,您无法访问应用之外的任何内容。所以基本上你不能启动你的应用程序,然后启动另一个应用程序(如 safari)去 mail.google.com blah blah。

让您的应用留在 iOS UIA 中最接近的方法是使用函数调用将您的应用发送到后台 X 秒。

【讨论】:

可以,但是我可以通过 UI 自动化脚本以编程方式访问我的 Gmail 帐户吗? 如果您的应用打开 WebView,您可以。但是,如果您的应用程序重定向到 Safari,那么您就不能。但是,您可以使用UIAHost.performTaskWithPathArgumentsTimeout 在主机上启动一个可以为您获取代码的外部脚本。 @Braains 对使用 Xcode 进行 UI 测试的新方法有什么想法吗?它似乎没有像UIAHost.performTaskWithPathArgumentsTimeout 这样的东西。见***.com/questions/35678717/… 我不再是自动化工程师,所以我还没有检查新框架。然而,它似乎比以前更严格地定义,因为它非常努力地只让你模拟用户可以做的事情。据推测,如果没有 UI,用户就无法向主机发送消息。我已经看到一些关于将启动参数传递给代码的 cmets,因此如果您需要访问代码,您可以将应用程序设置为使用已知数据响应启动参数。如果您只需要确保电子邮件到达,您可以独立编写脚本并合并日志?【参考方案2】:

使用 NSURLSession 从测试方法中发出 HTTP 请求。见:https://***.com/a/35708282/242933

【讨论】:

以上是关于在 Xcode UI 测试期间检查电子邮件?的主要内容,如果未能解决你的问题,请参考以下文章

在 UI 测试期间,如何使用 Xcode 7 截取我的 UI 截图?

想要在 Xcode 中的 UI 测试期间在测试运行后停止调试控制台清除

在 XCode 中的 UI 测试期间无法访问自定义视图

Xcode UI 测试:如何测试应用程序的首次启动

使用 Python 检查电子邮件是不是真实 [关闭]

在 Xcode 5 中使用 NSUserDefaults 保存第二个打开的视图