Duvidas sobre CI | Agile Testers
Duvidas sobre CI
deyvisrf editado por último por
Ola amigos!!
Como inserir os testes automatizados no Jenkins ou Circle CI sendo que o repositório onde ficam os testes é o mesmo onde é desenvolvido o app?
É necessário um repositório só para automação dos testes?
Repositorios estão no VSTS.
Não faz diferença, o servidor de CI vai baixar esse repositório e, nas configurações, vc vai dizer pra ele executar um comando que rode os testes.
Rafa editado por último por @deyvisrf
@deyvisrf Não é necessário criar outro repositório para rodar os seus testes em integração continua, isto pode até dificultar o processo para você.
Quando você opta por usar alguma ferramenta de CI (CircleCI, por exemplo), você precisa integrar o seu projeto com a ferramenta (normalmente usando github ou bitbucket), então você apenas cria uma pasta tests no mesmo repositório da aplicação, aonde vai conter todos os seus testes de API ou UI e na própria ferramenta de integração continua você usa comandos apontando para que os testes rodem a partir da pasta tests que você criou. Veja um exemplo prático:
Aqui você cria a pasta
Normalmente ferramentas de integração continua te dão a liberdade de configurar o servidor por meio de um arquivo, no circleCI este arquivo se chama circle.yml, então aqui você pode apontar os seus testes neste arquivo. No meu caso, eu estou pedindo para que o servidor rode os testes a partir do arquivo conf.js que está dentro do meu projeto
Veja que meu arquivo conf.js está apontando para aquela pasta tests que criamos anteriormente
Após estas configurações no seu projeto e também na ferramenta de integração continua, para cada pull request que você ou o desenvolvedor dá, irá rodar estes testes automaticamente, como você pode ver aqui:
Espero que você tenha entendido, caso contrário, poste suas dúvidas aqui ;)
deyvisrf editado por último por @Rafa
@rafa Show!!! bem bacana!!
Estou usando o XCTest do Xcode. Como poderia chamar os testes por Shell?
No caso do Circle CI só é possivel utilizar com github ou bitbucket certo?
Meu repositório esta no VSTS. como poderei adicionar o projeto? (no Circle CI ou jenkins)
Ramses Saccol de Almeida MVP editado por último por Ramses Saccol de Almeida
O circle CI tem uma documentação bem boa, dá uma olhada:
https://circleci.com/docs/1.0/ios-getting-started/
E o jenkins tem um plugin para iOS:
https://wiki.jenkins.io/display/JENKINS/Xcode+Plugin
Vale também uma olhada no GoCD (já que está estudando a possibilidade de usar o Jenkins)
https://www.gocd.org/
deyvisrf editado por último por @Ramses Saccol de Almeida
@ramses-saccol-de-almeida muito bom mesmo!! Já dei uma olhada e consegui configurar algumas coisas.
Gostaria de saber como posso chamar a execução dos testes de UI do Xcode por linha de comando? Assim posso estar os parâmetros no jenkins.
Enquanto ao Circule CI, meu repositório está em um gitlab corporativo… Não consigo adicioná-lo por não estar no github.
elyssonmr editado por último por
Aqui na empresa fazemos igual o pessoal sugeriu em cima. A única diferença é que usamos o GitLab e para rodar nossos testes levantamos um docker com tudo que precisamos, falta só rodar os testes de BDD dentro do CI, o container de exemplo já conseguimos rodar (ainda não rodamos todos od BDDs por falta de sentar e fazer).
Cara, não tem mistério rodar por linha de comando. A apple fornece documentação para isso ( graças ao command tool isso é possível)
Saca só: https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/testing_with_xcode/chapters/08-automation.html