iOS:将 API 请求重定向到 Mock Server 以进行 XCUITesting

Posted

技术标签:

【中文标题】iOS:将 API 请求重定向到 Mock Server 以进行 XCUITesting【英文标题】:iOS: redirecting API request to Mock Server for XCUITesting 【发布时间】:2018-11-15 21:25:41 【问题描述】:

我想知道是否有任何方法可以将我的所有 ios 应用程序 api 请求重定向/混合到我的模拟服务器(本地服务器)以进行 XCUITesting。 我想要实现的是,我不想做http://localhost:8080/request,而是将我的实际请求http://www.test.com/request重定向到http://localhost:8080/request。

【问题讨论】:

【参考方案1】:

如果您在本地运行“XCUITest”,您可以使用代理工具(例如 CharlesProxy)将请求重定向到您的本地服务器。如果您只是在您的机器上进行开发和测试,这种方法可能工作得很好,但它并不倾向于在 CI 或远程服务器上工作。

另一种选择是在 XCUITestCase 启动应用程序之前将启动参数传递给您的应用程序。在应用程序中,您可以检查参数是否已通过,如果是,则可以使用本地主机基础 URL。这具有可以在自动化下远程完成的优势。有关详细信息,请参阅this SO 答案。

【讨论】:

谢谢。我们最终调整了 URLSession 并编写了自定义 json 以将其作为应用程序中的服务器运行。

以上是关于iOS:将 API 请求重定向到 Mock Server 以进行 XCUITesting的主要内容,如果未能解决你的问题,请参考以下文章

Instagram API 阻止在成功登录后重定向到 iOS 应用程序并出现 400 错误请求错误

如何从 iOS 应用程序内将 GCDWebServer 请求重定向到外部主机

NGINX重定向所有请求将URL与参数匹配到子域

将 POST 请求从一个 REST API 转发/重定向到另一个

将所有 DNS 请求重定向到 iOS 应用程序中的自定义解析器

CloudFront 使用路径前缀重定向所有请求