Botium Botkit 4.0:指定 userId

Botium Botkit 4.0: Specify userId

如何在 Botkit 4.0 的 Botium 连接器中指定 userId

在 0.7 中,我可以在我的 .spec.js 文件中指定 BOTKIT_USERID

测试不同用户组的响应很有用。

Botium Botkit 4.x Connector is based on the Botium Generic HTTP/JSON Connector,因此可以完全自定义负载,包括用户 ID。

默认情况下,消息有效负载由消息文本和生成的唯一用户 ID 组成:

{ "text": "{{msg.messageText}}", "user": "{{botium.conversationId}}", "type": "message"}

您可以在 botium.json 中更改此设置:

...
"BOTKIT_4_0_BODY_TEMPLATE": "{ \"text\": \"{{msg.messageText}}\", \"user\": \"my-user-id\", \"type\": \"message\"}",
...

或者您也可以使用 UPDATE_CUSTOM 逻辑挂钩为每个测试用例设置不同的用户 ID - mytestcase.convo.txt:

my test case

#begin
UPDATE_CUSTOM BOTKIT_USER_ID|1234567

#me
hallo ...
...

在你的botium.json中:

...
"BOTKIT_4_0_BODY_TEMPLATE": "{ \"text\": \"{{msg.messageText}}\", \"user\": \"{{msg.BOTKIT_USER_ID}}{{^msg.BOTKIT_USER_ID}}my-default-user-id{{/msg.BOTKIT_USER_ID}}\", \"type\": \"message\"}",
...

更新

您还可以在 botium.json 中使用文字 JSON 来指定正文模板,而不是包含所有转义字符的文字字符串:

...
"BOTKIT_4_0_BODY_TEMPLATE": {
    "text": "{{msg.messageText}}", 
    "user": "my-user-id",
    "type": "message"
},
...

更容易阅读。取决于您的设置。

更新 2

要使用 #begin 部分中的 UPDATE_CUSTOM 逻辑挂钩,有一个 pull request 未完成。现在,您只能在 #me 部分使用 UPDATE_CUSTOM,要使用用户 ID,您必须为每个 #me 部分重复此操作:

my test case

#me
hallo
UPDATE_CUSTOM BOTKIT_USER_ID|1234567
...