/cypress-test-generator

A npm package that Automate Cypress test generation from HTML snippets. Simply provide an HTML snippet and test name, and instantly generate Cypress test code for UI testing.

Primary LanguageJavaScriptMIT LicenseMIT

cypress-test-generator

The cypress-test-generator is an NPM package that automatically generates Cypress tests based on provided HTML snippets. This tool is designed to streamline the process of writing end-to-end(e2e) tests by converting your HTML directly into Cypress test cases, saving you valuable time and ensuring more comprehensive test coverage.

Features

  1. Automatic Test Generation: Simply provide an HTML snippet, and the package will generate the corresponding Cypress test code.
  2. Ease of Use: Simplifies the creation of Cypress tests, even for developers who are new to writing end-to-end tests.
  3. Customization: The generated tests can be easily customized to fit specific testing needs.
  4. Integration: Seamlessly integrates into your existing Cypress testing workflow.

Simply provide an HTML snippet and test name, description and instantly generate Cypress e2e test code for UI testing.

Installation

You can install this package using npm or yarn.

npm

npm i cypress-test-generator

yarn

yarn add cypress-test-generator

Usage

// Usage example

const { generateCypressTest, formatCode, writeTestFile } = require('cypress-test-generator');

// Example HTML code block
const htmlCode = `
<html>
    <body>
        <div id="header">Header</div>
        <div id="content" class="main-content">Content</div>
        <button id="testmeButton" onclick="alert('Clicked!')">Click Me</button>
        <button onclick="alert('Clicked!')">Click Me</button>
        <input type="text" value="Test Value" />
        <textarea>Some text</textarea>
        <p class="description">Description text</p>
    </body>
</html>
`;

const testName = 'Sample Test';
const description = 'should interact with the button'
const testCode = generateCypressTest(htmlCode, testName, description);
formatCode(testCode).then(result => writeTestFile(result, 'sampleTest.spec.js'));

// it will create a 'sampleTest.spec.js' file which contain the Cypress e2e test snippet

Functions

Function Description
generateCypressTest Generates Cypress test code from the provided HTML snippet.
formatCode Formats the generated Cypress test code using Prettier.
writeTestFile Writes the generated and formatted test code to a specified file.

Contributing

Contributions are welcome! If you have ideas for improvements or have found bugs, please open an issue or submit a pull request on GitHub. Feel free to add your name as well.

Support

engrmuhammk



LICENSE

This project is licensed under the MIT License - see the LICENSE file for details.