使用 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 run --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.js 如何解析模块有关。您可以在 Internet 上的许多地方阅读有关此主题的信息,例如 here。但简而言之:

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

有多种选择:

安装 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