Botium does not receive activity sent by bot framework

Hello ,

I would like to use botium for testing. Our ChatBot uses Microsoft Bot framework to integrate with different chanel and also uses Dialogflow for NLP/NLU.

When I run from the botium-cli, I get the following error :

Error: BotFrameworkAdapter.processActivity(): 500 ERROR
Error: Bad format of conversation ID
at new RestError (…/lib/restError.ts:18:5)
at …/lib/policies/deserializationPolicy.ts:117:27
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at BotFrameworkAdapter. (…/src/botFrameworkAdapter.ts:1263:23)
at Generator.throw ()
at rejected (D:\project_folder\chatbot\dist\node_modules\botbuilder\lib\botFrameworkAdapter.js:29:32)

The botium connection for bot framework as documented looks like this:

{
“botium”: {

"Capabilities": {

  "PROJECTNAME": "My Botium Project",

  "CONTAINERMODE": "botframework",

  "BOTFRAMEWORK_APP_ID": "my app ID",

  "BOTFRAMEWORK_APP_SECRET": "my app secret",

  "BOTFRAMEWORK_ENDPOINTURL": "https://abcd_efgh.ngrok.io/bo/api/webhook",

  "BOTFRAMEWORK_SERVICEURL":"https://smba.trafficmanager.net/",

  "BOTFRAMEWORK_RECIPIENTNAME": "MyMicrosoftBotName",

  "BOTFRAMEWORK_RECIPIENTID": "microsoftBotRecipientID"

},

"Sources": {},
"Envs": {}

}
}

Thanks in advance for your Solutions/propositions.

Hello,
So the bot framework endpoint is complaining that the “conversation ID” is in an unexpected format.

Botium generates the conversation ID as a unique id V4 (Online UUID Generator Tool), and we didn’t see any troubles with this, but maybe that’s a matter of server side bot framework implementation. It is possible to tell Botium to generate another kind of conversation ID with the SIMPLEREST_CONVERSATION_ID_TEMPLATE capability.

It is also possible that this problem has nothing to do with this, so some verbose output from the failing test case would be good to trace it down (add the “–verbose” flag when running botium-cli).

Thanks for your reply but actually I solved the problem that morning with the following conf:

{

“botium”: {

"Capabilities": {

  "PROJECTNAME": "My Botium Project",

  "CONTAINERMODE": "botframework",

  "BOTFRAMEWORK_APP_ID": "my app ID",

  "BOTFRAMEWORK_APP_SECRET": "my app secret",

  "BOTFRAMEWORK_ENDPOINTURL": "https://abcd_efgh.ngrok.io/bo/api/webhook",

  "BOTFRAMEWORK_SERVICEURL": "http://127.0.0.1:45100 generated by <botium-cli inbound-proxy>",

  "BOTFRAMEWORK_RECIPIENTNAME": "MyMicrosoftBotName",

  "BOTFRAMEWORK_RECIPIENTID": "microsoftBotRecipientID",

  "BOTFRAMEWORK_MEMBERID": "my actual teams channel ID",

  "BOTFRAMEWORK_CHANNELID": "msteams",

  "SIMPLEREST_INBOUND_REDISURL": "my local redisurl  server"

},

"Sources": {},

"Envs": {}

}

}

1 Like