luispauloportelacoelho / Challenge_QA_Automation

0 stars 0 forks source link

Code Review - Challenge QA Automation OLX #3

Open thiagomarquessp opened 6 years ago

thiagomarquessp commented 6 years ago

@luispauloportelacoelho, primeiro parabéns pela iniciativa de ter submetido para nosso time de QAs. Nosso propósito, e meu pessoal, é de termos a melhor equipe de QAs aqui em Portugal e uma das mais fortes na Europa.

Como falamos, levantei alguns pontos que são importantes para qualquer projeto de automação:

  1. README é talvez o principal meio de comunicação entre tu e aquele que vai ler seu código e nele é necessário ter: a. Descrição do projeto; b. Explicar como montar o ambiente para que o projeto possa ser executado; c. Como executar os testes e o que nele é necessário (dependências).

  2. Drivers dos navegadores podem ser baixados via node e npm, e isso faz com que tu não necessites de passar o caminho do seu driver, e sim, apenas o caminho relativo ou apenas instanciar o driver em questão e explicar que são necessários na montagem do ambiente.

  3. Busca de elementos evitar o padrão copy & paste, principalmente buscando o xpath, para que não tenhamos o mal hábito e para que não apareça algo do tipo '/div[3]/div/div[1]/p[1]/input' no seu elemento, mas que tu possa, mesmo usando xpath, saber identificar no html naquele elemento algum atributo que possa ser único e usá-lo. Busque os elementos e garanta que sejam aqueles que tu realmente vá utilizar. Utilize seletores (Jquery, document.getElementById, etc). Eu utilizo geralmente Jquery e o padrão fica: $('') e entre aspas "." para classes e "#" para id. $x('') é para buscar por xpath.

  4. Sleeps podem ser substituídos por asserts.

Tu esta no caminho certo.

Alguns links legais: https://api.jquery.com/, https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector, https://martinfowler.com/bliki/PageObject.html.

=)

luispauloportelacoelho commented 6 years ago

@thiagomarquessp mesmo muito obrigado pelo feedback, pois sinto que aprendi! Fez a diferença no meu dia. Vou pegar nas tuas notas e vou melhorar o código.

Mais uma vez muito obrigado pela oportunidade =)