Botium是一个开源的对话式AI测试框架,用于测试聊天机器人和虚拟助手
npm install -g botium-cli
botium-project init
botium.json
文件中,添加一个适配器配置。例如,如果您使用的是Facebook Messenger,可以添加以下内容:{
"src": "./src",
"resources": "./resources",
"envs": {
"facebook": {
"adapter": "facebook",
"config": {
"page_token": "<your_page_token>",
"verify_token": "<your_verify_token>"
}
}
}
}
resources
文件夹中,创建一个名为facebook
的子文件夹。在该文件夹中,创建一个名为botium.json
的文件,其中包含Facebook适配器的配置。conversational-templates
的文件夹,其中包含与您的聊天机器人相关的对话模板。这些模板可以帮助Botium理解和处理来自适配卡的输入。test
文件夹中编写测试脚本。例如,您可以创建一个名为facebook.test.js
的文件,并在其中编写以下内容:const assert = require('assert');
const { BotiumMockMessage } = require('botium-core');
describe('Facebook Adapter', () => {
it('should handle card inputs', async () => {
const botium = require('botium-cli/bin/botium.js');
const botiumEnv = await botium.getenv();
const driver = botiumEnv.driverFactory.facebook();
// 使用虚拟的Facebook消息进行测试
const message = new BotiumMockMessage({
attachment: {
type: 'template',
payload: {
template_type: 'generic',
elements: [
{
title: 'Title',
subtitle: 'Subtitle',
buttons: [
{
type: 'postback',
title: 'Button',
payload: 'BUTTON_PAYLOAD'
}
]
}
]
}
}
});
// 将消息传递给适配器并获取响应
const response = await driver.handleMessage(message);
// 验证响应是否符合预期
assert(response.messages.length > 0);
});
});
botium-cli run facebook
这个示例仅演示了如何处理来自Facebook适配卡的基本输入。您可以根据需要扩展和自定义这些测试用例。
请注意,这只是一个简单的示例,实际情况可能会有所不同。您可能需要在测试脚本中处理更复杂的场景,例如处理按钮点击事件、表单提交等。具体实现取决于您的聊天机器人和适配器的配置。
领取专属 10元无门槛券
手把手带您无忧上云