无法在旧项目上运行UI测试

时间:2015-09-20 09:57:21

标签: ios xcode xcode7 ui-testing xcode-ui-testing

我正在尝试在旧项目中使用Xcode 7添加和运行UI自动化测试。 这是我做的:

  1. 添加了新的UI测试目标
  2. 将该目标的编译器版本更改为默认编译器(Apple LLVM 7.0)
  3. 使用iPhone 6 Plus iOS9模拟器录制测试(像魅力一样工作)
  4. 现在,当我尝试运行录制的测试时,我收到以下错误:

      

    失败:捕获“NSInternalInconsistencyException”,“没有目标   通过测试配置指定的应用路径:                          testBundleURL:文件:///xxxxxxxxxxx/PlugIns/PageonceUITests.xctest/                   productModuleName:(空)                         testsToSkip:(空)                          testsToRun:(空)                  reportResultsToIDE:无                   sessionIdentifier:< __ NSConcreteUUID 0x7fc818d181a0> 7045B650-CDAF-4EC9-9738-83F78E1514D8          pathToXcodeReportingSocket:(空)           disablePerformanceMetrics:no treatMissingBaselinesAsFailures:no                     baselineFileURL:(空)               targetApplicationPath:(空)           targetApplicationBundleID:(空)

5 个答案:

答案 0 :(得分:2)

此错误似乎在抱怨在添加UI测试目标时选择“要测试的目标”字段。在UI测试目标下显示“目标应用程序”属性 - >常规选项卡是否正确显示您选择的主应用 一个快乐的配置看起来像这样,

2015-10-04 17:30:50.960 XCTRunner[22941:4703128] Found configuration <XCTestConfiguration: 0x7fbf3050c8b0>

testBundleURL:file:///Users/username/Library/Developer/Xcode/DerivedData/App-fxeyzrynjcscxzaxjvmnormcjhbr/Build/Products/Debug-iphonesimulator/APPUITests-Runner.app/PlugIns/APPUITests.xctest/
              productModuleName:APPUITests
                    testsToSkip:(null)
                     testsToRun:(null)
             reportResultsToIDE:YES
              sessionIdentifier:<__NSConcreteUUID 0x7fbf30503430> B324DF9D-769F-4217-901F-24482A719005
     pathToXcodeReportingSocket:(null)
      disablePerformanceMetrics:no
treatMissingBaselinesAsFailures:no
                baselineFileURL:(null)
          targetApplicationPath:/Users/username/Library/Developer/Xcode/DerivedData/APP-fxeyzrynjcscxzaxjvmnormcjhbr/Build/Products/Debug-iphonesimulator/AppName.app
      targetApplicationBundleID:com.bundle.appBundle.app.dev
               reportActivities:no

答案 1 :(得分:1)

可能是由于您的目标设置存在一些问题。

请尝试以下操作。

  1. 删除现有目标。
  2. 再次选择“ iOS UI测试包”创建新目标。
  3. 然后逐个链接您的测试文件。
  4. 有效。

答案 2 :(得分:0)

我遇到了同样的问题并通过不使用此答案中描述的旧版构建位置解决了这个问题:https://stackoverflow.com/a/32658990/901334

如果我使用“Legacy”,可以记录UI测试,但是当我尝试运行它们时会失败。使用“Unique”作为设置,它们工作正常。 (这可以用新项目复制)

Xcode→首选项→位置→派生数据→高级...→[x]唯一

答案 3 :(得分:0)

我在物理iPad上遇到了同样的问题。 当我最终删除应用程序及其所有数据,然后关闭并重新启动设备时,问题就解决了。

答案 4 :(得分:0)

您必须在相对的“ 构建设置”部分的 UITest目标中添加自定义的“ 用户定义的设置”属性:

enter image description here

使用键:

TEST_TARGET_NAMEYourTargetName
USES_XCTRUNNERYES(可选)

现在您可以运行UI测试了。