Skip to content

Instantly share code, notes, and snippets.

@samlucax
Created February 18, 2021 05:14
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save samlucax/dc447663d0f3fe1dd8c4f45edde4305e to your computer and use it in GitHub Desktop.
Save samlucax/dc447663d0f3fe1dd8c4f45edde4305e to your computer and use it in GitHub Desktop.
/// <reference types="cypress" />
context('Portal', () => {
beforeEach(() => {
/**
Para autenticar no site são usados dois Cookies:
- OAuth_Token_Request_State
- JSESSIONID
É possível descobrir os valores destes Cookies seguindo os passos abaixo:
1. Acessar o portal deslogado
2. Abrir o Chrome Dev Tools > Application > Cookies
3. Autenticar
4. Verificar quais Cookies são definidos após o login e seus valores.
Uma vez descobertos os Cookies, vamos defini-los usando o Cypress.
Para isso, vamos usar o comando cy.setCookie -> https://docs.cypress.io/api/commands/setcookie.html
Neste comando temos os seguintes argumentos a considerar:
- nome do Cookie
- valor do Cookie
- opções adicionais
- domain
- path
- httpOnly
- log
Todos estes valores devem ser copiados do passo 4, onde descobrimos os Cookies e seus valores.
Feito isso, podemos acessar o site que os cookies vão estar lá :)
IMPORTANTE: você precisa executar os passos 1 ao 4 para preencher os valores abaixo, que estão com o texto "valor aqui" :)
Pontos para investigar futuramente:
- Os cookies que estou usando tem prazo para expirar?
- De onde vem estes Cookies? Banco? API?
- Consigo obter os valores atualizados dos Cookies de forma automatizada?
*/
// definindo o primeiro Cookie
cy.setCookie(
'OAuth_Token_Request_State',
'valor aqui',
{
domain: 'portalservicos.jucemg.mg.gov.br',
path: '/',
httpOnly: true,
log: true
}
)
// definindo o segundo Cookie
cy.setCookie(
'JSESSIONID',
'valor aqui',
{
domain: 'portalservicos.jucemg.mg.gov.br',
path: '/Portal',
log: true
}
)
});
it('Visita', () => {
cy.visit('https://portalservicos.jucemg.mg.gov.br/Portal');
})
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment