Tecnologia

Testes em paralelo com XCTestUI e Fastlane

Por: , março 1, 2018

Opa!!! blz??
Uma perguntinha marota:
Quanto tempo demora a execução dos seus testes de UI?
Em geral são testes que demoram muuuuuuuuiiiiiiitooooooooooo (dependendo do seu projeto, de quantos cenários você tem, etc). E foi pensando nisso que comecei a pesquisar algumas maneiras de fazer com que meus testes de UI fossem rápidos ou pelo menos que caíssem pela metade do tempo. Então, Eureka!!! Descobri que era possível executar meus testes em paralelo, ou seja, rodar os testes em vários simuladores ao mesmo tempo!!! =)
Irei dividir esse artigo em duas partes OK?                                                                                                                                                                                                                                                                                Parte 1 – Rodar o mesmo teste em vários simuladores (importante para validar layout)
Parte 2 – Dividir os testes e rodar em vários simuladores

QA, já ouviu falar do fastlane?

“fastlane é uma plataforma de código aberto destinada a simplificar a implantação de Android e iOS. O fastlane permite automatizar todos os aspectos do seu desenvolvimento e liberar o fluxo de trabalho”
Ele tem inúmeras vantagens e você pode dar uma olhada depois.
Existem algumas outras formas de rodar os testes em paralelo, mas foi essa que (na minha opinião) achei mais organizada, com relatórios e tudo que o QA tem direito.

Preparando o ambiente

Vou me basear no meu projeto do GitHub blz?
Dá uma olhada AQUI depois.
Estou usando um Mac OS.

  • Com a versão do Ruby mais recente, execute no terminal:

sudo gem install fastlane

  • Navegue até o diretório do seu projeto e execute:

fastlane init

  • Procure por pelo arquivo fastlane/Fastfile e abra-o com Atom, Sublime Text ou outra IDE de sua preferência

 

  • Vamos usar o scan para rodar os testes em múltiplus simuladores

scan(
 workspace: “Example.xcworkspace”,
 devices: [“iPhone 6s”, “iPad Air”]
)

Ficará assim:
Captura de Tela 2018-02-27 às 08.34.29

Run tests

E finalmente execute os testes nos simuladores iPhone 5s, iPhone 6 e iPhone 7 com:
fastlane ui_test
opa2nmnmnmmnm
Obs.: Execute esse comando dentro do diretório do seu projeto.
No nosso caso em /app/eats

  • Receba nosso conteúdo em primeira mão.