Sdílet prostřednictvím


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

Důležité

31. března 2025 je naplánované vyřazení sady Visual Studio App Center. I když můžete Visual Studio App Center dál používat, dokud nebude plně vyřazený, 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 podpory a alternativách.

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

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. Z kořenového adresáře projektu aplikace spusťte jeden z následujících dvou 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_XCODEPROJby měl odkazovat na .xcodeproj soubor s názvem .PROJECT_NAME.xcodeproj Pokud použijete , použijte .xcworkspace-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ání testů do App Center

Jakmile je sada testů připravená, nahrajte a spusťte testy dalším nastavením testovacího spuštění .

Tady je příklad, jak můžete sadu XCUITest nahrát do nástroje 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 odeslá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 pro sestavu testu automaticky vytvoří snímek obrazovky. Každý snímek obrazovky se zobrazí v testovací sestavě 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í Apple Activities. Další informace najdete v tématu Seskupování testů do dílčích kroků s aktivitami.

Fragment kódu pro zabalení testovacího kódu do aktivity

    [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 Activity. Snímek obrazovky můžete nahrát v jiném bodě v rámci snímku Activity obrazovky tak, že pořidíte snímek obrazovky pomocí XCUIScreen, pak vytvoříte přílohu s XCTAttachment a přidáte ho do aktuálního Activity. Tento snímek obrazovky se zobrazí v testovacích sestavách App Center místo výchozího snímku obrazovky na konci .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)