0:00
/
0:00
Transcrição

Como criar Page Objects no Robot Framework?

Nesse vídeo, vamos ver como podemos criar Page Objects para projetos de automação Web, utilizando o Robot Framework.

Veja também as videoaulas do curso de Testes de API com Robot Framework.

Toda sexta-feira, novas videoaulas.

Testes de API

Testes de API com Robot Framework | Episódio 0 - Introdução

Testes de API com Robot Framework | Episódio 0 - Introdução

Sejam bem-vindos à nova série de vídeos da Robot Courses, dessa vez iremos nos aprofundar nos testes de API.


Abaixo, você vê um breve resumo de tudo que foi visto no decorrer deste vídeo.

Esse resumo foi feito por IA com base na transcrição do vídeo e revisada por mim. Comente se esse resumo te ajudou em algo para decidir se trago ou não nos próximos episódios

Neste vídeo, o tema central é o uso de Page Objects no Robot Framework.

No Robot Framework, os Page Objects são representados por User Keywords. Essa é a forma como o padrão se adapta ao modelo keyword-driven.


Definindo o fluxo de teste

Para exemplificar o uso dos Page Objects, o vídeo utiliza o site automationtest.shop. O fluxo definido para o teste é simples, mas percorre várias páginas para demonstrar a utilidade do padrão:

  1. Acessar a Home e clicar no botão Sign In.

  2. Realizar login na página Authentication.

  3. Ser redirecionado à página My Account e voltar à Home clicando no logo.

  4. Selecionar um produto na Home.

  5. Na página de detalhes, aumentar a quantidade para 6 unidades e adicionar ao carrinho.

  6. Validar a mensagem de sucesso exibida no Cart Layer.

Esse roteiro será a base para aplicar o Page Objects.


Estrutura inicial sem Page Objects

Antes da refatoração, o teste é escrito apenas com SeleniumLibrary e suas keywords.

A execução funciona corretamente, mas o código é repetitivo e não traz modularidade — algo inviável para projetos maiores. Daí surge a necessidade de aplicar o padrão Page Objects.


Criando a estrutura de Page Objects

Por convenção, todos os Page Objects ficam dentro da pasta resource/pages. Cada página recebe um arquivo .resource com sufixo _page, como home_page.resource.

Nesse arquivo, são criadas keywords que representam as ações da página. Por exemplo:

  • Clicar no botão login.

  • Selecionar um produto.

Os locators ficam em arquivos separados, nomeados conforme a página, como home_locator.yaml. Essa abordagem torna os arquivos mais limpos e facilita a manutenção.


Implementando as demais páginas

O mesmo processo é repetido para as páginas seguintes:

  • Authentication: ações de login com inputs e botão.

  • My Account: ação para retornar à Home.

  • Product Detail: ações de incremento de quantidade e adição ao carrinho.

  • Cart Layer: validação da mensagem de sucesso.

Cada Page Object encapsula suas ações e importa tanto a SeleniumLibrary quanto seus arquivos de variáveis.


Criando a suíte de testes com Page Objects

Com os arquivos prontos, é criada uma nova suíte de testes, permitindo comparar a versão com Page Objects e a versão sem.

O cenário segue os mesmos passos definidos anteriormente: abrir o navegador, clicar em login, autenticar, voltar à Home, selecionar produto, adicionar ao carrinho e validar a mensagem.

A grande diferença está na legibilidade: o caso de teste fica muito mais claro, chamando diretamente as keywords que representam cada ação.


Vantagens do Page Object no Robot Framework

Na prática, o fluxo de execução não muda: o teste funciona da mesma forma com ou sem Page Objects. A diferença está na estrutura interna do projeto.

Com Page Objects, o código fica mais limpo, organizado e modular. Alterar ou evoluir uma ação se torna muito mais simples, bastando mexer apenas no arquivo da página correspondente. Isso reduz repetição e melhora a escalabilidade do projeto.

Discussão sobre este vídeo

Avatar de User