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

@dustin-bbc/botium-bindings

v2.0.10-rc.2

Published

Binding Botium, the Selenium for Chatbots, to test runners

Downloads

13

Readme

Botium Bindings

NPM

Codeship Status for codeforequity-at/botium-bindings npm version license

This project was formerly known as "TestMyBot" - same scope, different name

Botium is the Selenium for chatbots. Botium Bindings is the glue to bind Botium to test runners like Mocha, Jasmine and Jest.

How do I get help ?

  • Read the Botium in a Nutshell series
  • If you think you found a bug in Botium, please use the Github issue tracker.
  • The documentation on a very technical level can be found in the Botium Wiki.
  • For asking questions please use Stackoverflow - we are monitoring and answering questions there.
  • For our VIP users, there is also a Slack workspace available (coming soon).

Usage

Did you read the Botium in a Nutshell articles ? Be warned, without prior knowledge of Botium you won't be able to properly use this library!

You should already have a Node.js project set up with the test runner of your choice (Mocha, Jasmine, Jest supported out of the box).

The following commands will install Botium Bindings, extend your Mocha specs with the Botium test case runner and run a sample Botium test:

> npm install -g botium-bindings
> botium-bindings init mocha
> npm install && npm run mocha

Here is what's happening:

  • Your package.json file is extended with a "botium"-Section and some devDependencies
  • A botium.json file is created in the root directory of your project
  • A botium.spec.js file is created in the "spec" folder to dynamically create test cases out of your Botium scripts
  • A sample convo file is created in the "spec/convo" folder

Place your own Botium scripts in the "spec/convo" folder and Mocha will find them on the next run.

Samples

There are a couple of samples available, showing possible scenarios to use Botium Bindings. For all samples, use these commands to run them:

> npm install
> npm run test

To run the console emulator (text input and output), run this command in the sample directory:

> npm install
> npm run emulator

In case you want to see some more output, enable debug logging:

> export DEBUG=botium*

Loading ready-to-use Chatbot Test Cases and Utterances from "Botium Utterances" library

Link

  • Demonstrates usage of the free utterances and chatbot test cases library "Botium Utterances"
  • Loads the typical "Tell me a Joke" test suite and runs it agains a Dialogflow chatbot

Chatbot developed in Clojure

Link

  • Shows a chatbot developed in another programming language than Javascript
  • Uses a chatbot developed with Clojure from the Lemmings incubator
  • Downloads a docker image ("clojure.lein") and placing the chatbot in a docker container
{
  "botium": {
    "Capabilities": {
      "PROJECTNAME": "botium-bindings-sample-clojure",
      "FACEBOOK_API": true,
      "FACEBOOK_WEBHOOK_PORT": 3000,
      "FACEBOOK_WEBHOOK_PATH": "webhook",
      "CLEANUPTEMPDIR": false,
	    "DOCKERIMAGE": "clojure:lein",
      "STARTCMD": "lein ring server-headless"
    },
    "Sources": {
      "GITURL": "https://github.com/lemmings-io/02-facebook-example.git"
    }
  }
}

Connecting to Chatbot running in Facebook Messenger

Link

  • Can be used to automate testing of a chatbot already running in facebook messenger
  • Usefull for regression testing, not for continuous testing (takes to much time to run)
  • See sample directory for instructions

Chatbot developed in PHP

Link

  • Chatbot developed in PHP
  • See sample directory for instructions

IBM Watson Chatbot

Link

  • Connecting to Watson conversation service to run your convos
  • Useful for regression testing
  • Workspace can be copied automatically before running the test cases (to not pollute your workspace)

Voice recognition and speech synthesis

Link

  • Uses the Web speech api to run a conversation with Alexa
  • Requires a real browser supporting the Web Speech API