Comando Cypress Custom "cy.api" para teste de API de ponta a ponta
Este comando faz solicitações HTTP para servidores externos e, em seguida, renderiza a entrada e a saída onde o aplicativo da Web geralmente está no Cypress Test Runner. Se houver logs do lado do servidor usando @Bahmutov/All-Logs, esse comando também os buscar e renderiza. Aqui está a saída típica:

npm install --save-dev @bahmutov/cy-api
ou
yarn add -D @bahmutov/cy-api
Adicione a seguinte linha ao seu arquivo de suporte do Cypress
// usually cypress/support/index.js
import '@bahmutov/cy-api' Isso adicionará um novo comando cy.api para fazer solicitações de API.
| var env | valor padrão | descrição |
|---|---|---|
| Cypress_api_messages | verdadeiro | Mostre e ligue para os logs do servidor API |
| Cypress_api_show_credentials | falso | Mostrar senha de autenticação |
Por padrão, cy.api imprimir resposta no navegador. Para ter o mesmo comportamento que cy.request e usar cy.visit normalmente, você precisa desactivar apiDisplayRequest :
it ( 'my test without displaying request' , { apiDisplayRequest : false } , ( ) => {
cy . api ( {
url : '/' ,
} )
} ) Se você estiver usando o TypeScript com o Cypress, você pode adicionar digite seu tsconfig.json
{
"compilerOptions" : {
"types" : [ " cypress " , " @bahmutov/cy-api " ]
}
}Autor: Gleb bahmutov <[email protected]> © 2019
Licença: MIT - faça qualquer coisa com o código, mas não me culpe se não funcionar.
Suporte: se você encontrar algum problema com este módulo, email / tweet / edição aberta no github
Copyright (c) 2019 Gleb Bahmutov <[email protected]>
É concedida permissão, gratuitamente, a qualquer pessoa que obtenha uma cópia deste software e arquivos de documentação associados (o "software"), para lidar com o software sem restrição, incluindo, sem limitação, os direitos de uso, copiar, modificar, mesclar .
O aviso de direitos autorais acima e este aviso de permissão devem ser incluídos em todas as cópias ou em partes substanciais do software.
O software é fornecido "como está", sem garantia de qualquer tipo, expresso ou implícito, incluindo, entre outros, as garantias de comercialização, aptidão para uma finalidade específica e não innoculação. Em nenhum caso os autores ou detentores de direitos autorais serão responsabilizados por qualquer reclamação, danos ou outro passivo, seja em uma ação de contrato, delito ou não, decorrente de, fora ou em conexão com o software ou o uso ou outras negociações nos Software.