Xcode UI测试目标中的录制按钮被禁用。

17

我知道类似的问题已经发布过了,但是根据我的调查,至少没有一个可行的解决方案被发布。我已经成功地在Swift和Obj-C的样例项目中运行了UI测试。

我正在尝试(不成功地)将UI测试集成到一个已有的Xcode Obj-C项目中,这似乎是另一个完全不同的问题。以下是我采取的步骤:

  1. 在我的项目中创建了一个新的UI测试目标
  2. 确保我要测试的目标已经设置为“启用测试性能”
  3. 清理、清理构建文件夹、重新构建应用程序、重新启动Xcode和其他我能想到的操作。

当我这样做时,测试目标是可用的,但录制按钮是灰色的(禁用的),边角也没有播放按钮来执行测试。测试类中没有任何视觉指示表明它是一个测试类。当我把光标放在测试方法中时,录制按钮仍然处于禁用状态。

我是否漏掉了什么?还有其他需要检查的事项可能会阻止UI测试吗?


1
当您选择uitest文件(在左侧的项目导航器中)时,您是否看到它确实具有UITest目标的目标成员资格(在右侧的实用程序窗格中,让您检查/取消选中目标成员资格)? - Nitin Alabur
1
哇,那个起作用了,这真是让人烦恼!检查和取消勾选目标的成员资格就这样了 :/ 请修复一下 @Apple - Laser Hawk
10个回答

29
  1. 只有在函数体内部,录制按钮才会启用。

  2. 函数名必须以test开头。像testExample()这样。

  3. 更改函数名称后,请等待几秒钟,使运行图标显示在装订线上。

现在录制按钮应该出现了。


1
太棒了!它适合我。只需要添加“test”这个词就可以了。 - Darshit Mendapara
1
禁用记录UITest按钮的问题已经通过单词“test”解决,看起来像是一个玩笑,但它确实有效。 - Ice
test是的,前缀为“test”。这是因为您还可以实现一些不是测试的函数,例如用于代码重构。 - tontonCD

8

我按照这里列出的所有提示进行了尝试,唯一可以解决问题的方法是重新启动 Xcode


7

确保你正在正确的XCTestCase子类文件中。

经过一段时间的研究,我发现我一直在扩展文件中(我一直在扩展文件中组织流程)。因此,当我打开主要的XCTestCase子类文件(例如"YourAppUItests")时,记录测试按钮已被启用。


3
  1. 点击左侧窗格从上往下数第六个按钮 - 显示测试导航器
  2. 右键单击UI测试,然后点击“启用…”

然后你就可以录制了。


我的已经启用了。禁用后再次启用就解决了。 - iCediCe

2

确保你能成功地构建测试目标。

前往 产品 > 测试,确保UI测试用例已运行(即使测试用例为空也没有问题)。您还应该在“测试导航器”下看到测试用例,或在应用程序目标方案中看到测试用例。


那就是这样了。仅仅点击测试名称旁边的播放按钮是不够的。 - alekop

1

请确保您的UI测试类中至少有一个测试函数。例如- func testExample(){}。然后您就可以在该函数中记录,因为只有以test为前缀的函数才能作为测试运行。


0
如果您的项目有一个测试计划(.xctestplan),请确保新的测试已启用。在此之前,录制按钮将被禁用。这通常发生在您添加新的UI测试用例类时。或者当您向现有类中添加新测试时,其中一些测试被禁用。

0
我意识到你必须将光标放在要记录的测试函数内。我只需点击测试函数内部,录制按钮就会启用。

0
此外,请确保选择UI测试方案,这在我的情况下是问题所在:

enter image description here


-1
  1. 在你的fileUITests.swift文件中创建函数

enter image description here

  • 通过测试运行程序
  • enter image description here

    你的函数可以记录UI测试,按钮已经启用。

    enter image description here


    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接