Quick Start Guides
processmaker.comKnowledge CenterProcessMaker UniversityDeveloper Docs
ProcessMaker Automated Testing
ProcessMaker Automated Testing
  • ⚙️Automated Process Testing
  • Process Testing Automation
    • 🔵Quality Assurance Framework
    • 🟠Paths and Scenario Definition
    • 🟢Cypress Usage and Configuration
    • 🟣Reports Generation
  • 🗃️Additional Resources
    • NodeJS Documentation
  • E2E Testing
    • First Test with Cypress
    • Testing Apps in Cypress
  • Cypress Documentation
    • Cypress Automation Guide
    • Cypress Installation Guide
    • Open an App with Cypress
Powered by GitBook
On this page
  • Cypress Coverage on Testing
  • Project Configuration Options
  • Automation Project Structure
  1. Process Testing Automation

Cypress Usage and Configuration

Last updated 1 year ago

Cypress Coverage on Testing

Software testing encompasses various levels to thoroughly inspect the product from different perspectives, increasing the likelihood of detecting defects. While end-to-end testing is crucial, it only addresses a single layer of testing and typically detects less than 10% of errors within a product. However, this approach has been selected to automate user experiences within processes and identify potential failures that could disrupt the process flow.

Project Configuration Options

The package.json file within the project facilitates the installation of all necessary packages and dependencies for automation. Below is a sample configuration:

{
  "name": "qa_ps",
  "version": "1.0.0",
  "description": "QA automation",
  "main": "index.js",
  "scripts": {
    "cypress:open": "cypress open",
    "cypress:run": "cypress run --browser chrome",
    "generate:report": "npx mochawesome-merge 'cypress/results/*.json' > mochawesome.json && npx marge mochawesome.json",
    "cypress:run:report": "cypress run --browser chrome --config-file cypress.config.js && npx mochawesome-merge 'cypress/results/*.json' > mochawesome.json && npx marge mochawesome.json",
    "delete:reports": "rm -rd cypress/results/* || true && rm mochawesome.json && rm -rd mochawesome-report",
    "complete:execution": "npm run delete:reports && npm run cypress:run:report"
  },
  "keywords": ["automation"],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "cypress": "^13.6.3",
    "@cypress/grep": "^4.0.1",
    "cypress-file-upload": "^5.0.8",
    "mochawesome": "^7.1.3",
    "mochawesome-merge": "^4.3.0",
    "mochawesome-report-generator": "^6.2.0"
  },
  "dependencies": {
    "cypress-iframe": "^1.0.1"
  }
}

Automation Project Structure

The Cypress automation project should adhere to the following basic folders and file structure:

  • cypress/

    • fixtures/

    • integration/

    • plugins/

    • support/

  • node_modules/

  • cypress.json

  • package.json

This structure ensures organization and clarity within the project, facilitating efficient development and maintenance of automated tests.

🟢