This package has been archived and is no longer maintained. While we will not provide any updates or support, the code is still available for reference. If you need this package for your project, we encourage you to fork & republish the code following the license terms.
Installation • Usage • Additional helpers • Contributors • License
- Install the package
yarn add --dev @devoxa/cypress-page-performance
- Import the command in
cypress/support/commands.ts
:
import { addSavePagePerformanceMetricsCommand } from '@devoxa/cypress-page-performance/command'
addSavePagePerformanceMetricsCommand()
- Import the plugin in
cypress/plugins/index.ts
:
import { addSavePagePerformanceMetricsPlugin } from '@devoxa/cypress-page-performance/plugin'
export default (on: Cypress.PluginEvents, config: Cypress.PluginConfigOptions) => {
addSavePagePerformanceMetricsPlugin(on, config)
// You can also optionally add an additional options object:
// addSavePagePerformanceMetricsPlugin(on, config, options)
return config
}
Additional available options:
fileName
: The name of the file that the page performance metrics are saved into, defaults topage-performance-metrics.json
describe('SignInPage', () => {
it('renders the page successfully', () => {
cy.visit('/sign-in')
cy.savePagePerformanceMetrics('SignInPage')
})
})
After running Cypress, the plugin will output a JSON file with an array of page performance entries in the root directory.
[
{
"label": "SignInPage",
"encodedBodySize": 205048,
"resourceLoadFinish": 156.32,
"nextjsHydrationFinish": 137.64
}
]
The package also includes an additional helper that formats the output JSON as a markdown table using Github flavoured markdown, encoded for use in Github actions.
./node_modules/.bin/format-page-performance-metrics-as-gfm
Thanks goes to these wonderful people (emoji key):
David Reeß 💻 📖 |
This project follows the all-contributors specification. Contributions of any kind welcome!
MIT