Scripting memory not expanding

In my sriptingmemory.txt file, I have
|$Agree|
Case1|I Agree|

I added “–expandscriptingmemory” to the botium-cli
I also set “SCRIPTING_ENABLE_MEMORY”: true in botium.json

In my convo.txt file, I am using it as
BUTTONS $Agree

It is not working with the above setup
I also tried using the {{msg.scriptingMemory.Agree}}, that too doesnot seem to work
What am I doing wrong?

Can you please attach your full project directory

@Florian
I have a top level folder “test”
Under “test”, I have botium.json
Under “test”, I have convos folder. under convos folder, I have convo.txt and scriptingmemory.txt files

My command line ran from “test” folder is:
botium-cli run mochawesome --expandutterances --expandscriptingmemory --config botium.json --convos . --reporter-options "reportDir=./reports,reportFilename=testing"

what is the verbose log output

@Florian
MAC:test user$ botium-cli run mochawesome --expandutterances true --expandscriptingmemory true --config botium.json --convos . --reporter-options “reportDir=./reports” --verbose
botium-cli Using Botium configuration file botium.json +0ms
botium-cli-run command options: { _: [ ‘run’ ],
botium-cli-run expandutterances: ‘true’,
botium-cli-run expandscriptingmemory: ‘true’,
botium-cli-run config: ‘botium.json’,
botium-cli-run c: ‘botium.json’,
botium-cli-run convos: [ ‘.’ ],
botium-cli-run C: [ ‘.’ ],
botium-cli-run ‘reporter-options’: ‘reportDir=./reports’,
botium-cli-run reporterOptions: ‘reportDir=./reports’,
botium-cli-run verbose: true,
botium-cli-run v: true,
botium-cli-run output: ‘mochawesome’,
botium-cli-run testsuitename: ‘Botium Test-Suite’,
botium-cli-run n: ‘Botium Test-Suite’,
botium-cli-run timeout: 60,
botium-cli-run ‘$0’: ‘botium-cli’ } +0ms
botium-cli-run Mocha Reporter “mochawesome”, options: { reportDir: ‘./reports’ } +1ms
botium-core-BotDriver Loaded Botium configuration files /Users/user/botium/DL/foo1/spec/test/test/botium.json +0ms
botium-core-ScriptingProvider ReadConvosFromDirectory(.) found filenames: botium.json,convos/checkbox_test1.convo.txt,convos/vars2.scriptingmemory.txt,reports/mochawesome.json +0ms
botium-core-ScriptingProvider ReadConvosFromDirectory(.) found convos:
botium-core-ScriptingProvider 1 convos/checkbox_test1.convo.txt ({ convoDir: ‘.’, filename: ‘convos/checkbox_test1.convo.txt’ }): Line 1: #bot - TEXT1 BUTTONS($Agree,Decline) | Line 5: #me - I Agree | Line 8: #bot - I can help. What would you like to do? | Line 11: #me - Assess your risk +6ms
botium-core-ScriptingProvider ReadConvosFromDirectory(.) found utterances:
botium-core-ScriptingProvider none +0ms
botium-core-ScriptingProvider ReadConvosFromDirectory(.) found partial convos:
botium-core-ScriptingProvider none +1ms
botium-core-ScriptingProvider ReadConvosFromDirectory(.) scripting memories:
botium-core-ScriptingProvider { header: { name: ‘Case1’ },
botium-core-ScriptingProvider values: { ‘$Agree’: ‘I Agree’, ‘’: ‘’ },
botium-core-ScriptingProvider sourceTag: { filename: ‘convos/vars2.scriptingmemory.txt’ } } +0ms
botium-cli-run ready reading convos (1), expanding convos … +256ms
botium-cli-run expanding utterances … +0ms
botium-cli-run expanding scripting memory … +0ms
botium-core-ScriptingProvider ExpandScriptingMemoryToConvos - Convo “convos/checkbox_test1.convo.txt” - Variables to replace, all: “[]” +1ms
botium-core-ScriptingProvider ExpandScriptingMemoryToConvos - Convo “convos/checkbox_test1.convo.txt” - skipped, no variable found to replace +0ms
botium-core-ScriptingProvider ExpandScriptingMemoryToConvos - Convo “convos/checkbox_test1.convo.txt” - Scripting memory ["","$Agree"] ignored because there is no common variable with convo [] +1ms
botium-core-ScriptingProvider ExpandScriptingMemoryToConvos - Convo “convos/checkbox_test1.convo.txt” - Expanding convo “convos/checkbox_test1.convo.txt” Expanded 0 convo. (Details: 0 = ) +0ms
botium-core-ScriptingProvider ExpandScriptingMemoryToConvos - Deleting 0 original convo +0ms
botium-core-ScriptingProvider ExpandScriptingMemoryToConvos - 0 convo expanded, added to convos (1). Result 1 convo +0ms
botium-core-ScriptingProvider ExpandConvos - Using utterances expansion mode: all +0ms
botium-cli-run ready expanding convos and utterances, number of test cases: (1). +17ms
botium-cli-run adding test case convos/checkbox_test1.convo.txt (from: { convoDir: ‘.’, filename: ‘convos/checkbox_test1.convo.txt’ }) +31ms

Botium Test-Suite
botium-core-BotDriver Build - Botium Core Version: 1.11.2 +311ms
botium-core-BotDriver Build - Capabilites: { PROJECTNAME: ‘My Botium Project’,
botium-core-BotDriver TESTSESSIONNAME: ‘Botium Test Session’,
botium-core-BotDriver TESTCASENAME: ‘Botium Test Case’,
botium-core-BotDriver TEMPDIR: ‘botiumwork’,
botium-core-BotDriver CLEANUPTEMPDIR: true,
botium-core-BotDriver WAITFORBOTTIMEOUT: 10000,
botium-core-BotDriver SIMULATE_WRITING_SPEED: false,
botium-core-BotDriver SIMPLEREST_PING_RETRIES: 6,
botium-core-BotDriver SIMPLEREST_PING_TIMEOUT: 10000,
botium-core-BotDriver SIMPLEREST_PING_VERB: ‘GET’,
botium-core-BotDriver SIMPLEREST_PING_UPDATE_CONTEXT: true,
botium-core-BotDriver SIMPLEREST_STOP_RETRIES: 6,
botium-core-BotDriver SIMPLEREST_STOP_TIMEOUT: 10000,
botium-core-BotDriver SIMPLEREST_STOP_VERB: ‘GET’,
botium-core-BotDriver SIMPLEREST_START_RETRIES: 6,
botium-core-BotDriver SIMPLEREST_START_TIMEOUT: 10000,
botium-core-BotDriver SIMPLEREST_START_VERB: ‘GET’,
botium-core-BotDriver SIMPLEREST_POLL_VERB: ‘GET’,
botium-core-BotDriver SIMPLEREST_POLL_INTERVAL: 1000,
botium-core-BotDriver SIMPLEREST_POLL_UPDATE_CONTEXT: true,
botium-core-BotDriver SIMPLEREST_METHOD: ‘GET’,
botium-core-BotDriver SIMPLEREST_IGNORE_EMPTY: true,
botium-core-BotDriver SIMPLEREST_TIMEOUT: 10000,
botium-core-BotDriver SIMPLEREST_EXTRA_OPTIONS: {},
botium-core-BotDriver SIMPLEREST_STRICT_SSL: true,
botium-core-BotDriver SIMPLEREST_INBOUND_UPDATE_CONTEXT: true,
botium-core-BotDriver SIMPLEREST_CONTEXT_MERGE_OR_REPLACE: ‘MERGE’,
botium-core-BotDriver SCRIPTING_TXT_EOL: ‘\n’,
botium-core-BotDriver SCRIPTING_XLSX_EOL_WRITE: ‘\r\n’,
botium-core-BotDriver SCRIPTING_XLSX_HASHEADERS: true,
botium-core-BotDriver SCRIPTING_CSV_SKIP_HEADER: true,
botium-core-BotDriver SCRIPTING_CSV_QUOTE: ‘"’,
botium-core-BotDriver SCRIPTING_CSV_ESCAPE: ‘"’,
botium-core-BotDriver SCRIPTING_NORMALIZE_TEXT: true,
botium-core-BotDriver SCRIPTING_ENABLE_MEMORY: true,
botium-core-BotDriver SCRIPTING_ENABLE_MULTIPLE_ASSERT_ERRORS: false,
botium-core-BotDriver SCRIPTING_MATCHING_MODE: ‘wildcard’,
botium-core-BotDriver SCRIPTING_UTTEXPANSION_MODE: ‘all’,
botium-core-BotDriver SCRIPTING_UTTEXPANSION_RANDOM_COUNT: 1,
botium-core-BotDriver SCRIPTING_UTTEXPANSION_NAMING_MODE: ‘justLineTag’,
botium-core-BotDriver SCRIPTING_UTTEXPANSION_NAMING_UTTERANCE_MAX: ‘16’,
botium-core-BotDriver SCRIPTING_MEMORYEXPANSION_KEEP_ORIG: false,
botium-core-BotDriver ASSERTERS: [],
botium-core-BotDriver LOGIC_HOOKS: [],
botium-core-BotDriver USER_INPUTS: [],
botium-core-BotDriver SECURITY_ALLOW_UNSAFE: true,
botium-core-BotDriver CONTAINERMODE: ‘directline3’,
botium-core-BotDriver DIRECTLINE3_SECRET: ‘####’,
botium-core-BotDriver DIRECTLINE3_DOMAIN: ‘https://directline.botframework.com/v3/directline’,
botium-core-BotDriver DIRECTLINE3_WEBSOCKET: true,
botium-core-BotDriver DIRECTLINE3_POLLINGINTERVAL: 1000,
botium-core-BotDriver DIRECTLINE3_WELCOME_ACTIVITY:
botium-core-BotDriver { type: ‘invoke’,
botium-core-BotDriver name: ‘TScenario’,
botium-core-BotDriver value: { trigger: ‘Entrypoint’, args: [Object] } },
botium-core-BotDriver CONFIG: ‘botium.json’ } +1ms
botium-core-BotDriver Build - Sources : { LOCALPATH: ‘.’,
botium-core-BotDriver GITPATH: ‘git’,
botium-core-BotDriver GITBRANCH: ‘master’,
botium-core-BotDriver GITDIR: ‘.’ } +0ms
botium-core-BotDriver Build - Envs : { IS_BOTIUM_CONTAINER: true } +0ms
botium-connector-PluginConnectorContainer-helper Botium plugin botium-connector-directline3 loaded. Plugin version is 0.0.26 +0ms
botium-connector-directline3 Validate called +0ms
botium-connector-directline3 Build called +3ms
botium-connector-directline3 Start called +2ms
botium-connector-directline3 Directline Connection Status: 1 / Connecting +10ms
botium-connector-directline3 UserSays called +0ms
botium-connector-directline3 Posting activity {
“type”: “invoke”,
“name”: “TScenario”,
“value”: {
“trigger”: “Entrypoint”,
“args”: {
“brand”: “example”,
“customScheme”: “https”,
“tenantName”: “foo”
}
},
“from”: {
“id”: “me”
}
} +0ms
postActivity { type: ‘invoke’,
name: ‘TScenario’,
value:
{ trigger: ‘Entrypoint’,
args:
{ brand: ‘example’,
customScheme: ‘https’,
tenantName: ‘foo’ } },
from: { id: ‘me’ } }
creating WebSocket wss://directline.botframework.com/v3/directline/conversations/5FQ26jnLOsbIlXTjQbRZEq-o/stream?watermark=-&t=ew0KICAiYWxnIjogIlJTMjU2IiwNCiAgImtpZCI6ICJsY0oxTXFpNkdKYXdCZEw5Y0dieEt5S1R6OE0iLA0KICAieDV0IjogImxjSjFNcWk2R0phd0JkTDljR2J4S3lLVHo4TSIsDQogICJ0eXAiOiAiSldUIg0KfQ.ew0KICAiYm90IjogIkh5YnJpZEJvdFN0YWdlIiwNCiAgInNpdGUiOiAiUE5vRUlRSWM4MlEiLA0KICAiY29udiI6ICI1RlEyNmpuTE9zYklsWFRqUWJSWkVxLW8iLA0KICAibmJmIjogMTYxOTM5OTIzOSwNCiAgImV4cCI6IDE2MTkzOTkyOTksDQogICJpc3MiOiAiaHR0cHM6Ly9kaXJlY3RsaW5lLmJvdGZyYW1ld29yay5jb20vIiwNCiAgImF1ZCI6ICJodHRwczovL2RpcmVjdGxpbmUuYm90ZnJhbWV3b3JrLmNvbS8iDQp9.kdfYH0TCbd5XDkMiHuajGxrmaZvRT3N3REOI-ua5skBEoPXsG59quQU5yOE1fo6kD81uzM3WnbZ3zE3wClGmPThixr0uSShOwgZKaN9sCJn5pQYkACM5Y3SN3ocOxlcWPjXrevJ0-25_0rCpZYdj1Qj24NfkJjHnxrJnOQsSA1F4A4tk3C_Q_P0XppgdXY9sol0Qnx6v0qCpTuIuGGAklIO1OlKNz3QB7LyPDv_4vUTTEtCDTW8nmy8dHnRERqj2w8sB3Y2EYoJ1COHjjD42osU4O5o5Tzd00ZqCn6Eo0bJC6upOJuuIRgxxiJao8HZMStHrwCsjQpdyk4saTrV0Kg
botium-connector-directline3 Directline Connection Status: 2 / Online +525ms
botium-cli-run running testcase convos/checkbox_test1.convo.txt +1s
botium-core-Convo convos/checkbox_test1.convo.txt wait for bot +0ms
WebSocket open OpenEvent {
target:
WebSocket {
_events: { open: [Function], close: [Function], message: [Function] },
_eventsCount: 3,
_maxListeners: undefined,
_binaryType: ‘nodebuffer’,
_closeCode: 1006,
_closeFrameReceived: false,
_closeFrameSent: false,
_closeMessage: ‘’,
_closeTimer: null,
_extensions: {},
_protocol: ‘’,
_readyState: 1,
_receiver:
Receiver {
_writableState: [WritableState],
writable: true,
_events: [Object],
_eventsCount: 6,
_maxListeners: undefined,
_binaryType: ‘nodebuffer’,
_extensions: {},
_isServer: false,
_maxPayload: 104857600,
_bufferedBytes: 0,
_buffers: [],
_compressed: false,
_payloadLength: 0,
_mask: undefined,
_fragmented: 0,
_masked: false,
_fin: false,
_opcode: 0,
_totalPayloadLength: 0,
_messageLength: 0,
_fragments: [],
_state: 0,
_loop: false,
[Symbol(websocket)]: [Circular] },
_sender:
Sender {
_extensions: {},
_socket: [TLSSocket],
_firstFragment: true,
_compress: false,
_bufferedBytes: 0,
_deflating: false,
_queue: [] },
_socket:
TLSSocket {
_tlsOptions: [Object],
_secureEstablished: true,
_securePending: false,
_newSessionPending: false,
_controlReleased: true,
_SNICallback: null,
servername: ‘directline.botframework.com’,
alpnProtocol: false,
authorized: true,
authorizationError: null,
encrypted: true,
_events: [Object],
_eventsCount: 5,
connecting: false,
_hadError: false,
_handle: [TLSWrap],
_parent: null,
_host: ‘directline.botframework.com’,
_readableState: [ReadableState],
readable: true,
_maxListeners: undefined,
_writableState: [WritableState],
writable: true,
allowHalfOpen: false,
_sockname: null,
_pendingData: null,
_pendingEncoding: ‘’,
server: undefined,
_server: null,
ssl: [TLSWrap],
_requestCert: true,
_rejectUnauthorized: true,
parser: null,
_httpMessage: null,
timeout: 0,
[Symbol(res)]: [TLSWrap],
[Symbol(asyncId)]: 93,
[Symbol(lastWriteQueueSize)]: 0,
[Symbol(timeout)]: null,
[Symbol(kBytesRead)]: 0,
[Symbol(kBytesWritten)]: 0,
[Symbol(connect-options)]: [Object],
[Symbol(websocket)]: [Circular] },
_bufferedAmount: 0,
_isServer: false,
_redirects: 0,
_url:
‘wss://directline.botframework.com/v3/directline/conversations/5FQ26jnLOsbIlXTjQbRZEq-o/stream?watermark=-&t=ew0KICAiYWxnIjogIlJTMjU2IiwNCiAgImtpZCI6ICJsY0oxTXFpNkdKYXdCZEw5Y0dieEt5S1R6OE0iLA0KICAieDV0IjogImxjSjFNcWk2R0phd0JkTDljR2J4S3lLVHo4TSIsDQogICJ0eXAiOiAiSldUIg0KfQ.ew0KICAiYm90IjogIkh5YnJpZEJvdFN0YWdlIiwNCiAgInNpdGUiOiAiUE5vRUlRSWM4MlEiLA0KICAiY29udiI6ICI1RlEyNmpuTE9zYklsWFRqUWJSWkVxLW8iLA0KICAibmJmIjogMTYxOTM5OTIzOSwNCiAgImV4cCI6IDE2MTkzOTkyOTksDQogICJpc3MiOiAiaHR0cHM6Ly9kaXJlY3RsaW5lLmJvdGZyYW1ld29yay5jb20vIiwNCiAgImF1ZCI6ICJodHRwczovL2RpcmVjdGxpbmUuYm90ZnJhbWV3b3JrLmNvbS8iDQp9.kdfYH0TCbd5XDkMiHuajGxrmaZvRT3N3REOI-ua5skBEoPXsG59quQU5yOE1fo6kD81uzM3WnbZ3zE3wClGmPThixr0uSShOwgZKaN9sCJn5pQYkACM5Y3SN3ocOxlcWPjXrevJ0-25_0rCpZYdj1Qj24NfkJjHnxrJnOQsSA1F4A4tk3C_Q_P0XppgdXY9sol0Qnx6v0qCpTuIuGGAklIO1OlKNz3QB7LyPDv_4vUTTEtCDTW8nmy8dHnRERqj2w8sB3Y2EYoJ1COHjjD42osU4O5o5Tzd00ZqCn6Eo0bJC6upOJuuIRgxxiJao8HZMStHrwCsjQpdyk4saTrV0Kg’,
_req: null },
type: ‘open’ }
botium-connector-directline3 Posted activity, assigned ID: 5FQ26jnLOsbIlXTjQbRZEq-o|0000000 +773ms
botium-connector-directline3 received message {
“type”: “message”,
“id”: “5FQ26jnLOsbIlXTjQbRZEq-o|0000002”,
“timestamp”: “2021-04-26T01:07:21.7114329Z”,
“serviceUrl”: “https://directline.botframework.com/”,
“channelId”: “directline”,
“from”: {
“id”: “###”,
“name”: “HBot”
},
“conversation”: {
“id”: “###”
},
“recipient”: {
“id”: “###”,
“name”: “HBot”
},
“text”: “TEXT1”,
“speak”: “TEXT1\nSelect one of the following options: \n1. I Agree2. Decline”,
“inputHint”: “expectingInput”,
“attachments”: [
{
“contentType”: “application/vnd.microsoft.card.hero”,
“content”: {
“buttons”: [
{
“title”: “I Agree”,
“type”: “imBack”,
“value”: “I Agree”
},
{
“title”: “Decline”,
“type”: “imBack”,
“value”: “Decline”
}
]
}
}
]
} +1s
botium-core-Convo convos/checkbox_test1.convo.txt: bot says (cleaned by binary and base64 data and sourceData) {
botium-core-Convo “sender”: “bot”,
botium-core-Convo “media”: [],
botium-core-Convo “buttons”: [],
botium-core-Convo “cards”: [
botium-core-Convo {
botium-core-Convo “buttons”: [
botium-core-Convo {
botium-core-Convo “text”: “I Agree”,
botium-core-Convo “payload”: “I Agree”
botium-core-Convo },
botium-core-Convo {
botium-core-Convo “text”: “Decline”,
botium-core-Convo “payload”: “Decline”
botium-core-Convo }
botium-core-Convo ],
botium-core-Convo “sourceData”: {
botium-core-Convo “contentType”: “application/vnd.microsoft.card.hero”,
botium-core-Convo “content”: {
botium-core-Convo “buttons”: [
botium-core-Convo {
botium-core-Convo “title”: “I Agree”,
botium-core-Convo “type”: “imBack”,
botium-core-Convo “value”: “I Agree”
botium-core-Convo },
botium-core-Convo {
botium-core-Convo “title”: “Decline”,
botium-core-Convo “type”: “imBack”,
botium-core-Convo “value”: “Decline”
botium-core-Convo }
botium-core-Convo ]
botium-core-Convo }
botium-core-Convo }
botium-core-Convo }
botium-core-Convo ],
botium-core-Convo “forms”: [],
botium-core-Convo “messageText”: “TEXT1”,
botium-core-Convo “channel”: “default”
botium-core-Convo } +2s
botium-core-ScriptingMemory fill start: {} +0ms
botium-core-ScriptingMemory fill end: {} +1ms
botium-core-ScriptingProvider assertBotResponse convos/checkbox_test1.convo.txt/Line 1 BOT: TEXT1 … +3s
botium-core-Convo BotiumError: convos/checkbox_test1.convo.txt/Line 1: assertion error - Line 1: Expected button(s) with text “$Agree”
botium-core-Convo at botiumErrorFromErr (/Users/user/.nvm/versions/node/v10.13.0/lib/node_modules/botium-cli/node_modules/botium-core/src/scripting/BotiumError.js:83:12)
botium-core-Convo at Convo.runConversation (/Users/user/.nvm/versions/node/v10.13.0/lib/node_modules/botium-cli/node_modules/botium-core/src/scripting/Convo.js:464:31) +7ms
botium-cli-run convos/checkbox_test1.convo.txt failed: { TranscriptError: convos/checkbox_test1.convo.txt/Line 1: assertion error - Line 1: Expected button(s) with text “$Agree”
botium-cli-run at Convo.Run (/Users/user/.nvm/versions/node/v10.13.0/lib/node_modules/botium-cli/node_modules/botium-core/src/scripting/Convo.js:256:15)
botium-cli-run name: ‘TranscriptError’,
botium-cli-run transcript:
botium-cli-run Transcript {
botium-cli-run steps: [ [TranscriptStep] ],
botium-cli-run attachments: [],
botium-cli-run scriptingMemory: {},
botium-cli-run convoBegin: 2021-04-26T01:07:19.705Z,
botium-cli-run convoEnd: 2021-04-26T01:07:21.831Z,
botium-cli-run err:
botium-cli-run { BotiumError: convos/checkbox_test1.convo.txt/Line 1: assertion error - Line 1: Expected button(s) with text “$Agree”
botium-cli-run at botiumErrorFromErr (/Users/user/.nvm/versions/node/v10.13.0/lib/node_modules/botium-cli/node_modules/botium-core/src/scripting/BotiumError.js:83:12)
botium-cli-run at Convo.runConversation (/Users/user/.nvm/versions/node/v10.13.0/lib/node_modules/botium-cli/node_modules/botium-core/src/scripting/Convo.js:464:31) name: ‘BotiumError’, context: [Object] } },
botium-cli-run cause:
botium-cli-run { BotiumError: convos/checkbox_test1.convo.txt/Line 1: assertion error - Line 1: Expected button(s) with text “$Agree”
botium-cli-run at botiumErrorFromErr (/Users/user/.nvm/versions/node/v10.13.0/lib/node_modules/botium-cli/node_modules/botium-core/src/scripting/BotiumError.js:83:12)
botium-cli-run at Convo.runConversation (/Users/user/.nvm/versions/node/v10.13.0/lib/node_modules/botium-cli/node_modules/botium-core/src/scripting/Convo.js:464:31)
botium-cli-run name: ‘BotiumError’,
botium-cli-run context:
botium-cli-run { type: ‘asserter’,
botium-cli-run source: ‘ButtonsAsserter’,
botium-cli-run params: [Object],
botium-cli-run cause: [Object],
botium-cli-run message:
botium-cli-run ‘convos/checkbox_test1.convo.txt/Line 1: assertion error - Line 1: Expected button(s) with text “$Agree”’ } } } +2s
1) convos/checkbox_test1.convo.txt
botium-connector-directline3 Stop called +17ms
botium-connector-directline3 unsubscribed from directline activity subscription +1ms
botium-connector-directline3 unsubscribing from directline connectionstatus subscription +0ms
botium-connector-directline3 ending directline connection +0ms
botium-connector-directline3 Clean called +1ms
botium-connector-BaseContainer Cleanup rimrafing temp dir /Users/user/botium/DL/foo1/spec/test/test/botiumwork/My Botium Project 20210425 180718 zAOVI +0ms

0 passing (3s)
1 failing

  1. Botium Test-Suite
    convos/checkbox_test1.convo.txt:
    Error: convos/checkbox_test1.convo.txt/Line 1: assertion error - Line 1: Expected button(s) with text “$Agree”
    ########################################
    ASSERTION FAILED in ButtonsAsserter - Expected: ["$Agree",“Decline”] - Actual: [“I Agree”,“Decline”]
    at wrapBotiumError (/Users/user/.nvm/versions/node/v10.13.0/lib/node_modules/botium-cli/src/run/index.js:76:12)
    at finish (/Users/user/.nvm/versions/node/v10.13.0/lib/node_modules/botium-cli/src/run/index.js:205:24)
    at convo.Run.then.catch (/Users/user/.nvm/versions/node/v10.13.0/lib/node_modules/botium-cli/src/run/index.js:218:11)

[mochawesome] Report JSON saved to /Users/user/botium/DL/foo1/spec/test/test/reports/mochawesome.json

[mochawesome] Report HTML saved to /Users/user/botium/DL/foo1/spec/test/test/reports/mochawesome.html

WebSocket close CloseEvent {
target:
WebSocket {
_events: { open: [Function], close: [Function], message: [Function] },
_eventsCount: 3,
_maxListeners: undefined,
_binaryType: ‘nodebuffer’,
_closeCode: 1006,
_closeFrameReceived: false,
_closeFrameSent: true,
_closeMessage: ‘’,
_closeTimer:
Timeout {
_called: false,
_idleTimeout: -1,
_idlePrev: null,
_idleNext: null,
_idleStart: 4080,
_onTimeout: null,
_timerArgs: undefined,
_repeat: null,
_destroyed: false,
[Symbol(unrefed)]: false,
[Symbol(asyncId)]: 178,
[Symbol(triggerId)]: 0 },
_extensions: {},
_protocol: ‘’,
_readyState: 3,
_receiver:
Receiver {
_writableState: [WritableState],
writable: false,
_events: {},
_eventsCount: 0,
_maxListeners: undefined,
_binaryType: ‘nodebuffer’,
_extensions: {},
_isServer: false,
_maxPayload: 104857600,
_bufferedBytes: 0,
_buffers: [],
_compressed: false,
_payloadLength: 211,
_mask: undefined,
_fragmented: 0,
_masked: false,
_fin: true,
_opcode: 1,
_totalPayloadLength: 0,
_messageLength: 0,
_fragments: [],
_state: 0,
_loop: false,
[Symbol(websocket)]: [Circular] },
_sender:
Sender {
_extensions: {},
_socket: [TLSSocket],
_firstFragment: true,
_compress: false,
_bufferedBytes: 0,
_deflating: false,
_queue: [] },
_socket:
TLSSocket {
_tlsOptions: [Object],
_secureEstablished: true,
_securePending: false,
_newSessionPending: false,
_controlReleased: true,
_SNICallback: null,
servername: ‘directline.botframework.com’,
alpnProtocol: false,
authorized: true,
authorizationError: null,
encrypted: true,
_events: [Object],
_eventsCount: 4,
connecting: false,
_hadError: false,
_handle: null,
_parent: null,
_host: ‘directline.botframework.com’,
_readableState: [ReadableState],
readable: false,
_maxListeners: undefined,
_writableState: [WritableState],
writable: false,
allowHalfOpen: false,
_sockname: null,
_pendingData: null,
_pendingEncoding: ‘’,
server: undefined,
_server: null,
ssl: null,
_requestCert: true,
_rejectUnauthorized: true,
parser: null,
_httpMessage: null,
timeout: 0,
write: [Function: writeAfterFIN],
[Symbol(res)]: null,
[Symbol(asyncId)]: 93,
[Symbol(lastWriteQueueSize)]: 0,
[Symbol(timeout)]: null,
[Symbol(kBytesRead)]: 4159,
[Symbol(kBytesWritten)]: 1142,
[Symbol(connect-options)]: [Object],
[Symbol(websocket)]: undefined },
_bufferedAmount: 0,
_isServer: false,
_redirects: 0,
_url:
‘wss://directline.botframework.com/v3/directline/conversations/5FQ26jnLOsbIlXTjQbRZEq-o/stream?watermark=-&t=ew0KICAiYWxnIjogIlJTMjU2IiwNCiAgImtpZCI6ICJsY0oxTXFpNkdKYXdCZEw5Y0dieEt5S1R6OE0iLA0KICAieDV0IjogImxjSjFNcWk2R0phd0JkTDljR2J4S3lLVHo4TSIsDQogICJ0eXAiOiAiSldUIg0KfQ.ew0KICAiYm90IjogIkh5YnJpZEJvdFN0YWdlIiwNCiAgInNpdGUiOiAiUE5vRUlRSWM4MlEiLA0KICAiY29udiI6ICI1RlEyNmpuTE9zYklsWFRqUWJSWkVxLW8iLA0KICAibmJmIjogMTYxOTM5OTIzOSwNCiAgImV4cCI6IDE2MTkzOTkyOTksDQogICJpc3MiOiAiaHR0cHM6Ly9kaXJlY3RsaW5lLmJvdGZyYW1ld29yay5jb20vIiwNCiAgImF1ZCI6ICJodHRwczovL2RpcmVjdGxpbmUuYm90ZnJhbWV3b3JrLmNvbS8iDQp9.kdfYH0TCbd5XDkMiHuajGxrmaZvRT3N3REOI-ua5skBEoPXsG59quQU5yOE1fo6kD81uzM3WnbZ3zE3wClGmPThixr0uSShOwgZKaN9sCJn5pQYkACM5Y3SN3ocOxlcWPjXrevJ0-25_0rCpZYdj1Qj24NfkJjHnxrJnOQsSA1F4A4tk3C_Q_P0XppgdXY9sol0Qnx6v0qCpTuIuGGAklIO1OlKNz3QB7LyPDv_4vUTTEtCDTW8nmy8dHnRERqj2w8sB3Y2EYoJ1COHjjD42osU4O5o5Tzd00ZqCn6Eo0bJC6upOJuuIRgxxiJao8HZMStHrwCsjQpdyk4saTrV0Kg’,
_req: null },
type: ‘close’,
wasClean: false,
reason: ‘’,
code: 1006 }
MAC:test user$

@spcspc

Scripting memory is good for creating more convos using a “convo template”, and more scripting memory definitions. Like buying pizza with cheese, or bacon. We dont change the conversation flow for buying a pizza defined in template, just buying different one.

Buttons are usually for controlling the flow. It means that using scripting memory file for buttons is mostly an antipattern. But maybe your case is an exception. Can you tell me why do you need it?

And you have just one scripting memory definition for “agree”. It can be an antipattern too, usually its simplier to put the value direct into the conversation. Or you are using just one on purpose?