Skip to main content

Part 3: Automating Chatbot Tests

Now we are really close to let Botium talk to your chatbot! First we have to tell Botium how to actually connect to your chatbot.

Connecting to your Chatbot

Botium has to somehow build up a communication channel with your chatbot. Usually you have to talk to your development team to provide you the information in a configuration file botium.json — for a chatbot developed with the Microsoft Bot Framework it looks like this:
{
  "botium": {
    "Capabilities": {
      "PROJECTNAME": "Directline3 Plugin Sample",
      "CONTAINERMODE": "directline3",
      "DIRECTLINE3_SECRET": "my-directline-secret",
      "DIRECTLINE3_WEBSOCKET": true,
      "DIRECTLINE3_POLLINGINTERVAL": 1000
    }
  }
}

The configuration items in Botium are called capabilities. They are different for each supported chatbot technology. Botium supports a large variety of chatbot technologies — chatbots built with Dialogflow or Microsoft Bot Framework are supported, as well as chatbots publishing a HTTP/JSON API, or chatbots running on a voice-enabled home automation device, or chatbots running within a chat widget on a website.

The one most important capability to tell Botium what technology to use to connect to your chatbot is CONTAINERMODE. In the example above directline3 is given to instruct Botium to use the Microsoft Bot Framework technology called Directline, Version 3, for a chatbot hosted in Azure. Out-of-the-box, all relevant chatbot technologies are already supported:

  • directline3 for Microsoft Bot Framework Bots hosted on Azure
  • watsonfor chatbots developed with IBM Watson
  • dialogflowfor chatbots developed with Google Dialogflow
  • simplerest for chatbots publishing an HTTP/JSON endpoint
  • alexa-smapi for Alexa skills (with the Skill Management API)
  • alexa-avs for Alexa skills on End-To-End-Level (Text-To-Speech and Speech-To-Text conversion)
  • webdriveriofor end-to-end tests on user interface level (chatbots published as website widget)
  • And more …
Furthermore, with Botiums open interfaces it is possible to plug your own custom chatbot technology into Botium (Node.js developer skills required).
Note: Botium Box includes management of your chatbot capabilities, so you won’t have to write those botium.json files by hand. Instead the configuration is done within a quick 3-step-wizard.

Botium’s Live Chat feature allows you to validate you configuration settings, it allows you to have a chat with your chatbot to ensure everything is connected correctly.

Botium Live Chat

Test Case Execution

After following this guide, we now have:

  • a couple of convo and utterances files, also known as a Test Set
  • a valid set of capabilities for connecting to your chatbot

Frequently Asked Questions

My chatbot doesn’t send any response. Please help.

You can find the Troubleshooting Guide in the Botium Documentation. Usually it means that the capabilities in your botium.json are invalid.

Can I integrate Botium with my CI Pipeline from Vendor XYZ / with my costum CI Pipeline?

Yes, absolutely. As long as your CI Pipeline is capable of calling a HTTP Backend you are fine. Botium supports a couple of different test report output formats which usually can be parsed by any pipeline.

Can Botium send me an E-Mail message when it is ready ?

Botium of course includes a notification mechanism.

Was this article helpful?

0 out of 0 found this helpful