The webdriver module is not found when run a custom sample with botium-cli?

319 Views Asked by At

I'm working on Windows 10, and I trying to run the custom sample that was cloned from https://github.com/codeforequity-at/botium-connector-webdriverio.git

I've already installed this components, following the steps into the links:

*Automation Tests: https://ichi.pro/es/botium-en-pocas-palabras-parte-3-automatizacion-de-pruebas-de-chatbot-119084922769950

*Install Webdriverio and selenium: https://github.com/codeforequity-at/botium-connector-webdriverio

Basically, I have executed the following commands from my project path:

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

*botium-cli init

*botium-cli run

Note: To run the tests I'm using the following command, after start selenium:

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

This is the output that I'm getting:

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)

Despite the response, I can see the webdriverio module in this path: C:\Users\myuser\AppData\Roaming\npm\node_modules\botium-connector-webdriverio\node_modules\webdriverio

Please any idea about this error?. Thanks

1

There are 1 best solutions below

3
On

This has to do with how Node.js is resolving modules. You can read about this topic in lots of places over the internet, for example here. But in short:

  • Botium Core is installed as nested package of Botium CLI
  • Botium WebdriverIO Connector is installed outside
  • Botium Core is not visible to the Botium WebdriverIO Connector module

Several options available:

Install Botium Core as global module on the top level as well:

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

Install everything in a local project directory (recommended - project directory can be put under git control with all dependencies):

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