Duvidas sobre CI

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.

@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:

  1. Aqui você cria a pasta
    0_1505222949325_fa5091a5-7545-444b-8963-ab2ba4a3763d-image.png

  2. 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
    0_1505223284162_c56c7d43-ee4b-4766-a62a-498ddcd66055-image.png

  3. Veja que meu arquivo conf.js está apontando para aquela pasta tests que criamos anteriormente
    0_1505223379184_c24c0794-318a-4165-8415-1ebdc985dd8d-image.png

  4. 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:
    0_1505223545417_61f97457-389b-44b3-8c09-fd0eb502cc8b-image.png

Espero que você tenha entendido, caso contrário, poste suas dúvidas aqui ;)

@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)

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/

@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.

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

Procura também por fastlane… Vai ajudar no processo se for usar CI…

Ps: Mais um link “namizade” : http://www.mokacoding.com/blog/running-tests-from-the-terminal/

Log in to reply

Looks like your connection to Agile Testers was lost, please wait while we try to reconnect.