Skip to content
This repository has been archived by the owner on Sep 10, 2024. It is now read-only.

spencerlepine/spencerlepine.com-contact-form-monitor

Repository files navigation

Portfolio Site Contact Form Canary .github/workflows/canary.yml

Web crawler for weekly automated form submission on my Portfolio Site Contact Form. Built with Cypress and GitHub Actions

Diagram

Usage

  1. Update canary.spec.js values with your website URL, and form element data-testid values
/**
 * Enter the data-testid for each form element (if it exists)
 *
 * <form data-testid="yeet">
 *  <input type="text" data-testid="contact-form-name-input" name="name"><br>
 *  <input type="text" data-testid="contact-form-email-input" name="email"><br>
 *  <input type="text" data-testid="contact-form-message-input" name="message"><br>
 *  <input type="submit" data-testid="contact-form-submit-btn" />
 * </form>
 */

const config = {
  contactPageUrl: 'https://mywebsite/contact',
  nameInputDataTestId: 'contact-form-name-input',
  emailInputDataTestId: 'contact-form-email-input',
  messageInputDataTestId: 'contact-form-message-input',
  submitBtnDataTestId: 'contact-form-submit-btn',
};

// ...
  1. Configure the GitHub Actions CRON job, and let it run!
name: Contact Form Canary

on:
  schedule:
    - cron: '0 9 * * 1' # "At 09:00 every Monday." - https://crontab.guru
  workflow_dispatch:

jobs:
  web-crawl:
    # ...

Local Development

npm install
npm run headed

Specifications: Node v20+