azachar / protractor-screenshoter-plugin

A brand new jasmine2 protractor plugin that captures for each browser instance a screenshot, console logs, raw HTML and DB dumps. The snapshot is made optionally for each expect or spec. Plugins comes with a beautiful angular based analytics tool to visually check and fix tests results.
Other
89 stars 24 forks source link

Mkdir operation not permitted causes failing #87

Open robinvanbrakel opened 5 years ago

robinvanbrakel commented 5 years ago

Hi there!

I have a problem while running my e2e tests with this plugin. About half of the times my build will fail because of an error in this plugin. The plugin works fine (nice work!), but this bug causes a lot of false failures in my e2e tests. My tests are sharded with a maximum of 8 instance. 50% of the times the error doesn't show up.

Build logs: 2019-04-04 14_59_00-Window

2019-04-04T12:07:00.0544184Z [chrome #01-1] [14:07:00] I/plugins -  Fail: protractor-screenshoter-plugin Plugin Tests  2019-04-04T12:07:00.0544184Z [chrome #01-1] [14:07:00] E/plugins - Failure during setup: EPERM: operation not permitted, mkdir 'D:\Agent17-Two\_work\1378\s\e2e\test-results\screenshots' 2019-04-04T12:07:00.0544184Z [chrome #01-1] [14:07:00] E/plugins - Error: EPERM: operation not permitted, mkdir 'D:\Agent17-Two\_work\1378\s\e2e\test-results\screenshots' 2019-04-04T12:07:00.0544184Z [chrome #01-1] at Object.fs.mkdirSync (fs.js:885:18) 2019-04-04T12:07:00.0544184Z [chrome #01-1] at sync (D:\Agent17-Two\_work\1378\s\node_modules\mkdirp\index.js:71:13) 2019-04-04T12:07:00.0544184Z [chrome #01-1] at sync (D:\Agent17-Two\_work\1378\s\node_modules\mkdirp\index.js:78:17) 2019-04-04T12:07:00.0544184Z [chrome #01-1] at Function.sync (D:\Agent17-Two\_work\1378\s\node_modules\mkdirp\index.js:78:17) 2019-04-04T12:07:00.0544184Z [chrome #01-1] at protractorUtil.setup (D:\Agent17-Two\_work\1378\s\node_modules\protractor-screenshoter-plugin\index.js:630:10) 2019-04-04T12:07:00.0544184Z [chrome #01-1] at resolver (D:\Agent17-Two\_work\1378\s\node_modules\protractor\built\plugins.js:194:51) 2019-04-04T12:07:00.0544184Z [chrome #01-1] at Function.promise (D:\Agent17-Two\_work\1378\s\node_modules\q\q.js:682:9) 2019-04-04T12:07:00.0544184Z [chrome #01-1] at Plugins.safeCallPluginFun (D:\Agent17-Two\_work\1378\s\node_modules\protractor\built\plugins.js:207:22) 2019-04-04T12:07:00.0544184Z [chrome #01-1] at promises.pluginObjs.filter.map.pluginObj (D:\Agent17-Two\_work\1378\s\node_modules\protractor\built\plugins.js:219:40) 2019-04-04T12:07:00.0544184Z [chrome #01-1] at Array.map (<anonymous>)

Settings package: 'protractor-screenshoter-plugin', screenshotPath: './e2e/test-results', screenshotOnExpect: 'failure', screenshotOnSpec: 'failure', withLogs: true, writeReportFreq: 'asap', imageToAscii: 'none', clearFoldersBeforeTest: true

Packages "dependencies": { "@angular/animations": "^7.0.4", "@angular/common": "~7.0.0", "@angular/compiler": "~7.0.0", "@angular/core": "~7.0.0", "@angular/forms": "~7.0.0", "@angular/http": "~7.0.0", "@angular/platform-browser": "~7.0.0", "@angular/platform-browser-dynamic": "~7.0.0", "@angular/pwa": "^0.13.6", "@angular/router": "~7.0.0", "@angular/service-worker": "~7.0.0", "@ng-select/ng-select": "^2.15.1", "@ngx-translate/core": "^11.0.1", "@ngx-translate/http-loader": "^4.0.0", "@toverux/ngx-sweetalert2": "^4.0.0", "angular-odata-es5": "^0.8.0", "core-js": "^2.5.4", "jasmine": "^3.3.1", "moment": "^2.23.0", "moment-interval": "^0.2.1", "moment-range": "^4.0.1", "mydaterangepicker": "^4.2.1", "ng5-slider": "^1.1.13", "ngx-toastr": "^9.1.1", "ngx-webstorage-service": "^4.0.1", "protractor-screenshoter-plugin": "^0.10.3", "rxjs": "^6.3.3", "stacktrace-js": "^2.0.0", "sweetalert2": "^7.15.1", "ts-md5": "^1.2.4", "zone.js": "~0.8.26" }, "devDependencies": { "@angular-devkit/build-angular": "^0.13.1", "@angular/cli": "~7.0.6", "@angular/compiler-cli": "^7.2.9", "@angular/language-service": "~7.0.0", "@types/jasmine": "~2.8.8", "@types/jasminewd2": "~2.0.3", "@types/node": "~8.9.4", "codelyzer": "~4.5.0", "forever": "^0.15.3", "jasmine-core": "~2.99.1", "jasmine-reporters": "^2.3.2", "jasmine-spec-reporter": "~4.2.1", "jasmine-trx-reporter": "^2.2.2", "karma": "^4.0.1", "karma-chrome-launcher": "~2.2.0", "karma-coverage-istanbul-reporter": "~2.0.0", "karma-jasmine": "~1.1.1", "karma-jasmine-html-reporter": "^0.2.2", "karma-junit-reporter": "^1.2.0", "ng-apimock": "^1.4.8", "protractor": "^5.4.2", "ngx-webstorage-service": "^4.0.1", "protractor-screenshoter-plugin": "^0.10.3", "ts-node": "~5.0.1", "tslint": "~5.9.1", "typescript": "~3.1.6" } }

Protractor config file Attached. protractor-config.txt

wmyers-rfd commented 5 years ago

+1 on this issue. @robinvanbrakel did you ever resolve this problem?