Xcode UITest 记录按钮被禁用

Xcode UITest Record button is disabled

有没有人见过这种情况?我不能 运行 UITests 因为按钮被禁用了。我没有在网上找到任何帮助。我删除并添加了一个新的测试目标,重新启动 Xcode 并删除了派生数据。 None 其中有效,我不知道接下来要尝试什么。

You have to create a new target in your project.
Steps:
1) File > New > Target
2) Select in left box: iOS > Test
3) In right box: iOS UI Testing Bundle
4) Run your aplication
5) Record your actions
6) Make assertions

另一个可能的原因是 UI 测试目标没有 build/run 成功。

转到产品 > 测试 并确保没有错误。您还应该在 Test Navigator 中看到测试用例(如果您没有看到,那么它就没有被识别)。

尝试删除 ~/Library/Developer/Xcode/DerivedData/ 并让 xcode 重新索引您的项目。这应该可以解决问题

对我来说就是如上所述删除 ~/Library/Developer/Xcode/DerivedData/,并让 Xcode 重新索引项目,但我必须确保不中断索引。编制索引需要一段时间,如果它被打断,它似乎无法从停止的地方收拾行李。至少对于 XCUITest 目标。

我遇到了同样的问题,终于找到了解决办法。

  1. 在链接到 UI 测试目标的文件中编写一个新的 UI 测试。
  2. 在新测试中写入XCTFail("")(这将导致测试失败)
  3. 运行 您的 UI 测试应该会失败。
  4. 删除您添加的 XCTFail(""),红色按钮现在已启用。

确保 UI 测试文件的名称与其 class 相同。

我只是通过在我的测试 class 中注释掉一个失败的测试来解决这个问题。 运行 测试所以它是绿色的,然后将我的光标放在一个新行上(下面注释掉测试),然后记录按钮再次变为红色。

您的应用程序中可以有其他失败的测试,但不能包含在 Xcode 中处于活动状态的文件中。

在Xcode9.0

点击内部测试函数。您应该先 select 测试方法。通常当按钮未激活时,这意味着 xcode 不知道要记录哪个测试。