Botium Box crawler test case failing on Watson Assistant buttons

118 views Asked by At

I am using Botium Box crawler on a Watson Assistant skill. The bot's initial statement includes a greeting and seven buttons. Botium is generating test cases for each of the buttons, but the button-press does not generate the right response in Watson Assistant.

A generated case is below:

1.6.2.2.2.4_hello_Password

#bot

#me
hello

#bot
UTT_M1_HI-THERE!

#bot
BUTTONS Benefits|Badges, Explanation of Badges or Certificate of Completion|COVID-19|ID Cards - Order, View, Print, Return|Employment/Termination|Password|None of the above, enter search text

#me
BUTTON password|Password

#bot
(responds as if Watson Assistant received the word "BUTTON" rather than the "password" value in "Password"-labeled button)

The dialog node has child responses using conditions like:

input.text=="password" or input.text.contains("password")

The expected behavior in Watson Assistant for a button press is that the button text (not label) is passed to the button. In the Watson Assistant Try it Out panel I click "Password" and it sends the text "password".

The only way I can replicate the Botium behavior in Try it Out is to pass the literal text "BUTTON". Even if Botium sent input.text=="BUTTON password|Password" my condition should fire.

Am I using Botium Box crawler wrong, or is there a bug in the crawler?

Update: Other button-driven prompts work, such as "yes/no" button prompts. I wonder if there is a parsing problem because the buttons have very long labels with some special characters and punctuation.

2

There are 2 answers

1
Szabolcs Gergye On BEST ANSWER

The issue has to be fixed with the next release of the crawler package. If you need this fix now, then we can update directly your trial instance.

4
Szabolcs Gergye On

You can get more detailed log by set the DEBUG=botium-* env variable. So in commandline it should look like this:

DEBUG=botium-* botium-cli crawler-run --entryPoints 'hello'

In this case you will get a log and very detailed log. You can reduce its size with using exitCriteria (e.g.: --exitCriteria 'Benefits' 'Badges') to exclude those path which work correctly. We will investigate the detailed log, just send us please.