Guia do Demoiselle ?· Demoiselle Behave vi O Runner é responsável pela abstração do componente…

  • Published on
    10-Nov-2018

  • View
    212

  • Download
    0

Embed Size (px)

Transcript

  • Guia do Demoiselle Behave

    Demoiselle Behave

  • iii

    Demoiselle Behave ................................................................................................................. v

    1. Release Notes ................................................................................................................... 1

    2. Roteiro Rpido .................................................................................................................. 9

    2.1. Pr Requisitos de Uso ............................................................................................... 9

    2.2. Configurando o Arqutipo ........................................................................................... 9

    2.3. Criao do Projeto .................................................................................................. 10

    2.4. Estrutura de diretrios .............................................................................................. 12

    2.5. Executando Teste ................................................................................................... 13

    3. Mapeamento de Classes ................................................................................................... 17

    3.1. Capturando os objetos da tela a serem utilizados ............................................................. 17

    3.2. Classe de Mapeamento ............................................................................................ 18

    3.3. Mapeamento Parametrizvel ...................................................................................... 20

    3.4. Composio de Telas (Embedded Screens) ................................................................... 21

    3.5. Sistemas com AJAX (Componente Loading) ................................................................... 21

    4. Como criar uma histria .................................................................................................... 23

    4.1. Conceito ............................................................................................................... 23

    4.2. Frases pr-definidas pelo framework ............................................................................ 23

    4.3. Frases pr-definidas pelo framework para manipulao de Grids .......................................... 25

    4.4. Escrevendo um cenrio ............................................................................................ 25

    4.5. Parametrizando os cenrios ....................................................................................... 26

    4.6. Reusando os cenrios .............................................................................................. 26

    4.7. Reusando os cenrios em outras histrias ..................................................................... 26

    4.8. Plugin do JBehave para Eclipse .................................................................................. 27

    5. Configuraes do Behave .................................................................................................. 29

    5.1. Configuraes do Parser ........................................................................................... 29

    5.2. Configuraes do Runner .......................................................................................... 29

    5.3. Configuraes do Integration ...................................................................................... 30

    5.4. Configuraes do Integration - Autenticator ALM .............................................................. 31

    6. Escopo de Histrias e Passos ............................................................................................ 33

    6.1. DBehave Legado .................................................................................................... 33

    6.2. DBehave com Suporte Escopos ............................................................................... 33

    7. Testando aplicaes Desktop ............................................................................................. 35

    7.1. Iniciando um projeto utilizando o Arqutipo (Modelo de Projeto) ........................................... 35

    7.2. Iniciando um projeto utilizando um projeto existente (Projeto WebDriver) ................................. 35

    7.3. Configuraes Desktop ............................................................................................. 35

    7.4. Mapeamentos ........................................................................................................ 35

    8. Configuraes dos Testes ................................................................................................. 37

    8.1. Configurao de Passos (Steps) ................................................................................. 37

    8.2. Configurao de Histrias e Cenrios ........................................................................... 37

    9. Execuo de Testes ......................................................................................................... 39

    9.1. Execuo com Ghost Driver (Funcionalidade Experimental) ................................................ 39

    9.2. Execuo Paralela ................................................................................................... 39

    9.3. Modo Background ................................................................................................... 40

    9.4. Integrao Contnua ................................................................................................. 41

    9.5. Testes Remotos ..................................................................................................... 42

    9.6. Relatrios JBehave .................................................................................................. 43

    10. Conjunto de Dados ......................................................................................................... 47

    10.1. Conceito ............................................................................................................. 47

    10.2. Criao do XML de Dados ....................................................................................... 47

    10.3. Configurao do Data Provider .................................................................................. 47

    10.4. Criao da Histria ................................................................................................ 48

    11. Testes de Regresso de Layout ........................................................................................ 49

    11.1. Conceito ............................................................................................................. 49

  • Guia do Demoiselle Behave

    iv

    11.2. Pr Requisitos ...................................................................................................... 49

    11.2.1. Java ........................................................................................................ 49

    11.2.2. Image Magick ............................................................................................. 49

    11.2.3. Projeto dbehave .......................................................................................... 50

    11.2.4. Maven ...................................................................................................... 50

    11.3. Configurao do Projeto dbehave .............................................................................. 50

    11.3.1. Configuraes Bsicas do pom.xml .................................................................. 50

    11.3.2. Configuraes do behave.properties ................................................................. 51

    11.3.3. Repositrio Local de Imagens ......................................................................... 53

    11.4. Pontos de Comparao ........................................................................................... 53

    11.5. Rodando o Teste de Regresso ................................................................................ 53

    11.6. Relatrio Gerado ................................................................................................... 54

    12. Colaborao .................................................................................................................. 55

    12.1. Templates de Codificao ........................................................................................ 55

  • v

    Demoiselle Behave

    Behavior Driven Development (BDD) uma tcnica desenvolvida por Dan North, em 2003, com o objetivo de facilitar

    a colaborao entre desenvolvedores, setores de qualidade e o cliente, em um projeto de software. Parte do princpio

    de que especificando histrias de usurios, em um formato adequado, elas poderiam ser utilizadas como requisito

    e como artefato de entrada para testes automatizados. Ela faz uso de uma linguagem ubqua, a qual permite que

    os testes de aceitao sejam escritos em linguagem mais prxima da de negcio.

    Os testes descritos so interpretados por ferramentas especializadas, que exercitam o cdigo do sistema, para

    demonstrar se o comportamento esperado foi alcanado. As prticas do BDD incluem:

    1. Envolver os stakeholders do projeto (Wikipedia)

    2. Usar derivao por exemplos para descrever o comportamento de uma aplicao ou de unidades de cdigo

    3. Automatizar os exemplos para prover feedback rpido e testes de regresso;

    4. Usar mocks para auxiliar na colaborao entre mdulos e cdigos que ainda no foram escritos

    O Demoisele-Behave, comumente chamado de dbehave, um framework que permite aos usurios automatizar

    testes utilizando recursos de BDD.

    A aplicao apresenta quatro mdulos principais: Core, Parser, Runner e Integration. O Core responsvel pelas

    principais interfaces do framework, sendo a classe Controller responsvel pela orquestrao das informaes entre

    os outros 3 mdulos.

    Arquitetura da ferramenta Demoiselle-Behave.

    O Parser responsvel pela abstrao do componente que transformar a histria em cdigo Java, para enviar ao

    Runner por meio de sentenas padres ou especficas de cada projeto.

    Modelo de Funcionamento do Parser.

  • Demoiselle Behave

    vi

    O Runner responsvel pela abstrao do componente que far as manipulaes de tela, como o Selenium ou at

    mesmo diretamente o JUnit. O mdulo Integration responsvel pela abstrao do componente que ir fazer as

    integraes entre a soluo e as ferramentas externas da empresa como o ALM (RQM). O framework faz com que

    histrias escritas em TXT sejam enviadas ao mdulo Parser e, posteriormente, para o Runner, responsvel por

    interagir com um navegador Web ou uma tela Desktop, utilizando o framework Selenium ou Fest, respectivamente.

    Funcionamento do Demoiselle-Behave

    A ferramenta deve permitir que projetistas de testes escrevam histrias que possam ser lidas e acionar scripts de

    testes automatizados, criados por desenvolvedores de teste.

    Modelo de Uso do Demoiselle-Behave

  • 1

    Release Notes

    Dica

    Para reportar problemas, abrir discusses e buscar elucidar dvidas faa uso das Issues do

    GitHub - https://github.com/demoiselle/behave/issues.

    Verso 1.5.3

    [Melhoria] Nova configurao para ativar e desativar logs estatsticos de execuo [https://github.com/demoiselle/

    behave/issues/465]

    [Melhoria] Melhoria na implementao da interface Select para Desktop [https://github.com/demoiselle/behave/

    issues/457]

    [Melhoria] Melhoria no tratamento de elementos visiveis e clicveis [https://github.com/demoiselle/behave/

    issues/454]

    [Melhoria] Melhoria na velocidade de execuo de testes [https://github.com/demoiselle/behave/issues/447]

    [Erro] Cenrios no eram de presentes em histrias de reuso [https://github.com/demoiselle/behave/issues/446]

    [Erro] Correo do modo legado das funcionalidades de adio de histrias [https://github.com/demoiselle/

    behave/issues/443]

    Verso 1.5.2

    [Melhoria] Melhorias nas classes DataProviderSteps e WebAutoComplete [https://github.com/demoiselle/behave/

    issues/442]

    [Melhoria] Mais melhorias gerais nos mtodos de espera e busca de elementos e textos na tela [https://

    github.com/demoiselle/behave/issues/435]

    [Melhoria] Permitir passagem de argumentos de linha de comando para o binrio [https://github.com/demoiselle/

    behave/issues/428]

    [Melhoria] Adicionada personalizao de profile para RemoteWeb [https://github.com/demoiselle/behave/

    issues/415]

    [Melhoria] Permite desabilitar os screenshots com a propriedade behave.parser.screenshot.enabled [https://

    github.com/demoiselle/behave/issues/410]

    [Melhoria] Agora quando um passo esta pendente o teste falha [https://github.com/demoiselle/behave/issues/409]

    [Melhoria] Por padro agora tambm gerado o formato XML do JBehave [https://github.com/demoiselle/behave/

    issues/407]

    [Melhoria] Diversas melhorias para o funcionamento do Fest para Java Desktop [https://github.com/demoiselle/

    behave/issues/404]

    [Erro] Ajustes para o funcionamento do GhostDriver [https://github.com/demoiselle/behave/issues/403]

    [Erro] Ajustes para funcionar o Google Chrome 34 [https://github.com/demoiselle/behave/issues/399]

    [Melhoria] Nova funcionalidade de escopo de Passos e Histrias (Verificar documentao) [https://github.com/

    demoiselle/behave/issues/397]

    https://github.com/demoiselle/behave/issueshttps://github.com/demoiselle/behave/issues/465https://github.com/demoiselle/behave/issues/465https://github.com/demoiselle/behave/issues/465https://github.com/demoiselle/behave/issues/457https://github.com/demoiselle/behave/issues/457https://github.com/demoiselle/behave/issues/457https://github.com/demoiselle/behave/issues/454https://github.com/demoiselle/behave/issues/454https://github.com/demoiselle/behave/issues/454https://github.com/demoiselle/behave/issues/447https://github.com/demoiselle/behave/issues/447https://github.com/demoiselle/behave/issues/446https://github.com/demoiselle/behave/issues/446https://github.com/demoiselle/behave/issues/443https://github.com/demoiselle/behave/issues/443https://github.com/demoiselle/behave/issues/443https://github.com/demoiselle/behave/issues/442https://github.com/demoiselle/behave/issues/442https://github.com/demoiselle/behave/issues/442https://github.com/demoiselle/behave/issues/435https://github.com/demoiselle/behave/issues/435https://github.com/demoiselle/behave/issues/435https://github.com/demoiselle/behave/issues/428https://github.com/demoiselle/behave/issues/428https://github.com/demoiselle/behave/issues/428https://github.com/demoiselle/behave/issues/415https://github.com/demoiselle/behave/issues/415https://github.com/demoiselle/behave/issues/415https://github.com/demoiselle/behave/issues/410https://github.com/demoiselle/behave/issues/410https://github.com/demoiselle/behave/issues/410https://github.com/demoiselle/behave/issues/409https://github.com/demoiselle/behave/issues/409https://github.com/demoiselle/behave/issues/407https://github.com/demoiselle/behave/issues/407https://github.com/demoiselle/behave/issues/407https://github.com/demoiselle/behave/issues/404https://github.com/demoiselle/behave/issues/404https://github.com/demoiselle/behave/issues/404https://github.com/demoiselle/behave/issues/403https://github.com/demoiselle/behave/iss...