npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

testerbot

v0.2.5

Published

Automatic Front-End Testing

Downloads

19

Readme

testerbot

Automatic Front-End Testing

Maintainability Test Coverage CircleCI PRs Welcome npm version npm NSP Status license Join the chat at https://gitter.im/theoutlander/testerbot

Purpose

During development, there isn't enough time to write tests, so our only option is manual testing. We don't need a reminder of how inefficient, time-consuming, error-prone and boring that can get. When we get around to writing test-automations, we spend a lot of time writing tests from scratch. However, most of the test-cases for testing web-applications can be automated and reused.

We created Testerbot to automatically test web-applications during the development process via Puppeteer which talks to Headless Google Chrome.

The basic framework is ready and we have implemented a few test-cases, but we need help in adding more reusable test-cases.

Note: I started this project several months ago and built a SaaS product, but realized that an open-source test automation package will help catch issues quickly during development. I recently stumbled upon https://frontendchecklist.io/ and created github issues to automate as many of those tests as possible into Testerbot.

Install

npm i testerbot -g

NPM

Quick Start

Running testerbot without any arguments defaults to http://localhost:3000

testerbot 

Specify a url via the --url argument

testerbot --url http://localhost:5000

Specify multiple comma seoparated urls via the --urls argument

testerbot --urls http://localhost:5000,http://localhost:5000/toc.html

Here is what the output looks like:

Command Line Options

  Usage: testerbot [options]


  Options:

    -c, --config <path>  Specify Testerbot Config file
    -d, --dash           Display results in dashboard
    -n, --no-verbose     Hide verbose output (default: true)
    -s, --silent         Hide console output from tests
    -u, --url <url>      Url to run tests against
    -U, --urls <urls>    Url to run tests against
    -v, --version        Output the version number
    -h, --help           output usage information

Configuration File

For better configuration control, you can run Testerbot by providing a config file which allows you to skip or run specific tests.

By default, Testerbot looks for testerbot.config.js in your project root:

// Testerbot Run Configuration

module.exports = [{
  url:
    'http://localhost:5000',

  tests: {
  
    // Test name(s) go here
    // These tests will be skipped
    skip: [
      'Open Graph'
    ],

    // Test name(s) go here
    // These are the only tests to be run
    filter: [
      'Viewport' 
    ]
  }
}]

You can also specify a path to the config file via:

testerbot --config ./config/testerbot.config.js

Basic Features

  • A comprehensive set of pre-defined test cases
  • Support for multiple URL's in a test run
  • Ability to skip tests or run only specific tests
  • Integrated dashboard
  • Platform and language agnostic
  • Ability to run in CI build process

Todo

  • [ ] Authentication

  • [ ] Custom Scenarios (workflows)

  • [ ] Support for filtering and skipping tests by Tags

  • [ ] Custom Reporter

  • [X] Automatic Crawling

  • [ ] Filling Forms

Contribution

This is a work-in-progress and we would like your help. Please consider contributing to this project on one of the following:

License

MIT License

FAQ

Why does installation fail sometimes with an EACCES error?

This is an npm permissions related issue. You will need to change the directory where npm is installed. You can follow instructions at https://docs.npmjs.com/getting-started/fixing-npm-permissions.