@enovate-it/cypress-utility-scripts
v1.0.1
Published
utility scripts to send emails, read OTP from emails, clean reports folder, combine individual report and send over email and some generic commands to perform actions like select, select from dropdown, Bypass Google SSO login, custom actions over elements
Readme
📦 cypress-utility-scripts
A utility library for Cypress projects that helps with:
- 📧 Sending HTML test reports via email
- 🔐 Fetching OTPs from email
- 📝 Combining Cypress HTML reports
- 🧹 Cleaning up old reports
This package is ideal for test automation teams looking to streamline their reporting and verification workflows.
📥 Installation
npm install cypress-utility-scripts
Also install dotenv if you’re using .env for configuration:
npm install dotenv
🔧 Usage
Send Cypress HTML Report via Email
import { sendReportHTML } from 'cypress-utility-scripts'; import dotenv from 'dotenv'; dotenv.config();
sendReportHTML({
subject: ${process.env.EMAIL_SUBJECT},
body: ${process.env.EMAIL_BODY},
recipients: ${process.env.EMAIL_RECPT},
reportPath: './cypress/reports/combined-report.html'
});
- ✅ Required .env Variables
EMAIL_SUBJECT=Test Report EMAIL_BODY=Please find the attached test report [email protected],[email protected] [email protected] EMAIL_PASSKEY=your-email-password
Fetch OTP from Email
import { getOtpFromEmail } from 'cypress-utility-scripts'; import dotenv from 'dotenv'; dotenv.config();
(async () => { try { const otp = await getOtpFromEmail(); console.log('OTP received:', otp); } catch (err) { console.error('Error fetching OTP:', err); } })();
-✅ Required .env Variables
[email protected] EMAIL_PASSKEY=your-password-or-token IMAP_SERVER=imap.gmail.com EMAIL_PORT=993 EMAIL_TLS=true
Combine Cypress Reports
import { combineReports } from 'cypress-utility-scripts';
combineReports();
Combines all HTML reports in ./cypress/reports/ into combined-report.html.
Clean Cypress Report Folder
import path from 'path'; import { cleanReports } from 'cypress-utility-scripts';
const reportsPath = path.resolve('cypress', 'reports'); cleanReports(reportsPath);
Deletes all .html and .json files in the specified report directory.
🧪 Use Cases
Automate test report sharing after test runs.
Extract OTPs from email inbox for login/auth tests.
Clean up and organize report directories in CI/CD.
Merge test run reports into a single file for sharing.
🛠️ Contributing
Pull requests and issues are welcome!
License
Enovate-it Outsourcing Private Limited
