Preparando testes XCUITest para upload
Importante
O Visual Studio App Center está programado para ser desativado em 31 de março de 2025. Embora você possa continuar a usar o Visual Studio App Center até que ele seja totalmente desativado, há várias alternativas recomendadas para as quais você pode considerar migrar.
Este guia fornece instruções para preparar testes XCUITest para carregar no Teste do App Center.
Requisitos do serviço de teste
- Xcode >= 9.4.1
- iOS >= 9.0
Limitações do serviço de teste
- Somente o aplicativo carregado pode ser testado, não as interações por meio de aplicativos ou do restante do sistema.
Construir para teste
Para executar um teste no App Center, você precisa criar seu aplicativo e um pacote XCUITest. Execute um dos dois comandos a seguir na raiz do diretório do projeto do aplicativo:
# 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
deve apontar para um .xcodeproj
arquivo, provavelmente intitulado PROJECT_NAME.xcodeproj
. Se você usar um .xcworkspace
, use -workspace
em vez de -project
. YOUR_APP_SCHEME
deve ser o esquema que você usa para construir seu aplicativo. Por padrão, geralmente é o nome do seu aplicativo.
O xcrun criará seu aplicativo e um pacote XCUITest no DerivedData/Build
diretório. Seu aplicativo e o pacote XCUITest estarão localizados no DerivedData/Build/Products/Debug-iphoneos/
diretório.
xcrun xcodebuild -list
Carregando testes no App Center
Depois que um conjunto de testes for preparado, configure uma execução de teste para carregar e executar seus testes.
Aqui está um exemplo de como você pode carregar seu pacote XCUITest para o Teste do 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
Para obter um exemplo concreto de envio de testes para o App Center, consulte este script de shell que envia testes para o App Center.
Capturas de tela adicionais e etapas de teste
No final de cada método de teste, uma captura de tela é feita automaticamente para o relatório de teste. Cada captura de tela é exibida no Relatório de Teste do App Center como uma Etapa de Teste separada.
Atividades
Você pode gerar rótulos e capturas de tela adicionais para um método de teste agrupando seu código de teste usando o Activities
. Para obter mais informações, consulte Agrupando testes em subetapas com atividades.
Snippet de código para encapsular o código de teste em uma atividade
[XCTContext
runActivityNamed:title
block:^(id<XCTActivity> _Nonnull activity) {
// test code
}];
XCTContext.runActivity(named: title) { (activity) in
// test code
}
Capturas de tela manuais
Uma captura de tela é gerada automaticamente para o relatório de teste no final de cada Activity
. Você pode gravar uma captura de tela em um ponto diferente dentro de um Activity
fazendo uma captura de tela usando XCUIScreen e, em seguida, criando um anexo com XCTAttachment e adicionando-o ao .Activity
Essa captura de tela será exibida nos Relatórios de Teste do App Center em vez da captura de tela padrão do final do Activity
.
Snippet de código para gerar e anexar uma captura de tela em uma atividade
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)