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-04T12:07:00.0544184Z [chrome #01-1] [14:07:00] I/plugins - �[31m Fail: protractor-screenshoter-plugin Plugin Tests �[39m 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
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-04T12:07:00.0544184Z [chrome #01-1] [14:07:00] I/plugins - �[31m Fail: protractor-screenshoter-plugin Plugin Tests �[39m 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: truePackages
"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