如何对通用链接进行单元测试?

时间:2017-09-25 05:33:43

标签: unit-testing ios-universal-links

由于我需要为我们的项目编写单元测试,之前是否有人这样做? 如何通过代码测试通用链接?

3 个答案:

答案 0 :(得分:1)

实际上,我在这里找到了一个非常酷的示例:

https://blog.branch.io/ui-testing-universal-links-in-xcode-9/

基本上,它会在模拟器中打开iMessage应用程序,发送一条包含指向模拟器联系人之一的链接的消息,然后在消息应用程序中点击该链接。

然后,您可以根据您希望通用链接在应用程序中执行的操作来断言是否已打开应用程序或是否打开了正确的视图。

答案 1 :(得分:0)

不幸的是,无法以编程方式打开Universal Link。 Apple仅允许以用户意图打开Universal Links。这意味着呼叫$filter将在Safari中打开链接。

我建议通过以编程方式调用openURL:来模仿对Universal Link的相同响应。这是通用链接调用的函数,可以通过编程方式触发。您只需确保传递的用户活动具有您的通用链接活动所具有的所有相同信息。希望有所帮助!

答案 2 :(得分:0)

您可以使用XCUITest测试完整的互动:打开Safari;用您的链接加载页面;点击链接;确保您的应用程序已打开;确保您的应用程序正确处理Universal Link。这不是一个简单的设置。通常驾驶你无法控制的应用程序(如Safari)不是XCUITest的文档功能。 可以使用此https://github.com/facebook/WebDriverAgent作为参考。它确实使用了引擎盖下的XCUITest。