Skip to content

Latest commit

 

History

History
60 lines (47 loc) · 2.86 KB

11 - Checkpoints.md

File metadata and controls

60 lines (47 loc) · 2.86 KB

No OpenTest, quando um teste apresenta alguma falha na execução, o teste é interrompido. Muitas vezes esse comportamento é benáfico. No entanto, quando uma etapa de teste não ageta as etapas seguintes, às vezes é mais prático continuar a execução do teste, realizando mais verificações de uma vez e minimizando o tempo de execução e conservando os recursos computacionis. Isso também pode ajudar na solução de problemas de etapas de teste com falha, pois várias falhas serão mostradas em um único relatório de execução de teste;

A funcionalidade descita acima pode ser alcançada usando o recurso "pontos de verificação"(checkpoints). Quualquer ação de teste pode ser transformada em um "checkpoint" passando como argumento a variável global $checkpoint com o valor true:

# This verifies the element's visibility, but doesn't
# fail the test right away if the step fails

- description: Verifique a visibilidade da caixa de consulta
  action: org.getopentest.selenium.AssertElementVisible
  args:
    locator: { name: q }
    $checkpoint: true

Por exemplo, se considerar um teste que navega par a página inicial do GitHub e verifica que:

  • A caixa de texto de pesquisa está visivel
  • A caixa de texto de pesquisa está vazia
  • O menu "Explorer" está visivel

Marcaremos as três etapas de verificação como pontos de verificação, pois não queremos que caso ocorra uma falha, e que a execução do teste seja interrompida. Observe o argumento $checkpoint que adicionamos a essas ações de teste:

description: Procure o repositório "react" no site do GitHub
actors:
  - actor: WEB
    segments:
      - segment: 1
        actions:
          - description: Navegando até a página inicial do GitHub
            action: org.getopentest.selenium.NavigateTo
            args:
              url: https://github.com

          - description: Verifique se a textbox de pesquisa está visível
            action: org.getopentest.selenium.AssertElementVisible
            args:
              locator: { name: q }
              $checkpoint: true

          - description: Verifique se a textbox de pesquisa está vazia
            action: org.getopentest.selenium.AssertElementText
            args:
              locator: { name: q }
              text: ""
              $checkpoint: true

          - description: Verifique se o menu "Explore" está visível
            action: org.getopentest.selenium.AssertElementVisible
            args:
              locator: { css: "div.HeaderMenu a[href='/explore']" }
              $checkpoint: true

Se alterarmos as três etapas de verificação para fazê-las falhar, utilizando locators inexistentes, o teste ainda continuará até o final, mas ainda será marcado como com falha e o relatório de execução ficará assim:

report