Preparazione dei test XCUITest per il caricamento
Importante
Visual Studio App Center è pianificato per il ritiro il 31 marzo 2025. Anche se è possibile continuare a usare Visual Studio App Center fino a quando non viene completamente ritirato, esistono diverse alternative consigliate a cui è possibile considerare la migrazione.
Altre informazioni sulle sequenze temporali e sulle alternative di supporto.
Questa guida fornisce istruzioni per la preparazione dei test XCUITest per il caricamento nel test di App Center.
Requisiti del servizio di test
- Xcode >= 9.4.1
- iOS >= 9.0
Limitazioni del servizio di test
- Solo l'app caricata può essere testata, non le interazioni tramite app o il resto del sistema.
Compilazione per il test
Per eseguire un test in App Center, è necessario compilare l'applicazione e un bundle XCUITest. Eseguire uno dei due comandi seguenti dalla radice della directory del progetto dell'applicazione:
# 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
dovrebbe puntare a un .xcodeproj
file, probabilmente denominato PROJECT_NAME.xcodeproj
. Se si usa un .xcworkspace
oggetto , usare -workspace
anziché -project
. YOUR_APP_SCHEME
deve essere lo schema usato per compilare l'applicazione. Per impostazione predefinita, è in genere il nome dell'applicazione.
L'xcrun compilerà l'app e un bundle XCUITest nella DerivedData/Build
directory. L'app e il bundle XCUITest si troveranno nella DerivedData/Build/Products/Debug-iphoneos/
directory.
xcrun xcodebuild -list
Caricamento di test in App Center
Dopo aver preparato un gruppo di test, configurare successivamente un'esecuzione di test per caricare ed eseguire i test.
Ecco un esempio di come caricare la suite XCUITest nel test di App Center.
# 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
Per un esempio concreto di invio di test ad App Center, vedere questo script della shell che invia test ad App Center.
Screenshot aggiuntivi e passaggi di test
Alla fine di ogni metodo di test viene acquisito automaticamente uno screenshot per il report di test. Ogni screenshot viene visualizzato nel report di test di App Center come passaggio di test separato.
Attività
È possibile generare etichette e screenshot aggiuntivi per un metodo di test raggruppando il codice di test usando apple.Activities
Per altre informazioni, vedere Raggruppamento di test in passaggi secondari con le attività.
Frammento di codice per eseguire il wrapping del codice di test in un'attività
[XCTContext
runActivityNamed:title
block:^(id<XCTActivity> _Nonnull activity) {
// test code
}];
XCTContext.runActivity(named: title) { (activity) in
// test code
}
Screenshot manuali
Uno screenshot viene generato automaticamente per il report di test alla fine di ogni Activity
. È possibile registrare uno screenshot in un punto diverso all'interno di un Activity
oggetto creando uno screenshot usando XCUIScreen, quindi creando un allegato con XCTAttachment e aggiungendolo all'oggetto corrente Activity
. Questo screenshot verrà visualizzato nei report di test di App Center anziché nello screenshot predefinito dalla fine di Activity
.
Frammento di codice per generare e allegare uno screenshot in un'attività
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)