0

I'm trying to use Protractor with Cucumber for an E2E testing on an Angular project. I have protractor v5.4.4 installed. The first time I ran ng e2e the tests ran successfully, the second time I got this error:

EPERM: operation not permitted, rename 'C:\Users\dmdum\Projects\angular-project\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver.exe' -> 'C:\Users\dmdum\Projects\angular-project\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_96.0.4664.45.exe'
Error: EPERM: operation not permitted, rename 'C:\Users\dmdum\Projects\angular-project\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver.exe' -> 'C:\Users\dmdum\Projects\angular-project\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_96.0.4664.45.exe'
    at Object.renameSync (fs.js:741:3)
    at unzip (C:\Users\dmdum\Projects\angular-project\node_modules\protractor\node_modules\webdriver-manager\built\lib\cmds\update.js:240:8)
    at C:\Users\dmdum\Projects\angular-project\node_modules\protractor\node_modules\webdriver-manager\built\lib\cmds\update.js:205:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async Promise.all (index 0)

chromedriver_96.0.4664.45.exe already exists in the specified path

For me to run the tests successfully again, I would need to delete the selenium folder specified in the path and then run npx webdriver-manager update again and then ng e2e

But that's not a very good way to deal with the issue. Any help/suggestions would be greatly appreciated. Thanks!

dmdum
  • 1
  • 2

1 Answers1

0

Looks like your webdriver is not properly installed, try running this in your project root to clean and get all web drivers: npx webdriver-manager update

You can also add it as a postinstall script in your package.json so it's run after each npm i (or npm ci):

package.json:

...
"scripts": {
    ...
    "update-webdriver": "npx webdriver-manager update",
    "postinstall": "echo 'Now updating web drivers' && npm run update-webdriver",
    ...
}
...
lezhumain
  • 387
  • 2
  • 8