Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

pupcheck

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pupcheck

E2E test scripting through puppeteer

  • 0.2.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
56
increased by1.82%
Maintainers
1
Weekly downloads
 
Created
Source

Pupcheck

Simple file format for puppeteer-based End-to-end tests:

goto https://saltcorn.com
status 200
contains platform for building database
containsnot platform for building databse

Command line tool

run with

npx pupcheck

pupcheck [-Hhv] [file ...]

Command line switches:

  -H         : Headful; open browser window
  -v         : verbose
  -h, --help : help

Chrome or chromium need to be installed and accessible. If this is in a non-standard location, set the PUPPETEER_CHROMIUM_BIN environment variable.

Set the base URL with the PUPCHECK_BASE_URL environment variable. Then you can use a relative URL; for example

goto /

Upgrade

npx clear-npx-cache to delete an old version of pupcheck installed with npx, then run npx pupcheck0 again.

pupcheck file commands

The pupcheck file consists of a number of one-word commands, followed by the arguments to that command. If the command takes a free text argument, this will be the last argument and will consist of the rest of the line.

The command is case insensitive, so you can use camelCase.

# This is a comment but only if # is first character

If your selector has a space due to choosing a child element, wrap in parentheses.

Permitted commands

  • goto {url}

    Navigate to this URL

    Example: goto https://google.com

  • status {status code}

    Assert this status code

    Example: status 200

  • contains {contents}

    Assert this is in the page contents

    Example: contains Tasks completed

  • containsnot {contents} (also contains_not)

    Assert this is in not in the page contents

    Example: containsNot An error occurred

  • click {selector}

    Click the selected element and wait for navigation to complete

    Example: click button#click_me

  • waitfor {selector} (also wait_for)

    Wait until this element becomes present

    Example: waitfor button#click_me

  • type {selector} {text}

    Type the text into the selected input element.

    Examples: type input#full_name John Smith, type (#question-name input) Walt Whitman

  • slowlytype {selector} {text} (also slowly_type)

    Type the text SLOWLY into the selected input element.

    Examples: slowly_type input#full_name John Smith, slowlyType (#question-name input) Walt Whitman

  • select {selector} {value}

    Set the value of a drop-down <select> element

    Examples: select select#role 5

  • erase {selector} {nchars}

    Erase characters from the selected input element.

    Examples: erase input#full_name 9

  • evaltrue {js-expr-string} (also eval_true)

    Assert that this expression must evaluate to true

    Examples: eval_true $("input#full_name").val()==="Miles Davis"

  • sleep {milliseconds}

    Sleep for this many milliseconds

    Example: sleep 1000

Example pupcheck file

example.pch contents:

goto https://example.com/

# Login
type input#id_username egergerarg@gmail.com
type input#id_password grehq4hhq32534534t
click input[type=submit]

# Check dashboard loads
contains Tasks completed

How to run:

npx pupcheck example.pch

FAQs

Package last updated on 06 Jan 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc