Botium Box offers two methods to test an SMS Chatbot. It can act as a user sending SMS messages, or can interact with the API behind the chatbot. Sending SMS messages looks like an optimal choice because it covers all the stack, but it has a major drawback, the increased costs.
For smaller systems sending SMS messages is usually a good decision. It is the all-purpose solution, and it is easier to setup.
More complex chatbots can have more sophisticated configuration, API-testing all conversation branches, and SMS based testing for checking performance and availability of the full stack for example.
Tip: If your API delivers NLP information like recognized intent and entity, then in case of API testing you can even use NLP Analytics in Botium Box (depending on license).
There is no step-by-step solution for API testing. We need a Botium-connector which fits to your API. You can use the suitable generic connector of Botium Box (in most cases Generic HTTP(s)/JSON interface). Or you can write your own.
SMS testing with Botium Twilio SMS connector
Botium Box uses Twilio to communicate with any SMS chatbot.
You’ll need a Twilio account, register a telephone number in Twilio, configure Botium Box for Botium-to-Twilio messages, and Twilio for Twilio-to-Botium messages.
You can use trial account for Twilio, but there are limitations, and the budget is limited. We use an upgraded account here.
Please keep in mind that SMS communication has no session. If you have for example development, and production tests, then it is a good practice to register telephone numbers and configure connection in Botium Box for each. Otherwise you can get some random test fails if they are running in parallel.
Trending Bot Articles:
Register a telephone number
Check SMS capability (optional).
Notice the telephone number, and the credentials (settings, general)
Configure Twilio in Botium Box
Now we have to setup Botium Box
Under the Chatbots list click on the Register new chatbot button.
Fill the form with the values from the Twilio Dashboard. (Sending SMS to field is the telephone number of your SMS chatbot.)
Once the form is complete, Botium Box will be able to receive messages. But we can’t test the connection yet. We have to configure Twilio to send messages to Botium Box.
After you choose an API key, you can see the endpoint for receiving messages on the registration form. Copy the endpoint url.
Configure the Twilio webhook
Open the settings for the registered number in Twilio, and paste the endpoint as webhook in the Messaging section (not in the Voice & Fax section!) and save it.
Test the connection and save it in Botium Box
Everything is set up. Now we can test it with pushing SAY HELLO (CHECK CONNECTIVITY) button. (We expect that the chatbot responds if we send hello. If it’s not the case, then skip the test. You can test it manually using Live chat feature of Botium Box)
Everything fine, we can save the form.
If is not working, then check the error message displayed on the connectivity test, or check Twilio logs on the phone number.
Disable parallel execution in Botium Box
If you have more Agents (workers) in Botium Box, and more test cases in a test set, then Botium Box executes the test set parallel. It is good for most of the connectors, but not for Twilio SMS connector as mentioned before.
We have to set the Parallel Jobs Count to 1 (or choose a dedicated Agent) in project settings to disable parallel execution.
Use Botium Box
The connection is configured, you can use all features of Botium Box!
See this article in spanish here! 🇪🇸