好的,到目前为止,我还没能在任何测试版中运行此测试。我遇到的一些问题是here和here
现在,我觉得我错过了一些东西。
这是我目前的进展
然后,我运行了这个测试。
在使用以下
在setup()中启动应用程序之后,甚至在调用测试之前整个过程都失败了***断言失败 - [XCUIApplication init],/ Library/Caches/com.apple.xbs/Sources/XCTest_Sim/XCTest-8170.3/XCTestFramework/UI Testing / XCUIApplication.m:76 /Users/UserName/Documents/Projects/Testing/UiTesting/UITestingApp/UITestingApp.swift:0:错误: - [UITestingApp.UITestingApp testSimpleTap]:失败:捕获" NSInternalInconsistencyException","没有目标应用程序通过测试配置指定的路径:
testBundleURL:文件:///用户/用户名/库/开发商/ CoreSimulator /设备/ E3201DC2-CAD3-48C3-95F5-15E18DCA1836 /数据/集装箱/包/应用/ 8B33FC59-FC03-41F8-BD21-43D81BA2D355 / UITestingApp-亚军。应用程序/插件/ UITestingApp.xctest /
productModuleName:(空) testsToSkip:(空) testsToRun:(空) reportResultsToIDE:无 sessionIdentifier:< __ NSConcreteUUID 0x7f93e146c0b0> F242796B-ED26-4AA7-861A-540D2D93CB8F pathToXcodeReportingSocket:(空) disablePerformanceMetrics:无 treatMissingBaselinesAsFailures:无 baselineFileURL:(空) targetApplicationPath:(空) targetApplicationBundleID:(空) reportActivities:无
任何人遇到这个问题或对我可能遗失的内容有什么建议吗?
注意:我确实将UI测试目标的“目标应用程序”设置为我的应用程序
更新:我注意到这适用于Xcode的所有beta / final版本 - 相应地更新了标题
答案 0 :(得分:41)
我有一个类似的问题,我的错误是试图在常规测试目标中使用UI测试代码。一旦我创建了一个新目标,从“iOS UI Testing Bundle”开始并将代码复制到那里,错误就消失了。这是指向正确方向的线索: https://twitter.com/punksomething/status/609505357132500993 “是的,我试图在常规测试目标中使用UI测试。必须创建一个新添加的UI测试目标”
答案 1 :(得分:17)
当我尝试将新类添加到单元测试目标时,发生了这种情况,但我选择了UI测试用例类模板而不是单元测试用例类模板。
确保始终选择合适的一个。尽管它们都是XCTestCase子类,并且您将它们分配给正确的目标,但在选择错误的模板时会抛出此错误。
答案 2 :(得分:5)
重命名目标后我得到了这个。解决方案是在我的UITest目标中将“目标应用程序”设置为“无”并点击构建。在此之后,我将“无”设置回我的应用程序并解决了错误。 我认为重命名很可能搞砸了ui测试目标的“目标应用程序”设置。
答案 3 :(得分:4)
我得到了断言
***断言失败 - [XCUIApplication init],/ Library/Caches/com.apple.xbs/Sources/XCTest_Sim/XCTest-8170.3/XCTestFramework/UI 测试/ XCUIApplication.m:76
定期,正如其他答案中所述。真烦人,我花了一些时间找到摆脱它的最小步骤。
我找到的关键解决方案是重启设备。因此,您不需要删除应用程序,重新启动Xcode或其他东西,只需重新启动即可使此断言消失。
答案 4 :(得分:3)
我遇到了这个问题。我认为问题源于沿途重命名目标。这里没有一个修复程序帮助我解决了我的问题。由于我刚开始并且还没有编写任何测试,我删除了UI测试的整个目标并重新添加它。同名,一切都开始正常工作。
如果您遇到此问题,可能是由于命名。您可以通过这种方式跟踪它或保存测试并重新添加UI目标。
答案 5 :(得分:2)
答案 6 :(得分:2)
在编写了几个测试并运行它们后,我收到了这个错误。我尝试了所有修复和建议,但没有一个适合我。
我决定删除在运行测试并重新启动设备时创建的XCUI应用程序,并且它有效。但是,如果我之后运行测试7或8次,则错误会再次出现,我只需重复解决方案循环。如果您只是删除应用程序而不重新启动它将无法正常工作。
不确定这个答案是否适用于所有人,但这对我有用。
答案 7 :(得分:1)
在我的TestCaseClass
的setup()方法中评论下面的代码后,它对我有用continueAfterFailure = false& XCUIApplication()。启动()
答案 8 :(得分:1)
删除现有目标并再次创建可解决问题。
确保选择正确的测试包。对于UI测试,它应该是" iOS UI测试包"。
答案 9 :(得分:0)
我有这个问题在xCode 8上运行Cucumberish测试。
我通过项目(项目导航器)>修复MyTestTarget>一般
这里确保将目标应用程序设置为您希望运行测试的应用程序。默认情况下,它设置为无。
答案 10 :(得分:0)
答案 11 :(得分:0)
这可能是因为您的目标没有 TEST_TARGET_NAME
构建设置,或者它与您正在测试的目标的确切名称不匹配。即使在目标的“常规”选项卡中将“目标应用程序”设置为您的应用程序,您仍然需要在“构建设置”中设置 TEST_TARGET_NAME
答案 12 :(得分:-1)