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

323 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
Florian Treml 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