microsoft / microsoft/BotFunctionalTestingService

My transcript file contains two message interactions however direct line activities sis only returning one message

Open
#26 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
18
Forks
16
PR merge metrics
No merged PRs in 30d

Description

In directlineclient.js line 106, with the following transcript json my messages.length is always less than my nExpectedActivities.
My messages.length = 1 and my nExpectedActivities = 2

This call
https://directline.botframework.com/v3/directline/conversations/3FXT8Ynl90pfTNpNuAF4O-6/activities
only return one activity. I noticed that the user answer/response was not being pulled but the question was being pulled.
I would expect a messages.length of 2.

I am using the latest BOT composer and Emulator.
What is the expectation of the transcript file? Was directlineclient.js written to handle a different transcript format?

Thank you!

Got 1 total activities (including user's response)
We have less than expected 2 activities - retry number 18...



pollMessages messages: [
    {
        "type": "message",
        "id": "2cTuGxy7T2BDk7MnymzbHf-j|0000000",
        "timestamp": "2021-06-23T16:10:28.6162545Z",
        "channelId": "directline",
        "from": {
            "id": "cw-first-bot-poc",
            "name": "cw-first-bot-poc"
        },
        "conversation": {
            "id": "2cTuGxy7T2BDk7MnymzbHf-j"
        },
        "text": "What is your age?",
        "speak": "What is your age?",
        "inputHint": "expectingInput",
        "replyToId": "HNiTisR5DB3"
    }
]

failure: "Test #0: User message 'undefined' response failed - Could not obtain 2 responses"

TRANSCRIPT JSON:

[
  {
    "type": "conversationUpdate",
    "membersAdded": [
      {
        "id": "83d3e8b0-d42a-11eb-8404-09f92c9ce3b2",
        "name": "Bot"
      },
      {
        "id": "3b224ec6-5943-49cb-9e56-88974ea58c56",
        "name": "User"
      }
    ],
    "membersRemoved": [],
    "channelId": "emulator",
    "conversation": {
      "id": "83e0e100-d42a-11eb-8492-297aa9d16fb6|livechat"
    },
    "id": "84214560-d42a-11eb-8492-297aa9d16fb6",
    "localTimestamp": "2021-06-23T09:54:23-04:00",
    "recipient": {
      "id": "83d3e8b0-d42a-11eb-8404-09f92c9ce3b2",
      "name": "Bot",
      "role": "bot"
    },
    "timestamp": "2021-06-23T13:54:23.540Z",
    "from": {
      "id": "3b224ec6-5943-49cb-9e56-88974ea58c56",
      "name": "User",
      "role": "user"
    },
    "locale": "en-US",
    "serviceUrl": "https://072328c54bb5.ngrok.io"
  },
  {
    "type": "message",
    "serviceUrl": "https://072328c54bb5.ngrok.io",
    "channelId": "emulator",
    "from": {
      "id": "83d3e8b0-d42a-11eb-8404-09f92c9ce3b2",
      "name": "Bot",
      "role": "bot"
    },
    "conversation": {
      "id": "83e0e100-d42a-11eb-8492-297aa9d16fb6|livechat"
    },
    "recipient": {
      "id": "3b224ec6-5943-49cb-9e56-88974ea58c56",
      "role": "user"
    },
    "locale": "en-US",
    "text": "Welcome to your bot.",
    "speak": "<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis' xml:lang='en-US'><voice name='en-US-AriaNeural'>Welcome to your bot.</voice></speak>",
    "replyToId": "84214560-d42a-11eb-8492-297aa9d16fb6",
    "id": "87f9ebb0-d42a-11eb-8492-297aa9d16fb6",
    "localTimestamp": "2021-06-23T09:54:29-04:00",
    "timestamp": "2021-06-23T13:54:29.995Z"
  },
  {
    "type": "message",
    "serviceUrl": "https://072328c54bb5.ngrok.io",
    "channelId": "emulator",
    "from": {
      "id": "83d3e8b0-d42a-11eb-8404-09f92c9ce3b2",
      "name": "Bot",
      "role": "bot"
    },
    "conversation": {
      "id": "83e0e100-d42a-11eb-8492-297aa9d16fb6|livechat"
    },
    "recipient": {
      "id": "3b224ec6-5943-49cb-9e56-88974ea58c56",
      "role": "user"
    },
    "locale": "en-US",
    "text": "What is your age?",
    "speak": "<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis' xml:lang='en-US'><voice name='en-US-AriaNeural'>What is your age?</voice></speak>",
    "inputHint": "expectingInput",
    "replyToId": "84214560-d42a-11eb-8492-297aa9d16fb6",
    "id": "880a3f60-d42a-11eb-8492-297aa9d16fb6",
    "localTimestamp": "2021-06-23T09:54:30-04:00",
    "timestamp": "2021-06-23T13:54:30.101Z"
  },
  {
    "type": "trace",
    "serviceUrl": "https://072328c54bb5.ngrok.io",
    "channelId": "emulator",
    "from": {
      "id": "83d3e8b0-d42a-11eb-8404-09f92c9ce3b2",
      "name": "Bot",
      "role": "bot"
    },
    "conversation": {
      "id": "83e0e100-d42a-11eb-8492-297aa9d16fb6|livechat"
    },
    "recipient": {
      "id": "3b224ec6-5943-49cb-9e56-88974ea58c56",
      "role": "user"
    },
    "locale": "en-US",
    "replyToId": "84214560-d42a-11eb-8492-297aa9d16fb6",
    "label": "Bot State",
    "valueType": "https://www.botframework.com/schemas/botState",
    "value": {
      "dialog": {
        "eventCounter": 1,
        "_adaptive": {
          "actions": [
            {
              "dialogId": "ActionScope[TextInput,SendActivity(${SendActivity_YazHvo()})]",
              "options": null,
              "dialogStack": [
                {
                  "id": "TextInput",
                  "state": {
                    "options": null,
                    "turnCount": 1,
                    "value": null
                  },
                  "StackIndex": null,
                  "Version": null
                },
                {
                  "id": "ActionScope[TextInput,SendActivity(${SendActivity_YazHvo()})]",
                  "state": {
                    "offset": 0
                  },
                  "StackIndex": null,
                  "Version": null
                }
              ]
            }
          ]
        }
      },
      "this": {
        "options": null,
        "turnCount": 1,
        "value": null
      },
      "conversation": {
        "DialogState": {
          "dialogStack": [
            {
              "id": "FirstBot",
              "state": {
                "eventCounter": 2,
                "_adaptive": {
                  "actions": [
                    {
                      "dialogId": "ActionScope[Foreach(=`turn.Activity.membersAdded`),BeginDialog.../HMn7IuEwg1pzJR1C1ESjIlSTHKboW2OK+VcPrjmxIc=]",
                      "options": null,
                      "dialogStack": [
                        {
                          "id": "Age",
                          "state": {
                            "eventCounter": 1,
                            "_adaptive": {
                              "actions": [
                                {
                                  "dialogId": "ActionScope[TextInput,SendActivity(${SendActivity_YazHvo()})]",
                                  "options": null,
                                  "dialogStack": [
                                    {
                                      "id": "TextInput",
                                      "state": {
                                        "options": null,
                                        "turnCount": 1,
                                        "value": null
                                      },
                                      "StackIndex": null,
                                      "Version": null
                                    },
                                    {
                                      "id": "ActionScope[TextInput,SendActivity(${SendActivity_YazHvo()})]",
                                      "state": {
                                        "offset": 0
                                      },
                                      "StackIndex": null,
                                      "Version": null
                                    }
                                  ]
                                }
                              ]
                            }
                          },
                          "StackIndex": null,
                          "Version": "FNSPQcBzNtm+Z9NANQxtvRTSLobamkBkUwsO1Na1zKA="
                        },
                        {
                          "id": "BeginDialog[Age]",
                          "state": {},
                          "StackIndex": null,
                          "Version": null
                        },
                        {
                          "id": "ActionScope[Foreach(=`turn.Activity.membersAdded`),BeginDialog.../HMn7IuEwg1pzJR1C1ESjIlSTHKboW2OK+VcPrjmxIc=]",
                          "state": {
                            "offset": 1
                          },
                          "StackIndex": null,
                          "Version": null
                        }
                      ]
                    }
                  ]
                },
                "foreach": {
                  "index": 1,
                  "value": {
                    "id": "3b224ec6-5943-49cb-9e56-88974ea58c56",
                    "name": "User"
                  }
                }
              },
              "StackIndex": null,
              "Version": "8NSC3+47aKLKSiw7atczY4839850/2guTQz+9s4vHSY="
            }
          ]
        }
      },
      "user": {}
    },
    "name": "BotState",
    "id": "881562f0-d42a-11eb-8492-297aa9d16fb6",
    "localTimestamp": "2021-06-23T09:54:30-04:00",
    "timestamp": "2021-06-23T13:54:30.175Z"
  },
  {
    "channelData": {
      "clientActivityID": "1624456475268uei7iztlgn",
      "clientTimestamp": "2021-06-23T13:54:35.269Z"
    },
    "text": "263",
    "textFormat": "plain",
    "type": "message",
    "channelId": "emulator",
    "from": {
      "id": "3b224ec6-5943-49cb-9e56-88974ea58c56",
      "name": "User",
      "role": "user"
    },
    "locale": "en-US",
    "timestamp": "2021-06-23T13:54:35.315Z",
    "entities": [
      {
        "requiresBotState": true,
        "supportsListening": true,
        "supportsTts": true,
        "type": "ClientCapabilities"
      }
    ],
    "conversation": {
      "id": "83e0e100-d42a-11eb-8492-297aa9d16fb6|livechat"
    },
    "id": "8b25b030-d42a-11eb-8492-297aa9d16fb6",
    "localTimestamp": "2021-06-23T09:54:35-04:00",
    "recipient": {
      "id": "83d3e8b0-d42a-11eb-8404-09f92c9ce3b2",
      "name": "Bot",
      "role": "bot"
    },
    "serviceUrl": "https://072328c54bb5.ngrok.io"
  },
  {
    "type": "trace",
    "timestamp": "2021-06-23T13:54:36.054Z",
    "serviceUrl": "https://072328c54bb5.ngrok.io",
    "channelId": "emulator",
    "from": {
      "id": "83d3e8b0-d42a-11eb-8404-09f92c9ce3b2",
      "name": "Bot",
      "role": "bot"
    },
    "conversation": {
      "id": "83e0e100-d42a-11eb-8492-297aa9d16fb6|livechat"
    },
    "recipient": {
      "id": "3b224ec6-5943-49cb-9e56-88974ea58c56",
      "role": "user"
    },
    "locale": "en-US",
    "replyToId": "8b25b030-d42a-11eb-8492-297aa9d16fb6",
    "label": "LuisV3 Trace",
    "valueType": "https://www.luis.ai/schemas/trace",
    "value": {
      "recognizerResult": {
        "text": "263",
        "alteredText": null,
        "intents": {
          "None": {
            "score": 0.91405714
          }
        },
        "entities": {}
      },
      "luisModel": {
        "ModelID": "5f0d3bcb-4adc-4f41-8538-3e5284e984bb"
      },
      "luisOptions": {
        "IncludeAllIntents": false,
        "IncludeInstanceData": false,
        "IncludeAPIResults": false,
        "Log": true,
        "DynamicLists": null,
        "ExternalEntities": null,
        "PreferExternalEntities": true,
        "DateTimeReference": null,
        "Slot": "production",
        "Version": null
      },
      "luisResult": {
        "query": "263",
        "prediction": {
          "topIntent": "None",
          "intents": {
            "None": {
              "score": 0.91405714
            }
          },
          "entities": {}
        }
      }
    },
    "name": "LuisRecognizer",
    "id": "8b967360-d42a-11eb-8492-297aa9d16fb6",
    "localTimestamp": "2021-06-23T09:54:36-04:00"
  },
  {
    "type": "message",
    "serviceUrl": "https://072328c54bb5.ngrok.io",
    "channelId": "emulator",
    "from": {
      "id": "83d3e8b0-d42a-11eb-8404-09f92c9ce3b2",
      "name": "Bot",
      "role": "bot"
    },
    "conversation": {
      "id": "83e0e100-d42a-11eb-8492-297aa9d16fb6|livechat"
    },
    "recipient": {
      "id": "3b224ec6-5943-49cb-9e56-88974ea58c56",
      "role": "user"
    },
    "locale": "en-US",
    "text": "You are still young!",
    "speak": "<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis' xml:lang='en-US'><voice name='en-US-AriaNeural'>You are still young!</voice></speak>",
    "replyToId": "8b25b030-d42a-11eb-8492-297aa9d16fb6",
    "id": "8ba5b5a0-d42a-11eb-8492-297aa9d16fb6",
    "localTimestamp": "2021-06-23T09:54:36-04:00",
    "timestamp": "2021-06-23T13:54:36.154Z"
  },
  {
    "type": "trace",
    "serviceUrl": "https://072328c54bb5.ngrok.io",
    "channelId": "emulator",
    "from": {
      "id": "83d3e8b0-d42a-11eb-8404-09f92c9ce3b2",
      "name": "Bot",
      "role": "bot"
    },
    "conversation": {
      "id": "83e0e100-d42a-11eb-8492-297aa9d16fb6|livechat"
    },
    "recipient": {
      "id": "3b224ec6-5943-49cb-9e56-88974ea58c56",
      "role": "user"
    },
    "locale": "en-US",
    "replyToId": "8b25b030-d42a-11eb-8492-297aa9d16fb6",
    "label": "Bot State",
    "valueType": "https://www.botframework.com/schemas/botState",
    "value": {
      "conversation": {
        "DialogState": {
          "dialogStack": []
        }
      },
      "user": {}
    },
    "name": "BotState",
    "id": "8bafc7c0-d42a-11eb-8492-297aa9d16fb6",
    "localTimestamp": "2021-06-23T09:54:36-04:00",
    "timestamp": "2021-06-23T13:54:36.220Z"
  }
]

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at directlineclient.js line 106 and compare its polling behavior with the supplied transcript and Direct Line activities response. Reproduce the case containing the bot question and user response; done when both expected message activities are returned or the transcript-format limitation is documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api, testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.