Skip to content

Commit 2fff018

Browse files
author
Sthefany Albuquerque
authored
Merge pull request #1 from sthefanyricardo/dev to sthefanyricardo/main
Início do curso de Robot Framework com Playwright e GitHub Actions - Adicionado arquivos de exemplos e os resultados das execuções dos testes e atualização do README.md
2 parents afe29c0 + 5c105a2 commit 2fff018

21 files changed

+6786
-52
lines changed

README.md

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
1-
# Automação de Testes Web com Robot Framework + Playwright (Library Browser) + Execução no GitHub Actions
1+
# Automação de Testes Web com Robot Framework + Playwright (Library Browser) + Execução no GitHub Actions - ![Status](https://img.shields.io/badge/Status-Em%20Andamento-yellow)
22

33
Este repositório contém os arquivos de exemplos e desafio de exercícios, desenvolvidos durante o curso de [Robot Framework com Playwright e GitHub Actions](https://www.udemy.com/course/robot-framework-com-playwright-e-github-actions), ministrado por Mayara "May" Fernandes.
44

55
## 📚 Sobre o Curso
66

7-
Este curso é destinado...
7+
Este curso é voltado para profissionais que já possuem conhecimentos básicos em **Robot Framework** e desejam aprimorar suas habilidades na automação de testes web utilizando a **Browser Library**, baseada no **Playwright**.
8+
9+
Durante as aulas, são abordadas técnicas avançadas para automação de testes web, comparações entre as bibliotecas **BrowserLibrary** e **SeleniumLibrary**, além da implementação de **integração contínua (CI/CD) com GitHub Actions**.
10+
11+
### Conteúdo do Curso
12+
- **Configuração do ambiente** para automação de testes.
13+
- **Diferenças entre BrowserLibrary e SeleniumLibrary**.
14+
- **Utilização da Library Browser** para automação de testes web.
15+
- **Exploração dos principais recursos da Library Browser** na prática.
16+
- **Criação de uma pipeline CI/CD** no **GitHub Actions** para execução automatizada dos testes.
817

918
## 🙋‍♀️ Autora
10-
Feito com ❤️ por Sthefany A. Ricardo.
19+
Feito com ❤️ por **Sthefany A. Ricardo**.
1120

12-
📅 Última atualização: Março de 2025.
21+
📅 Última atualização: **Abril de 2025**.
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
*** Settings ***
2+
Library Browser
3+
# ... timeout=00:00:05
4+
# ... enable_presenter_mode=${true}
5+
Library FakerLibrary
6+
Library DateTime
7+
8+
*** Variables ***
9+
${BROWSER} chromium
10+
${HEADLESS} ${true}
11+
${SITE_SERVE_REST} https://front.serverest.dev/
12+
13+
*** Keywords ***
14+
Abrir o navegador
15+
New Browser browser=${BROWSER}
16+
... headless=${HEADLESS}
17+
18+
${TRACE_NAME} FakerLibrary.Uuid 4
19+
${NOW} Get Current Date result_format=%d-%m-%Y_%H%M%S
20+
New Context viewport={'width': 1200, 'height': 800}
21+
# ... tracing=${OUTPUT_DIR}/evidencies/traces/${NOW}/${TRACE_NAME}.zip
22+
# ... recordVideo={'dir':'${OUTPUT_DIR}/evidencies/videos/${NOW}'}
23+
24+
Ir para o site Serve Rest Front
25+
New Page url=${SITE_SERVE_REST}
26+
${title} Get Title == Front - ServeRest
27+
Log ${title}
28+
29+
Preencher os dados do novo usuário e cadastrar
30+
# Record Selector
31+
# Click css=.btn-link
32+
# Click text="Cadastre-se"
33+
Click css=a[data-testid='cadastrar']
34+
${EMAIL} FakerLibrary.Email
35+
Set Suite Variable ${EMAIL}
36+
Fill Text css=input[data-testid='nome'] Mayara Fernandes
37+
Fill Text css=input[data-testid='email'] ${EMAIL}
38+
Fill Text css=input[data-testid='password'] 123456
39+
Check Checkbox css=input[data-testid='checkbox']
40+
# Click css=button[data-testid='cadastrar']
41+
Click xpath=//*[@id="root"]//button >> text="Cadastrar"
42+
43+
Conferir usuário cadastrado com sucesso
44+
Wait For Elements State h1 visible
45+
Get Text h1 == Bem Vindo Mayara Fernandes
46+
Get Element States css=button[data-testid='logout'] validate value & visible
47+
48+
Cadastrar Usuário e Logar
49+
New Browser
50+
New Page url=${SITE_SERVE_REST}
51+
Criar usuário via API
52+
Logar com o usuário cadastrado via API
53+
${STORAGE_FILE} Save Storage State
54+
Set Suite Variable ${STORAGE_FILE}
55+
56+
Acessar a Lista de usuários
57+
Click css=a[data-testid='listarUsuarios']
58+
59+
Criar usuário via API
60+
${EMAIL} FakerLibrary.Email
61+
Set Suite Variable ${EMAIL}
62+
63+
${resposta} Http url=https://serverest.dev/usuarios
64+
... method=POST
65+
... body={"nome": "Mayara Fernandes","email": "${EMAIL}","password": "123456","administrador": "true"}
66+
67+
Should Be Equal As Integers ${resposta["status"]} 201
68+
69+
Logar com o usuário cadastrado via API
70+
${resposta} Http url=https://serverest.dev/login
71+
... method=POST
72+
... body={"email": "${EMAIL}","password": "123456"}
73+
74+
Should Be Equal As Integers ${resposta["status"]} 200
75+
76+
LocalStorage Set Item serverest/userEmail ${EMAIL}
77+
LocalStorage Set Item serverest/userToken ${resposta["body"]["authorization"]}
78+
LocalStorage Set Item serverest/userNome Mayara Fernandes
79+
80+
Go To url=https://front.serverest.dev/admin/home
81+
82+
Take Screenshot
83+
84+
Abrir o Site Serve Rest Front Logado
85+
New Browser browser=${BROWSER}
86+
... headless=${HEADLESS}
87+
New Context viewport={'width': 1200, 'height': 800}
88+
... storageState=${STORAGE_FILE}
89+
New Page url=https://front.serverest.dev/admin/home
90+
Get Text h1 == Bem Vindo Mayara Fernandes
91+
Take Screenshot
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
*** Settings ***
2+
Library Browser
3+
4+
*** Variables ***
5+
${BROWSER} chromium
6+
${HEADLESS} ${false}
7+
8+
*** Keywords ***
9+
Tirar Print
10+
Take Screenshot
11+
12+
Acessar "${site}"
13+
New Browser browser=${BROWSER} headless=${HEADLESS}
14+
New Page url=${site}
15+
16+
Selecionar opção "${opcao}"
17+
Select Options By id=dropdown text ${opcao}
18+
19+
Obter frase de dentro do iFrame
20+
${text} Get Text id=mce_0_ifr >>> id=tinymce
21+
Log ${text}
22+
23+
Conferindo valores em tabelas
24+
Click id=table1 >> text=Last Name
25+
# Conferindo o valor de uma célula específica
26+
# Nesse exemplo pegamos o elemento que corresponde a
27+
# célula da segunda linha (indice 1) e segunda coluna (indice 1)
28+
${elemento} Get Table Cell Element id=table1 1 1
29+
${nome} Get Text ${elemento} == Frank
30+
Log ${nome}
31+
32+
# Podemos também ir pelo nome da coluna que queremos obter o valor
33+
# passando um valor que exista na linha (em qualquer coluna)
34+
# No exemplo abaixo confiro se o First Name do e-mail fbach@yahoo.com é Frank
35+
${elemento} Get Table Cell Element id=table1 "First Name" "fbach@yahoo.com"
36+
${nome} Get Text ${elemento} == Frank
37+
Log ${nome}
38+
39+
Clicar e ir para a nova página aberta
40+
Click text="Click Here"
41+
Switch Page NEW
42+
Get Text h3 == New Window
43+
Tirar Print
44+
45+
Voltar para a página inicial
46+
[Arguments] ${pagina_id}
47+
Switch Page ${pagina_id}[0]
48+
Tirar Print
81.8 KB
Loading
98.1 KB
Loading
98.1 KB
Loading
19.5 KB
Loading
38.6 KB
Loading
70.3 KB
Loading
5.5 KB
Loading

0 commit comments

Comments
 (0)