今天,我在使用Instruments中的Automation工具,但是编写工作测试时遇到了问题。以下示例将以Issue: Script ended without explicting closing this test
退出。是的,该消息确实表示明确。我认为这是Xcode的最新版本中引入的错字。这是我第一次尝试使用此工具。将cellCount
设置为6会导致通过,但一切都会给我“脚本结束”消息。我做错了还是自动化工具存在错误?
UIALogger.logStart("Start Simple Test");
var target = UIATarget.localTarget();
var cellCount = 7;
UIALogger.logMessage("cell count: " + cellCount);
if (cellCount != 6) {
UIALogger.logFail("Failed");
}
UIALogger.logPass("Passed");
最佳答案
我认为这是您错误地关闭了日志组。当您说logStart()
时,您将在乐器中开始一个日志组,之后使用logMessage()
或logError()
进行日志记录的所有内容都将包含在该组中。
您可以使用logFail()
或logPass()
来关闭组,这看起来像是您尝试做的,但是您只能 call 其中一个。您需要在其中的else子句来调用logPass()
,如下所示:
if (cellCount != 6) {
UIALogger.logFail("Failed");
} else {
UIALogger.logPass("Passed");
}
奇怪的是,当我将您的代码片段粘贴到UI Automation中时,我没有遇到您提到的问题错误。它只是将两个日志组打印到跟踪日志中。尝试使用如上所述的else子句,看看它是否有效。