View a markdown version of this page

Fehlerbehebung bei XCTest-UI-Tests in AWS Device Farm - AWS Device Farm

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Fehlerbehebung bei XCTest-UI-Tests in AWS Device Farm

Im folgenden Thema werden Fehlermeldungen aufgeführt, die beim Hochladen von XCTest UI-Tests auftreten können, und Umgehungen für die einzelnen Fehler empfohlen.

Fehler beim Hochladen

Die folgenden Fehler können auftreten, wenn Sie Ihre XCTest-UI-Tests hochladen.

XCTEST_UI_TEST_PACKAGE_UNZIP_FAILED

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

We could not open your test IPA file. Please verify that the file is valid and try again.

Stellen Sie sicher, dass Sie das Anwendungspaket fehlerfrei dekomprimieren können. Im folgenden Beispiel lautet der Name des Pakets swift-sample-. UI.ipa

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip swift-sample-UI.ipa
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Bei einem gültigen iOS-Anwendungspaket sollte die Ausgabe wie folgt aussehen:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)

    Weitere Informationen finden Sie unter Integration der XCTest-Benutzeroberfläche für iOS in Device Farm.

XCTEST_UI_TEST_PACKAGE_PAYLOAD_DIR_MISSING

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

We could not find the Payload directory inside your test package. Please unzip your test package, verify that the Payload directory is inside the package, and try again.

Im folgenden Beispiel lautet der Name des Pakets swift-sample-. UI.ipa

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip swift-sample-UI.ipa
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Wenn das XCTest-UI-Paket gültig ist, finden Sie das Payload Verzeichnis im Arbeitsverzeichnis.

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)

    Weitere Informationen finden Sie unter Integration der XCTest-Benutzeroberfläche für iOS in Device Farm.

XCTEST_UI_TEST_PACKAGE_APP_DIR_MISSING

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

We could not find the .app directory inside the Payload directory. Please unzip your test package and then open the Payload directory, verify that the .app directory is inside the directory, and try again.

Im folgenden Beispiel lautet der Name des Pakets swift-sample-. UI.ipa

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip swift-sample-UI.ipa
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Wenn das XCTest-UI-Paket gültig ist, finden Sie innerhalb des .app Verzeichnisses ein Verzeichnis wie swift-sampleUITests-Runner.app in unserem Beispiel. Payload

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)

    Weitere Informationen finden Sie unter Integration der XCTest-Benutzeroberfläche für iOS in Device Farm.

XCTEST_UI_TEST_PACKAGE_PLUGINS_DIR_MISSING

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

We could not find the Plugins directory inside the .app directory. Please unzip your test package and then open the .app directory, verify that the Plugins directory is inside the directory, and try again.

Im folgenden Beispiel lautet der Name des Pakets swift-sample-. UI.ipa

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip swift-sample-UI.ipa
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Wenn das XCTest-UI-Paket gültig ist, finden Sie das Plugins Verzeichnis in einem Verzeichnis. .app In unserem Beispiel heißt swift-sampleUITests-Runner.app das Verzeichnis.

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)

    Weitere Informationen finden Sie unter Integration der XCTest-Benutzeroberfläche für iOS in Device Farm.

XCTEST_UI_TEST_PACKAGE_XCTEST_DIR_MISSING_IN_PLUGINS_DIR

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

We could not find the .xctest directory inside the plugins directory. Please unzip your test package and then open the plugins directory, verify that the .xctest directory is inside the directory, and try again.

Im folgenden Beispiel lautet der Name des Pakets swift-sample-. UI.ipa

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip swift-sample-UI.ipa
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Wenn das XCTest-UI-Paket gültig ist, finden Sie ein .xctest Verzeichnis innerhalb des Verzeichnisses. Plugins In unserem Beispiel heißt swift-sampleUITests.xctest das Verzeichnis.

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)

    Weitere Informationen finden Sie unter Integration der XCTest-Benutzeroberfläche für iOS in Device Farm.

XCTEST_UI_TEST_PACKAGE_PLIST_FILE_MISSING

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

We could not find the Info.plist file inside the .app directory. Please unzip your test package and then open the .app directory, verify that the Info.plist file is inside the directory, and try again.

Im folgenden Beispiel lautet der Name des Pakets swift-sample-. UI.ipa

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip swift-sample-UI.ipa
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Wenn das XCTest-UI-Paket gültig ist, finden Sie die Info.plist Datei im Verzeichnis. .app In unserem Beispiel unten heißt swift-sampleUITests-Runner.app das Verzeichnis.

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)

    Weitere Informationen finden Sie unter Integration der XCTest-Benutzeroberfläche für iOS in Device Farm.

XCTEST_UI_TEST_PACKAGE_PLIST_FILE_MISSING_IN_XCTEST_DIR

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

We could not find the Info.plist file inside the .xctest directory. Please unzip your test package and then open the .xctest directory, verify that the Info.plist file is inside the directory, and try again.

Im folgenden Beispiel lautet der Name des Pakets swift-sample-. UI.ipa

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip swift-sample-UI.ipa
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Wenn das XCTest-UI-Paket gültig ist, finden Sie die Info.plist Datei im Verzeichnis. .xctest In unserem Beispiel unten heißt swift-sampleUITests.xctest das Verzeichnis.

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)

    Weitere Informationen finden Sie unter Integration der XCTest-Benutzeroberfläche für iOS in Device Farm.

XCTEST_UI_TEST_PACKAGE_CPU_ARCHITECTURE_VALUE_MISSING

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

We could not the CPU architecture value in the Info.plist file. Please unzip your test package and then open the Info.plist file inside the .app directory, verify that the key "UIRequiredDeviceCapabilities" is specified, and try again.

Im folgenden Beispiel lautet der Name des Pakets swift-sample-. UI.ipa

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip swift-sample-UI.ipa
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Sie sollten die Info.plist Datei in einem .app Verzeichnis wie swift-sampleUITests-Runner.app in unserem Beispiel finden:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)
  3. Um den CPU-Architekturwert zu finden, können Sie sie Info.plist mit Xcode oder Python öffnen.

    Für Python können Sie das Biplist-Modul installieren, indem Sie den folgenden Befehl ausführen:

    $ pip install biplist
  4. Öffnen Sie anschließend Python und führen Sie den folgenden Befehl aus:

    import biplist info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Info.plist') print info_plist['UIRequiredDeviceCapabilities']

    Bei einem gültigen XCtest-UI-Paket sollte die Ausgabe wie folgt aussehen:

    ['armv7']

    Weitere Informationen finden Sie unter Integration der XCTest-Benutzeroberfläche für iOS in Device Farm.

XCTEST_UI_TEST_PACKAGE_PLATFORM_VALUE_MISSING

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

We could not find the platform value in the Info.plist. Please unzip your test package and then open the Info.plist file inside the .app directory, verify that the key "CFBundleSupportedPlatforms" is specified, and try again.

Im folgenden Beispiel lautet der Name des Pakets swift-sample-. UI.ipa

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip swift-sample-UI.ipa
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Sie sollten die Info.plist Datei in einem .app Verzeichnis wie swift-sampleUITests-Runner.app in unserem Beispiel finden:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)
  3. Um den Plattformwert zu finden, können Sie sie Info.plist mit Xcode oder Python öffnen.

    Für Python können Sie das Biplist-Modul installieren, indem Sie den folgenden Befehl ausführen:

    $ pip install biplist
  4. Öffnen Sie anschließend Python und führen Sie den folgenden Befehl aus:

    import biplist info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Info.plist') print info_plist['CFBundleSupportedPlatforms']

    Bei einem gültigen XCtest-UI-Paket sollte die Ausgabe wie folgt aussehen:

    ['iPhoneOS']

    Weitere Informationen finden Sie unter Integration der XCTest-Benutzeroberfläche für iOS in Device Farm.

XCTEST_UI_TEST_PACKAGE_WRONG_PLATFORM_DEVICE_VALUE

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

We found the platform device value was wrong in the Info.plist file. Please unzip your test package and then open the Info.plist file inside the .app directory, verify that the value of the key "CFBundleSupportedPlatforms" does not contain the keyword "simulator", and try again.

Im folgenden Beispiel lautet der Name des Pakets swift-sample-. UI.ipa

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip swift-sample-UI.ipa
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Sie sollten die Info.plist Datei in einem .app Verzeichnis wie swift-sampleUITests-Runner.app in unserem Beispiel finden:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)
  3. Um den Plattformwert zu finden, können Sie sie Info.plist mit Xcode oder Python öffnen.

    Für Python können Sie das Biplist-Modul installieren, indem Sie den folgenden Befehl ausführen:

    $ pip install biplist
  4. Öffnen Sie anschließend Python und führen Sie den folgenden Befehl aus:

    import biplist info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Info.plist') print info_plist['CFBundleSupportedPlatforms']

    Bei einem gültigen XCtest-UI-Paket sollte die Ausgabe wie folgt aussehen:

    ['iPhoneOS']

    Damit das XCTest-UI-Paket gültig ist, darf der Wert nicht das Schlüsselwort simulator enthalten.

    Weitere Informationen finden Sie unter Integration der XCTest-Benutzeroberfläche für iOS in Device Farm.

XCTEST_UI_TEST_PACKAGE_FORM_FACTOR_VALUE_MISSING

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

We could not the form factor value in the Info.plist. Please unzip your test package and then open the Info.plist file inside the .app directory, verify that the key "UIDeviceFamily" is specified, and try again.

Im folgenden Beispiel lautet der Name des Pakets swift-sample-. UI.ipa

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip swift-sample-UI.ipa
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Sie sollten die Info.plist Datei in einem .app Verzeichnis wie swift-sampleUITests-Runner.app in unserem Beispiel finden:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)
  3. Um den Formfaktorwert zu finden, können Sie sie Info.plist mit Xcode oder Python öffnen.

    Für Python können Sie das Biplist-Modul installieren, indem Sie den folgenden Befehl ausführen:

    $ pip install biplist
  4. Öffnen Sie anschließend Python und führen Sie den folgenden Befehl aus:

    import biplist info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Info.plist') print info_plist['UIDeviceFamily']

    Bei einem gültigen XCtest-UI-Paket sollte die Ausgabe wie folgt aussehen:

    [1, 2]

    Weitere Informationen finden Sie unter Integration der XCTest-Benutzeroberfläche für iOS in Device Farm.

XCTEST_UI_TEST_PACKAGE_PACKAGE_NAME_VALUE_MISSING

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

We could not find the package name value in the Info.plist file. Please unzip your test package and then open the Info.plist file inside the .app directory, verify that the key "CFBundleIdentifier" is specified, and try again.

Im folgenden Beispiel lautet der Name des Pakets swift-sample-. UI.ipa

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip swift-sample-UI.ipa
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Sie sollten die Info.plist Datei in einem .app Verzeichnis wie swift-sampleUITests-Runner.app in unserem Beispiel finden:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)
  3. Um den Wert des Paketnamens zu finden, können Sie sie Info.plist mit Xcode oder Python öffnen.

    Für Python können Sie das Biplist-Modul installieren, indem Sie den folgenden Befehl ausführen:

    $ pip install biplist
  4. Öffnen Sie anschließend Python und führen Sie den folgenden Befehl aus:

    import biplist info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Info.plist') print info_plist['CFBundleIdentifier']

    Bei einem gültigen XCtest-UI-Paket sollte die Ausgabe wie folgt aussehen:

    com.apple.test.swift-sampleUITests-Runner

    Weitere Informationen finden Sie unter Integration der XCTest-Benutzeroberfläche für iOS in Device Farm.

XCTEST_UI_TEST_PACKAGE_EXECUTABLE_VALUE_MISSING

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

We could not find the executable value in the Info.plist file. Please unzip your test package and then open the Info.plist file inside the .app directory, verify that the key "CFBundleExecutable" is specified, and try again.

Im folgenden Beispiel lautet der Name des Pakets swift-sample-. UI.ipa

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip swift-sample-UI.ipa
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Sie sollten die Info.plist Datei in einem .app Verzeichnis wie swift-sampleUITests-Runner.app in unserem Beispiel finden:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)
  3. Um den ausführbaren Wert zu finden, können Sie sie Info.plist mit Xcode oder Python öffnen.

    Für Python können Sie das Biplist-Modul installieren, indem Sie den folgenden Befehl ausführen:

    $ pip install biplist
  4. Öffnen Sie anschließend Python und führen Sie den folgenden Befehl aus:

    import biplist info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Info.plist') print info_plist['CFBundleExecutable']

    Bei einem gültigen XCtest-UI-Paket sollte die Ausgabe wie folgt aussehen:

    XCTRunner

    Weitere Informationen finden Sie unter Integration der XCTest-Benutzeroberfläche für iOS in Device Farm.

XCTEST_UI_TEST_PACKAGE_TEST_PACKAGE_NAME_VALUE_MISSING

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

We could not find the package name value in the Info.plist file inside the .xctest directory. Please unzip your test package and then open the Info.plist file inside the .xctest directory, verify that the key "CFBundleIdentifier" is specified, and try again.

Im folgenden Beispiel lautet der Name des Pakets swift-sample-. UI.ipa

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip swift-sample-UI.ipa
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Sie sollten die Info.plist Datei in einem .app Verzeichnis wie swift-sampleUITests-Runner.app in unserem Beispiel finden:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)
  3. Um den Wert des Paketnamens zu finden, können Sie sie Info.plist mit Xcode oder Python öffnen.

    Für Python können Sie das Biplist-Modul installieren, indem Sie den folgenden Befehl ausführen:

    $ pip install biplist
  4. Öffnen Sie anschließend Python und führen Sie den folgenden Befehl aus:

    import biplist info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Plugins/swift-sampleUITests.xctest/Info.plist') print info_plist['CFBundleIdentifier']

    Bei einem gültigen XCtest-UI-Paket sollte die Ausgabe wie folgt aussehen:

    com.amazon.swift-sampleUITests

    Weitere Informationen finden Sie unter Integration der XCTest-Benutzeroberfläche für iOS in Device Farm.

XCTEST_UI_TEST_PACKAGE_TEST_EXECUTABLE_VALUE_MISSING

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

We could not find the executable value in the Info.plist file inside the .xctest directory. Please unzip your test package and then open the Info.plist file inside the .xctest directory, verify that the key "CFBundleExecutable" is specified, and try again.

Im folgenden Beispiel lautet der Name des Pakets swift-sample-. UI.ipa

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip swift-sample-UI.ipa
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Sie sollten die Info.plist Datei in einem .app Verzeichnis wie swift-sampleUITests-Runner.app in unserem Beispiel finden:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)
  3. Um den ausführbaren Wert zu finden, können Sie sie Info.plist mit Xcode oder Python öffnen.

    Für Python können Sie das Biplist-Modul installieren, indem Sie den folgenden Befehl ausführen:

    $ pip install biplist
  4. Öffnen Sie anschließend Python und führen Sie den folgenden Befehl aus:

    import biplist info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Plugins/swift-sampleUITests.xctest/Info.plist') print info_plist['CFBundleExecutable']

    Bei einem gültigen XCtest-UI-Paket sollte die Ausgabe wie folgt aussehen:

    swift-sampleUITests

    Weitere Informationen finden Sie unter Integration der XCTest-Benutzeroberfläche für iOS in Device Farm.

XCTEST_UI_TEST_PACKAGE_MULTIPLE_APP_DIRS

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

We found multiple .app directories inside your test package. Please unzip your test package, verify that only a single .app directory is present inside the package, then try again.

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip swift-sample-UI.zip
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Wenn das XCTest-UI-Paket gültig ist, sollten Sie nur ein einziges Verzeichnis wie in unserem Beispiel im .zip-Testpaket finden. .app swift-sampleUITests-Runner.app

    . `--swift-sample-UI.zip--(directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files) `-- (any other files)

    Weitere Informationen finden Sie unter Integration der XCTest-Benutzeroberfläche für iOS in Device Farm.

XCTEST_UI_TEST_PACKAGE_MULTIPLE_IPA_DIRS

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

We found multiple .ipa directories inside your test package. Please unzip your test package, verify that only a single .ipa directory is present inside the package, then try again.

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip swift-sample-UI.zip
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Wenn das XCTest-UI-Paket gültig ist, sollten Sie nur ein einziges Verzeichnis wie in unserem Beispiel im .zip-Testpaket finden. .ipa sampleUITests.ipa

    . `--swift-sample-UI.zip--(directory) `-- sampleUITests.ipa (directory) `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) `-- (any other files)

    Weitere Informationen finden Sie unter Integration der XCTest-Benutzeroberfläche für iOS in Device Farm.

XCTEST_UI_TEST_PACKAGE_SOCH_APP_UND_IPA_DIR_PRESENT

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

We found both .app and .ipa files inside your test package. Please unzip your test package, verify that only a single .app or .ipa file is present inside the package, then try again.

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip swift-sample-UI.zip
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Wenn das XCTest-UI-Paket gültig ist, sollten Sie entweder ein Verzeichnis wie oder ein Verzeichnis wie in unserem Beispiel im .zip-Testpaket finden. .ipa sampleUITests.ipa .app swift-sampleUITests-Runner.app Ein Beispiel für ein gültiges XCTEST_UI-Testpaket finden Sie in unserer Dokumentation unter. Integration der XCTest-Benutzeroberfläche für iOS in Device Farm

    . `--swift-sample-UI.zip--(directory) `-- sampleUITests.ipa (directory) `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) `-- (any other files)

    oder

    . `--swift-sample-UI.zip--(directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) `-- (any other files) `-- (any other files)

    Weitere Informationen finden Sie unter Integration der XCTest-Benutzeroberfläche für iOS in Device Farm.

XCTEST_UI_TEST_PACKAGE_PAYLOAD_DIR_PRESENT_IN_ZIP

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

We found a Payload directory inside your .zip test package. Please unzip your test package, ensure that a Payload directory is not present in the package, then try again.

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip swift-sample-UI.zip
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Wenn das XCTest-UI-Paket gültig ist, sollten Sie in Ihrem Testpaket kein Payload-Verzeichnis finden.

    . `--swift-sample-UI.zip--(directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) `-- (any other files) `-- Payload (directory) [This directory should not be present] |-- (any other files) `-- (any other files)

    Weitere Informationen finden Sie unter Integration der XCTest-Benutzeroberfläche für iOS in Device Farm.

Testen Sie die Erkenntnisse

Wenn du dich für das Testen von Insights entscheidest, generiert Device Farm einen zusammenfassenden Bericht für deinen Lauf und jeden Auftrag, der dazugehört. Wenn der Dienst den Bericht nicht generieren kann, lautet der Status des Insights-Berichts SKIPPED oderERRORED, und in der Berichtsmeldung wird der Grund dafür erklärt. Die folgenden Meldungen können auftreten, wenn Erkenntnisse für XCTest-UI-Tests generiert werden.

Der Job wurde nicht vollständig ausgeführt

Unable to generate test insights because the job was status.

Der Job wurde im Status „Nicht erfolgreich“ beendet (wo status ist STOPPEDERRORED, oderSKIPPED), sodass es kein zusammenfassendes Ergebnis gab. Ein Lauf, der im Status „Fehlgeschlagen“ endet, liefert dennoch Erkenntnisse.

Um dieses Problem zu beheben, untersuchen Sie, warum der Job nicht vollständig ausgeführt wurde. In vielen Fällen kann das message Feld des Jobs selbst erklären, warum der Job nicht abgeschlossen wurde.

Die Ergebnisse enthielten keine Testfälle

Test insights could not be generated. The xcresult_summary.json file was parsed successfully but contained no test cases.

Das Ergebnisartefakt wurde erfolgreich analysiert, enthielt jedoch keine Testfälle.

Um dieses Problem zu beheben, stellen Sie sicher, dass Ihre Testsuite mindestens einen Testfall enthält und dass die Ergebnisse korrekt unter gespeichert sind. $DEVICEFARM_LOG_DIR

Die Testausgabe überschreitet die maximal unterstützte Größe

Unable to generate test insights: test output "xcresult bundle" exceeds the maximum supported size of 1GB.

Das xcresult-Paket ist größer als 1 GB.

Um dieses Problem zu beheben, reduzieren Sie die Größe des xcresult-Pakets auf unter 1 GB, indem Sie Protokolle oder Anlagen kürzen.

Das Xcresult-Paket wurde nicht gefunden

Unable to generate test insights. The xctestresult bundle file (.xcresult) was not found in the output artifacts.

Device Farm konnte kein .xcresult Paket für diesen Job finden, daher gab es keine zusammenfassenden Ergebnisse.

Device Farm sucht irgendwo darunter $DEVICEFARM_DERIVED_DATA_PATH nach dem Paket. Die standardmäßige XCTest-UI-Testspezifikation erzeugt sie dort automatisch, daher weist diese Meldung normalerweise darauf hin, dass eine benutzerdefinierte Testspezifikation keine Ergebnisse an diesen Ort geschrieben hat.

Um zu überprüfen, ob ein Paket produziert wurde, laden Sie die Kundenartefakte für den Auftrag herunter und suchen Sie nach einem .xcresult Verzeichnis unter dem Ordner mit den abgeleiteten Daten.

Die xcresult-Testergebnisse konnten nicht verarbeitet werden

Test insights could not be generated because of an error while processing the .xcresult test results.

Device Farm hat ein .xcresult Paket gefunden, konnte aber die Testergebnisse daraus nicht lesen.

Um dieses Problem zu beheben, stellen Sie sicher, dass Ihr Testlauf ein gültiges .xcresult Paket ergibt. Stellen Sie sicher, dass Ihre Testspezifikation das Paket nicht ändert, kürzt oder archiviert, bevor der Lauf abgeschlossen ist, und dass der xcodebuild Befehl abgeschlossen ist und nicht durch einen Timeout unterbrochen wird.