首页 > 解决方案 > 使用 botium-cli 运行自定义示例时找不到 webdriver 模块?

问题描述

我正在使用 Windows 10,并尝试运行从https://github.com/codeforequity-at/botium-connector-webdriverio.git克隆的自定义示例

我已经按照链接中的步骤安装了这些组件:

*自动化测试:https ://ichi.pro/es/botium-en-pocas-palabras-parte-3-automatizacion-de-pruebas-de-chatbot-119084922769950

*安装 Webdriverio 和 selenium:https ://github.com/codeforequity-at/botium-connector-webdriverio

基本上,我已经从我的项目路径中执行了以下命令:

*npm install -g botium-cli npm install -g botium-connector-webdriverio

*botium-cli 初始化

*botium-cli 运行

注意:要运行测试,我在启动 selenium 后使用以下命令:

botium-cli 运行 --config C:\Botiumsample\samples\custom\botium.json --convos C:\Botiumsample\samples\custom\spec\convo

这是我得到的输出:

Error: Loading Botium Plugin failed.
Loading Botium plugin from webdriverio failed - Cannot find module 'webdriverio'
Require stack:
- C:\Users\myuser\AppData\Roaming\npm\node_modules\botium-cli\node_modules\botium- 
core\src\containers\plugins\index.js
- C:\Users\myuser\AppData\Roaming\npm\node_modules\botium-cli\node_modules\botium- 
core\index.js
- C:\Users\myuser\AppData\Roaming\npm\node_modules\botium-cli\src\run\index.js
- C:\Users\myuser\AppData\Roaming\npm\node_modules\botium-cli\bin\botium-cli.js
Loading Botium plugin botium-connector-webdriverio failed, try "npm install botium- 
connector-webdriverio" - Cannot find module 'botium-core'
Require stack:
- C:\Users\myuser\AppData\Roaming\npm\node_modules\botium-connector- 
webdriverio\dist\botium-connector-webdriverio-cjs.js
- C:\Users\myuser\AppData\Roaming\npm\node_modules\botium-cli\node_modules\botium- 
core\src\containers\plugins\index.js
- C:\Users\myuser\AppData\Roaming\npm\node_modules\botium-cli\node_modules\botium- 
core\index.js
- C:\Users\myuser\AppData\Roaming\npm\node_modules\botium-cli\src\run\index.js
- C:\Users\myuser\AppData\Roaming\npm\node_modules\botium-cli\bin\botium-cli.js
at tryLoadPlugin (C:\Users\myuser\AppData\Roaming\npm\node_modules\botium- 
cli\node_modules\botium-core\src\containers\plugins\index.js:133:9)
at PluginConnectorContainer.Validate 
(C:\Users\myuser\AppData\Roaming\npm\node_modules\botium-cli\node_modules\botium- 
core\src\containers\PluginConnectorContainer.js:14:27)

尽管有响应,但我可以在此路径中看到 webdriverio 模块:C:\Users\myuser\AppData\Roaming\npm\node_modules\botium-connector-webdriverio\node_modules\webdriverio

请对此错误有任何想法?谢谢

标签: node.jswebdriver-iobotium-box

解决方案


这与 Node.js 如何解析模块有关。您可以在 Internet 上的许多地方阅读有关此主题的信息,例如此处。但简而言之:

  • Botium Core 作为 Botium CLI 的嵌套包安装
  • Botium WebdriverIO 连接器安装在外部
  • Botium WebdriverIO 连接器模块看不到 Botium Core

可用的几个选项:

将 Botium Core 安装为顶层的全局模块

npm install -g botium-cli botium-core botium-connector-webdriverio

将所有内容安装在本地项目目录中(推荐 - 项目目录可以置于具有所有依赖项的 git 控制下):

npm init --yes && npm install botium-cli botium-connector-webdriverio
npx botium-cli init
npx botium-cli run

推荐阅读