Dúvida de massa de testes usando Protractor

Pessoal,

Estou estudando o Protractor para testes de UI e fiquei com uma dúvida… No caso de massa de testes diferentes para ambientes diferentes: dev, qa, préprod, onde configuro? Por exemplo, em java, poderia ser em arquivo de properties. Porém neste caso, não achei como. Poderiam me dar um help?

Obrigada.

@bernadete
O que você poderia fazer era ter um arquivo conf.js para cada ambiente, e dentro de cada você especifica qual spec/suite de teste quer rodar de acordo com sua necessidade.
Para ambiente de qa você teria o qa.conf.js, para o de dev seria dev.conf.js, aí na execução você selecionaria qual conf iria utilizar, por exemplo:

protractor qa.conf.js

@Paulo-Gonçalves Mas a massa de testes, os dados, eu deixaria dentro do arquivo conf? Não seria interessante então, criar um arquivo somente de massa de teste, por exemplo, e chama-lo no arquivo conf? Não sei se é isso que quis dizer…

Atualmente eu tenho criado uma pasta chamada DATA e dentro dela, eu coloco arquivos com objetos/chave/valor.

Veja um exemplo aqui:

0_1502306811329_objeto.png

Depois disso, eu apenas chamo esse objeto nas funções que eu gostaria de usá-lo.

Nos projetos que temos usamos o gulp para compilar o código js, já que escrevemos em typescript. Então aproveitamos ele também para gerar o arquivo conf conforme o ambiente em uma etapa de ‘pré-build’.
Assim cada ambiente tem seus arquivos de dados e para executar o teste pode executar os comandos de compilação e teste com um “gulp --conf tst && protractor dist/conf.js”.

0_1502311713797_build.PNG

Não acho uma boa idéia ter diferentes conf.js para diferentes ambientes, isto é um anti-padrão. Vc pode injetar os dados que precisa para os testes usando a função onPrepare, por exemplo.

Eu li isso no seu livro @Walmyr … rs
Não criar vários arquivos de conf. Na função onPrepare, acho que não consigo… Terei muita massa diferente, muitos dados.

Vc poderia simplesmente usar alguma API da aplicação e ter os dados em um arquivo separado, o qual será consumido pela API e chamada pelo onPrepare. Seria legal conversar com algum dev do time para lhe ajudar com isso, pois eles saberão qual a melhor forma de preparar os dados para os testes, quem sabe, visto que conhecem a aplicação. Recomendo falar com algum backend developer no teu time

@Walmyr , aproveitando a oportunidade. Qual o nome do livro? Hoje eu trabalho com Protractor.js e tudo o que aprendi foi na raça… kkk… Gostaria de conhecer outras formas de fazer o que já faço. Obrigado!

Oops! Diogo errado. @DiogoMiranda

como o @Walmyr comentou, não devemos criar arquivos conf diferentes.
Minha sugestão foi de, em uma etapa anterior a execução (pretest, prebuild, etc), determinar o ambiente conforme os parâmetros enviados pelo CLI e então gerar o arquivo conf dinamicamente. Acredito ser mais simples para criar posteriormente execuções em um CI sem mexer no código, passando apenas o parâmetro do ambiente que deseja executar.

Log in to reply

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