为什么我必须手动链接Webkit.framework才能进行Xcode UI测试?

时间:2019-04-15 14:02:11

标签: swift xcode macos cocoa

所以我正在为我的应用程序编写UI测试。

我注意到,如果情节提要中包含一个Webkit WebView,它将无法正确初始化,因此我在日志中看到以下内容:

  

[NSKeyedUnarchiver encodeObjectForKey:]:无法为密钥(NS.objects)解码类(WKWebView)的对象;该类可以在源代码或未链接的库中定义

如果我直接直接运行应用程序,它将运行良好,这只是UI测试出现问题。

我可以转到“项目”设置并手动链接WebKit.framework,然后测试就会通过。

但是我想首先了解是什么造成了问题?为什么它仅在UI测试中失败?

复制步骤

  1. 在Xcode中创建一个新项目。选择Cocoa App,在“使用情节提要”和“包括UI测试”上打钩
  2. 在UI测试中,编写一个简单的测试用例:
    func testExample() {
        XCUIApplication().launch()
    }
  1. 打开情节提要,并将WebView放到某个地方。
  2. 运行测试。

0 个答案:

没有答案