Este guia descreve como preparar um XCTest para teste no Firebase Test Lab.
Etapa 1 : configurar o local dos dados derivados do seu projeto
O Xcode coloca artefatos iOS compilados, incluindo quaisquer testes que você cria, em um diretório de Dados Derivados. É possível manter o local padrão para esse diretório, se desejar, mas geralmente é útil escolher um local mais facilmente acessível para os arquivos, especialmente se você executar testes com o Test Lab com frequência:
- Abra seu projeto no Xcode.
- Na barra de menus do macOS, selecione Arquivo > Configurações do projeto...
- Altere o menu suspenso Dados derivados de Local padrão para Local personalizado .
- No campo abaixo do menu suspenso, selecione um local para o Xcode enviar seus testes. (Este é o seu
FOLDER_WITH_TEST_OUTPUT )
Etapa 2 : Crie um arquivo de teste genérico
O Test Lab executa testes de unidade e testes de UI usando a estrutura XCTest . Para executar os XCTests do seu aplicativo em dispositivos Test Lab, crie-o para teste em um dispositivo iOS genérico:
- No menu suspenso do dispositivo na parte superior da janela do espaço de trabalho do Xcode, selecione Dispositivo iOS genérico .
- Na barra de menus do macOS, selecione Produto > Construir para > Teste .
Como alternativa, você pode construir seu XCTest a partir da linha de comando. Use o seguinte comando em um terminal:
xcodebuild -projectPATH/TO/YOUR_WORKSPACE /YOUR_PROJECT .xcodeproj \ -schemeYOUR_SCHEME \ -derivedDataPathFOLDER_WITH_TEST_OUTPUT \ -sdk iphoneos build-for-testing
xcodebuild -workspacePATH/TO/YOUR_WORKSPACE .xcworkspace \ -schemeYOUR_SCHEME \ -derivedDataPathFOLDER_WITH_TEST_OUTPUT \ -sdk iphoneos build-for-testing
Etapa 3 : assine seu teste e verifique
Certifique-se de que todos os artefatos no aplicativo e no teste estejam assinados. Por exemplo, você pode fazer isso por meio do Xcode especificando configurações de assinatura, como perfil de provisionamento e identidade. Para obter mais informações, consulte Assinatura de código Apple .
Verifique a assinatura do aplicativo executando
codesign --verify --deep --verbose /path/to/MyApp.app
onde "MyApp" é o nome do aplicativo dentro da pasta descompactada. Isso varia para cada projeto. A saída esperada éMyApp.app: valid on disk
.Se você estiver executando um XCUITest, precisará verificar o teste e o executor executando
codesign --verify --deep --verbose /path/to/MyTest-Runner.app
onde "MyTest" é o nome do executor dentro do pasta descompactada. Isso varia para cada projeto. A saída esperada éMyTest-Runner.app: valid on disk
.
Etapa 4 : empacotar seu aplicativo e testar o upload
Depois que seu teste for compilado com sucesso, compacte-o para carregá-lo no Test Lab:
cd
FOLDER_WITH_TEST_OUTPUT /Build/Products : \ zip -r MyTests.zip Debug-iphoneosYOUR_SCHEME _iphoneosDEPLOYMENT_TARGET -arm64.xctestrun
Você também pode empacotar seu teste compactando os arquivos de teste manualmente:
Abra o Finder e navegue até
.FOLDER_WITH_TEST_OUTPUT Abra a pasta que tem o nome do seu projeto como prefixo e navegue até a pasta
Build/Products
dentro dela.Selecione as pastas
Debug-iphoneos
e
e compacte-as.YOUR_SCHEME _iphoneosDEPLOYMENT_TARGET -arm64.xctestrun
Etapa 5 : (opcional) execute seu teste localmente
Antes de executar seu teste com o Test Lab, você pode executá-lo localmente com um dispositivo conectado por USB para verificar a qualidade de seu comportamento:
xcodebuild test-without-building \ -xctestrun "Derived Data/Build/Products/YOUR_SCHEME .xctestrun" \ -destination id=your-phone-id
Próximos passos
Faça upload e execute seu teste no console do Firebase ou na CLI gcloud .