This is a Botium connector for testing your Rasa chatbot.
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!
Botium connects to your Rasa chatbot either to Rasa Core or to Rasa NLU directly.
When connecting to Rasa Core, Botium can test dialogues. When connecting to Rasa NLU, Botium can test the NLU functions only with the Botium NLP Asserters
It can be used as any other Botium connector with all Botium Stack components:
- Node.js and NPM
- a Rasa bot
- a project directory on your workstation to hold test cases and Botium configuration
When using Botium CLI:
> npm install -g botium-cli
> npm install -g botium-connector-rasa
> botium-cli init
> botium-cli run
When using Botium Bindings:
> npm install -g botium-bindings
> npm install -g botium-connector-rasa
> botium-bindings init mocha
> npm install && npm run mocha
When using Botium Box:
Already integrated into Botium Box, no setup required
When using REST_INPUT (Rasa Core), you have to add the RestInput channel to your Rasa configuration.
When using NLU_INPUT (Rasa Core), you have to add the --enable-api command line switch when starting your Rasa server.
Create a botium.json with the the URL of your Rasa installation in your project directory:
{
"botium": {
"Capabilities": {
"PROJECTNAME": "<whatever>",
"CONTAINERMODE": "rasa",
"RASA_MODE": "REST_INPUT",
"RASA_ENDPOINT_URL": "https://box.botium.at/rasa-demo/"
}
}
}
To check the configuration, run the emulator (Botium CLI required) to bring up a chat interface in your terminal window:
> botium-cli emulator
Botium setup is ready, you can begin to write your test cases with BotiumScript.
This connector provides a CLI interface for importing convos and utterances from your Rasa model and convert it to BotiumScript.
You can either run the CLI with botium-cli (it is integrated there), or directly from this connector (see samples/nlu/package.json for an example):
> botium-connector-rasa-cli rasaimport path-to-my-nlu.md
Please note that a botium-core installation is required
For getting help on the available CLI options and switches, run:
> botium-connector-rasa-cli rasaimport --help
There are two samples available in the samples folder. Both of them are based on Sara - the Rasa Demo Bot. Adapt the botium.json in these directories with your own Rasa Demo installation.
You can start the Rasa Core sample with these commands:
> cd ./samples/core
> npm install && npm test
For the Rasa NLU samples, first the nlu.md file from the Sara github repository is downloaded and the test cases are generated out of it.
> cd ./samples/nlu
> npm install && npm generate && npm test
Set the capability CONTAINERMODE to rasa to activate this connector.
Rasa endpoint URL.
Default: REST_INPUT
REST_INPUT for using Rasa Core The Rasa endpoint URL is extended with /webhooks/rest/webhook for posting the Botium requests.
NLU_INPUT for using Rasa NLU The Rasa endpoint URL is extended with /model/parse for posting the Botium requests.
Default: endpoint URL/version
URL to ping for checking availability of Rasa. By default, the version-endpoint is contacted.
If your Rasa endpoint is protected with token authentication, you have to specify the token to use here.
If your Rasa endpoint is protected with JWT Auth, you have to specify the JWT Token here.