
Security News
Open Source Maintainers Demand Ability to Block Copilot-Generated Issues and PRs
Open source maintainers are urging GitHub to let them block Copilot from submitting AI-generated issues and pull requests to their repositories.
cypress-plugin-api-michael
Advanced tools
Cypress plugin for effective API testing. Imagine Postman, but in Cypress. Prints out information about the API call in the Cypress App UI.
requestMode
to add cy.api() features to cy.request() commandInstall this package:
npm i cypress-plugin-api
# or
yarn add cypress-plugin-api
Import the plugin into your cypress/support/e2e.js
file:
import 'cypress-plugin-api'
// or
require('cypress-plugin-api')
You can now use cy.api()
command. This command works exactly like cy.request()
but in addition to calling your API, it will print our information about the API call in your Cypress runner.
If you want to combine your API calls with your UI test, you can now use snapshotOnly
mode, that will hide the plugin UI view after command ends. You can access it within the timeline.
snapshotOnly
mode is set to false
by default. To set up snapshotOnly
mode, add following to your test configuration:
it('my UI & API test', { env: { snapshotOnly: true } }, () => {
cy.visit('/') // open app
cy.api('/item') // call api
cy.get('#myElement') // still able to access element on page
})
or you can add the configuration to your cypress.config.{js,ts}
file:
import { defineConfig } from 'cypress'
export default defineConfig({
e2e: {
setupNodeEvents(on, config) {
},
env: {
snapshotOnly: true
}
},
})
You can hide your credentials by passing hideCredentials
option to your env configuration. This will hide all the credentials from UI, but you can still access them via console. This option is set to false
by default.
it('my secret test', { env: { hideCredentials: true } }, () => {
cy.api({
url: '/',
headers: {
authorization: Cypress.env('myToken')
}
})
})
The result will look like this:
You can also hide any credentials you want by defining array of keys in hideCredentialsOptions
,
it('my secret test', {
env: {
hideCredentials: true,
hideCredentialsOptions: {
headers: ['authorization'],
auth: ['pass'],
body: ['username'],
query: ['password']
}
}
}, () => {
cy.api({
url: '/',
headers: {
authorization: Cypress.env('myToken') // hidden
},
auth: {
pass: Cypress.env('myPass') // hidden
},
body: {
username: Cypress.env('myUser') // hidden
},
qs: {
password: Cypress.env('password') // hidden
}
})
})
This will override all the defaults set by hideCredentials
.
requestMode
- enable UI for cy.request()
commandThis setting adds all the functionality of cy.api()
command to cy.request()
. It’s set to false
by default. This means that when you call cy.request()
in your test, it will show UI.
In most cases, types work just by installing plugin, but you can add the types to your tsconfig.json
{
"types": ["cypress-plugin-api"]
}
This will add types for cy.api()
command, it’s returned values as well as env
properties.
All the issues can be found on issues page, feel free to open any new ones or contribute with your own code.
...powered by coffee and love ❤️ Filip Hric
FAQs
UI for testing API in Cypress
We found that cypress-plugin-api-michael demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Open source maintainers are urging GitHub to let them block Copilot from submitting AI-generated issues and pull requests to their repositories.
Research
Security News
Malicious Koishi plugin silently exfiltrates messages with hex strings to a hardcoded QQ account, exposing secrets in chatbots across platforms.
Research
Security News
Malicious PyPI checkers validate stolen emails against TikTok and Instagram APIs, enabling targeted account attacks and dark web credential sales.