Skip to content

Support using transcripts to generate tests #2181

@chrimc62

Description

@chrimc62

Problem

A convenient way to generate a test is to generate a transcript using the emulator and then turn that transcript into a test script. The issue is that randomness in bots makes it impossible to replay a transcript. In order to fix this, the SDK has:

  1. Defined middle ware in Adaptive.Testing to pick up a SetTestOptions custom event and copy the payload into conversation.testOptions. We made the payload open ended.
  2. Defined randomSeed to seed a random number generator or randomValue to return a constant value from all calls to random and adjusted all users of random to make use of that.
  3. Defined a bf plugin that converts a transcript into a test script that supports the history and mocking.
    What is missing is a way to emit SetTestOptions in the emulator. We need to emit SetTestOptions before the conversationUpdate event with the same conversation id in order to set the test options before the transcript starts. While this is a specific ask, it is also related to Be able to send arbitrary event/invoke with a JSON Payload #2174 which is the general requirement to emit any custom event.

Solution

For this specific event it could be a an additional drop down that allows restarting a conversation with test options. Ideally randomSeed/randomValue would be explicit together with open ended values. This could also be a framework for the more general requirements of #2174 where you can send a custom event with/without conversationUpdate.
[enhancement]

Metadata

Metadata

Assignees

Labels

EnhancementNew feature or request to evolve an additional feature

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions