Příprava testů XCUITest pro nahrání

Důležité

31. března 2025 je naplánované vyřazení z provozu. I když můžete dál používat Visual Studio App Center, dokud ho úplně vyřadíte, existuje několik doporučených alternativ, na které můžete zvážit migraci.

Přečtěte si další informace o časových osách a alternativách podpory.

Tato příručka obsahuje pokyny pro přípravu testů XCUITest pro nahrání do testu App Center.

Požadavky na testovací službu

  • Xcode >= 9.4.1
  • iOS >= 9.0

Poznámka

Xcode 12 a iOS 14 jsou nyní k dispozici!

Omezení testovací služby

  • Testovat lze pouze nahranou aplikaci, nikoli interakce prostřednictvím aplikací nebo zbytku systému.

Sestavení pro testování

Pokud chcete spustit test v App Center, musíte sestavit aplikaci a sadu XCUITest. V kořenovém adresáři projektu aplikace spusťte jeden ze dvou následujících příkazů:

# How to build a xcodeproj
rm -rf DerivedData
xcrun xcodebuild build-for-testing \
  -configuration Debug \
  -project YOUR_XCODEPROJ \
  -sdk iphoneos \
  -scheme YOUR_APP_SCHEME \
  -derivedDataPath DerivedData

YOUR_XCODEPROJ by měl odkazovat na .xcodeproj soubor, pravděpodobně s PROJECT_NAME.xcodeprojnázvem . Pokud použijete .xcworkspace, použijte -workspace místo -project. YOUR_APP_SCHEME by mělo být schéma, které používáte k sestavení aplikace. Ve výchozím nastavení je to obvykle název vaší aplikace.

Xcrun sestaví vaši aplikaci a sadu XCUITest do DerivedData/Build adresáře. Vaše aplikace a sada XCUITest se budou nacházet v adresáři DerivedData/Build/Products/Debug-iphoneos/ .

xcrun xcodebuild -list

Nahrávání testů do App Center

Jakmile je sada testů připravená, nastavte testovací spuštění , aby se testy nahrály a spustily.

Tady je příklad, jak můžete nahrát sadu XCUITest do app Center Test.

# Upload your test to App Center
appcenter test run xcuitest \
  --app "APP_ID" \
  --devices "DEVICE_SET_ID" \
  --test-series "main" \
  --locale "en_US" \
  --build-dir DerivedData/Build/Products/Debug-iphoneos

Konkrétní příklad odesílání testů do App Center najdete v tomto skriptu prostředí, který odesílá testy do App Center.

Další snímky obrazovky a testovací kroky

Na konci každé testovací metody se automaticky pořídí snímek obrazovky pro sestavu testu. Každý snímek obrazovky se zobrazí v sestavě testu App Center jako samostatný testovací krok.

Aktivity

Další popisky a snímky obrazovky pro testovací metodu můžete vygenerovat seskupením testovacího kódu pomocí Activitiesapple . Další informace najdete v tématu Seskupení testů do dílčích kroků s aktivitami.

Fragment kódu pro zabalení testovacího kódu v aktivitě

    [XCTContext
     runActivityNamed:title
     block:^(id<XCTActivity>  _Nonnull activity) {
         // test code
     }];

        XCTContext.runActivity(named: title) { (activity) in
            // test code
        }

Ruční snímky obrazovky

Snímek obrazovky se automaticky vygeneruje pro testovací sestavu na konci každého z nich Activity. Snímek obrazovky můžete nahrát v jiném bodě v rámci objektu Activity tak, že snímek obrazovky vytvoříte pomocí XCUIScreen, pak vytvoříte přílohu s XCTAttachment a přidáte ji do aktuálního Activityobjektu . Tento snímek obrazovky se místo výchozího snímku obrazovky z konce obrazovky zobrazí v sestavách testů app center Activity.

Fragment kódu pro vygenerování a připojení snímku obrazovky v aktivitě

         XCUIScreenshot *screenshot = [[XCUIScreen mainScreen] screenshot];
         XCTAttachment *attachment;
         attachment = [XCTAttachment attachmentWithScreenshot:screenshot];
         [attachment setLifetime:XCTAttachmentLifetimeKeepAlways];
         [activity addAttachment:attachment];
            let screenshot = XCUIScreen.main.screenshot()
            let attachment = XCTAttachment(screenshot: screenshot)
            attachment.lifetime = .keepAlways
            activity.add(attachment)