2017-12-29 73 views
1

https://github.com/blizzerand/pastebin-angular을 다운로드하면 "ng test"또는 "npm run test"를 성공적으로 실행할 수 있습니다. 똑같다). 내가 할"ng e2e"가 프록시 때문일 가능성이 높습니다. "ng serve"와 "ng test"가 작동 중입니다.

C:\_pocs\ws_vsc\pastebin-angular-master>npm run test 

    > [email protected] test C:\_pocs\ws_vsc\pastebin-angular-master 
    > ng test 

    10% building modules 1/1 modules 0 active29 12 2017 18:13:27.927:WARN [karma]: No captured browser, open http://localhost:9876/ 
    29 12 2017 18:13:27.998:INFO [karma]: Karma v1.7.0 server started at http://0.0.0.0:9876/ 
    29 12 2017 18:13:28.002:INFO [launcher]: Launching browsers Chrome, ChromeNoSandboxHeadless with unlimited concurrency 
    29 12 2017 18:13:28.013:INFO [launcher]: Starting browser Chrome 
    29 12 2017 18:13:28.032:INFO [launcher]: Starting browser Chrome    29 12 2017 18:13:39.229:WARN [karma]: No captured browser, open http://localhost:9876/ 
    29 12 2017 18:13:40.708:INFO [HeadlessChrome 0.0.0 (Windows 10 0.0.0)]: Connected on socket UDrOcB34PHgK-7M-AAAB with id 48647093 
    29 12 2017 18:13:40.708:INFO [Chrome 63.0.3239 (Windows 10 0.0.0)]: Connected on socket 8ZsdfQHAmDKzVaoHAAAA with id 86143812 
    Chrome 63.0.3239 (Windows 10 0.0.0): Executed 31 of 31 SUCCESS (3.745 secs/3.714 secs) 
    HeadlessChrome 0.0.0 (Windows 10 0.0.0): Executed 31 of 31 SUCCESS (3.807 secs/3.779 secs) 
    TOTAL: 62 SUCCESS 
    TOTAL: 62 SUCCESS 

나는 "NG E2E을"시도 "ETIMEDOUT의 XXXX : 443"

C:\_pocs\ws_vsc\pastebin-angular-master>ng e2e 
Your global Angular CLI version (1.6.3) is greater than your local 
version (1.1.0). The local Angular CLI version is used. 

To disable this warning use "ng set --global warnings.versionMismatch=false". 
** NG Live Development Server is listening on localhost:49152, open your browser on http://localhost:49152 ** 
(node:5784) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead. 
Hash: 5891176eb0b28d7d1f89 
Time: 12097ms 
chunk {0} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 160 kB {4} [initial] [rendered] 
chunk {1} main.bundle.js, main.bundle.js.map (main) 29.2 kB {3} [initial] [rendered] 
chunk {2} styles.bundle.js, styles.bundle.js.map (styles) 10.5 kB {4} [initial] [rendered] 
chunk {3} vendor.bundle.js, vendor.bundle.js.map (vendor) 2.82 MB [initial] [rendered] 
chunk {4} inline.bundle.js, inline.bundle.js.map (inline) 0 bytes [entry] [rendered] 
webpack: Compiled successfully. 
events.js:183 
     throw er; // Unhandled 'error' event 
    ^

Error: connect ETIMEDOUT x.x.x.x:443 
    at Object._errnoException (util.js:1024:11) 
    at _exceptionWithHostPort (util.js:1046:20) 
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1182:14) 

그래서 나는 변경을 "NG E2E --no-webdriver 업데이트"는 의지없는 것이기 때문에 프록시.

C:\_pocs\ws_vsc\pastebin-angular-master>ng e2e --no-webdriver-update 
Your global Angular CLI version (1.6.3) is greater than your local 
version (1.1.0). The local Angular CLI version is used. 

To disable this warning use "ng set --global warnings.versionMismatch=false". 
** NG Live Development Server is listening on localhost:49152, open your browser on http://localhost:49152 ** 
(node:14496) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead. 
Hash: 5891176eb0b28d7d1f89 
Time: 13274ms 
chunk {0} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 160 kB {4} [initial] [rendered] 
chunk {1} main.bundle.js, main.bundle.js.map (main) 29.2 kB {3} [initial] [rendered] 
chunk {2} styles.bundle.js, styles.bundle.js.map (styles) 10.5 kB {4} [initial] [rendered] 
chunk {3} vendor.bundle.js, vendor.bundle.js.map (vendor) 2.82 MB [initial] [rendered] 
chunk {4} inline.bundle.js, inline.bundle.js.map (inline) 0 bytes [entry] [rendered] 
webpack: Compiled successfully. 
[18:20:39] I/launcher - Running 1 instances of WebDriver 
[18:20:39] I/direct - Using ChromeDriver directly... 
[18:20:39] E/direct - Error code: 135 
[18:20:39] E/direct - Error message: Could not find update-config.json. Run 'webdriver-manager update' to download binaries. 
[18:20:39] E/direct - Error: Could not find update-config.json. Run 'webdriver-manager update' to download binaries. 
    at Direct.getNewDriver (C:\_pocs\ws_vsc\pastebin-angular-master\node_modules\protractor\built\driverProviders\direct.js:63:31) 
    at Runner.createBrowser (C:\_pocs\ws_vsc\pastebin-angular-master\node_modules\protractor\built\runner.js:195:43) 
    at q.then.then (C:\_pocs\ws_vsc\pastebin-angular-master\node_modules\protractor\built\runner.js:339:29) 
    at _fulfilled (C:\_pocs\ws_vsc\pastebin-angular-master\node_modules\protractor\node_modules\q\q.js:834:54) 
    at self.promiseDispatch.done (C:\_pocs\ws_vsc\pastebin-angular-master\node_modules\protractor\node_modules\q\q.js:863:30) 
    at Promise.promise.promiseDispatch (C:\_pocs\ws_vsc\pastebin-angular-master\node_modules\protractor\node_modules\q\q.js:796:13) 
    at C:\_pocs\ws_vsc\pastebin-angular-master\node_modules\protractor\node_modules\q\q.js:556:49 
    at runSingle (C:\_pocs\ws_vsc\pastebin-angular-master\node_modules\protractor\node_modules\q\q.js:137:13) 
    at flush (C:\_pocs\ws_vsc\pastebin-angular-master\node_modules\protractor\node_modules\q\q.js:125:13) 
    at _combinedTickCallback (internal/process/next_tick.js:131:7) 
    at process._tickCallback (internal/process/next_tick.js:180:9) 
[18:20:39] E/launcher - Process exited with error code 135 

는 내가 가진 이후 "갱신 config.json를 찾을 수 없습니다. 실행 'webdriver-관리자 업데이트'를"그때 다욲로드를 시도하고 명시 적으로

C:\_pocs\ws_vsc\pastebin-angular-master>webdriver-manager update --proxy http://myproxy.vm.mycompany.net:3128 
[18:23:19] I/update - geckodriver: file exists C:\Users\dca\AppData\Roaming\nvm\v8.9.3\node_modules\protractor\node_modules\webdriver-manager\selenium\geckodriver-v0.19.1.zip 
[18:23:19] I/update - geckodriver: unzipping geckodriver-v0.19.1.zip 
[18:23:19] I/update - geckodriver: geckodriver-v0.19.1.exe up to date 
[18:23:20] E/downloader - Expected response code 200, received: 403 
[18:23:20] I/update - chromedriver: file exists C:\Users\dca\AppData\Roaming\nvm\v8.9.3\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_2.34.zip 
[18:23:20] I/update - chromedriver: unzipping chromedriver_2.34.zip 
(node:14648) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Invalid filename 
(node:14648) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. 
[18:24:29] I/update - selenium standalone: file exists C:\Users\dca\AppData\Roaming\nvm\v8.9.3\node_modules\protractor\node_modules\webdriver-manager\selenium\selenium-server-standalone-3.8.1.jar 
[18:24:29] I/update - selenium standalone: selenium-server-standalone-3.8.1.jar up to date 

비트에 대한 혼란을 내 로컬 프록시를 사용 내가 볼 때 "E/다운로더 - 예상 응답 코드 200,받은 : 403"끝에 "I/update - selenium 독립 실행 형 : selenium-server-standalone-3.8.1.jar 최신"참조. 나는 그것을 올바르게 다운로드한다고 가정 할 것이다. 이제 "ng e2e"를 반복하면 위와 같은 오류가 발생합니다. 443 번 포트를 보았으므로, "n2 e2e --skip-ssl"을 시도해 보았습니다. 위와 같은 오류가있었습니다. 나는 e2e --webdriver-update = false도 시도했지만 여전히 "update-config.json을 찾을 수 없습니다"라는 메시지가 나타납니다.

내가 노력 마지막 시험이

C:\_pocs\ws_vsc\pastebin-angular-master>npm run e2e 

> [email protected] e2e C:\_pocs\ws_vsc\pastebin-angular-master 
> ng e2e 

** NG Live Development Server is listening on localhost:49152, open your browser on http://localhost:49152 ** 
(node:9036) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead. 
Hash: 5891176eb0b28d7d1f89 
Time: 11115ms 
chunk {0} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 160 kB {4} [initial] [rendered] 
chunk {1} main.bundle.js, main.bundle.js.map (main) 29.2 kB {3} [initial] [rendered] 
chunk {2} styles.bundle.js, styles.bundle.js.map (styles) 10.5 kB {4} [initial] [rendered] 
chunk {3} vendor.bundle.js, vendor.bundle.js.map (vendor) 2.82 MB [initial] [rendered] 
chunk {4} inline.bundle.js, inline.bundle.js.map (inline) 0 bytes [entry] [rendered] 
webpack: Compiled successfully. 
events.js:183 
     throw er; // Unhandled 'error' event 
    ^

Error: connect ETIMEDOUT 172.217.17.48:443 
    at Object._errnoException (util.js:1024:11) 
    at _exceptionWithHostPort (util.js:1046:20) 
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1182:14) 
npm ERR! code ELIFECYCLE 
npm ERR! errno 1 
npm ERR! [email protected] e2e: `ng e2e` 
npm ERR! Exit status 1 
npm ERR! 
npm ERR! Failed at the [email protected] e2e script. 
npm ERR! This is probably not a problem with npm. There is likely additional logging output above. 

npm ERR! A complete log of this run can be found in: 
npm ERR!  C:\Users\dca\AppData\Roaming\npm-cache\_logs\2017-12-29T17_33_44_400Z-debug.log 

이었고, 여기가 관련된 경우 로그

0 info it worked if it ends with ok 
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe', 
1 verbose cli 'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js', 
1 verbose cli 'run', 
1 verbose cli 'e2e' ] 
2 info using [email protected] 
3 info using [email protected] 
4 verbose run-script [ 'pree2e', 'e2e', 'poste2e' ] 
5 info lifecycle [email protected]~pree2e: [email protected] 
6 info lifecycle [email protected]~e2e: [email protected] 
7 verbose lifecycle [email protected]~e2e: unsafe-perm in lifecycle true 
8 verbose lifecycle [email protected]~e2e: PATH: C:\Users\dca\AppData\Roaming\nvm\v8.9.3\node_modules\npm\bin\node-gyp-bin;C:\_pocs\ws_vsc\pastebin-angular-master\node_modules\.bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Windows\CCM;C:\Program Files (x86)\GnuWin32\bin;C:\Program Files (x86)\Skype\Phone\;C:\_t3\gradle-3.5\bin;C:\Program Files (x86)\Subversion\bin;C:\Program Files\Git\cmd;C:\Program Files (x86)\Yarn\bin;C:\Program Files\TortoiseSVN\bin;C:\Users\dca\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Users\dca\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Java\jdk1.8.0_112\bin;C:\_t\maven\bin;C:\Users\dca\AppData\Local\GitHubDesktop\bin;C:\Program Files\Microsoft VS Code\bin;C:\Users\dca\AppData\Local\Yarn\bin;C:\Users\dca\AppData\Roaming\nvm;C:\Program Files\nodejs 
9 verbose lifecycle [email protected]~e2e: CWD: C:\_pocs\ws_vsc\pastebin-angular-master 
10 silly lifecycle [email protected]~e2e: Args: [ '/d /s /c', 'ng e2e' ] 
11 silly lifecycle [email protected]~e2e: Returned: code: 1 signal: null 
12 info lifecycle [email protected]~e2e: Failed to exec e2e script 
13 verbose stack Error: [email protected] e2e: `ng e2e` 
13 verbose stack Exit status 1 
13 verbose stack  at EventEmitter.<anonymous> (C:\Users\dca\AppData\Roaming\nvm\v8.9.3\node_modules\npm\node_modules\npm-lifecycle\index.js:280:16) 
13 verbose stack  at emitTwo (events.js:126:13) 
13 verbose stack  at EventEmitter.emit (events.js:214:7) 
13 verbose stack  at ChildProcess.<anonymous> (C:\Users\dca\AppData\Roaming\nvm\v8.9.3\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14) 
13 verbose stack  at emitTwo (events.js:126:13) 
13 verbose stack  at ChildProcess.emit (events.js:214:7) 
13 verbose stack  at maybeClose (internal/child_process.js:925:16) 
13 verbose stack  at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5) 
14 verbose pkgid [email protected] 
15 verbose cwd C:\_pocs\ws_vsc\pastebin-angular-master 
16 verbose Windows_NT 10.0.14393 
17 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "e2e" 
18 verbose node v8.9.3 
19 verbose npm v5.5.1 
20 error code ELIFECYCLE 
21 error errno 1 
22 error [email protected] e2e: `ng e2e` 
22 error Exit status 1 
23 error Failed at the [email protected] e2e script. 
23 error This is probably not a problem with npm. There is likely additional logging output above. 
24 verbose exit [ 1, true ] 

이다, 여기 package.json

{ 
    "name": "test-angulr", 
    "version": "0.0.0", 
    "license": "MIT", 
    "scripts": { 
    "ng": "ng", 
    "start": "ng serve", 
    "build": "ng build", 
    "test": "ng test", 
    "lint": "ng lint", 
    "e2e": "ng e2e" 
    }, 
    "private": true, 
    "dependencies": { 
    "@angular/animations": "^4.0.0", 
    "@angular/common": "^4.0.0", 
    "@angular/compiler": "^4.0.0", 
    "@angular/core": "^4.0.0", 
    "@angular/forms": "^4.0.0", 
    "@angular/http": "^4.0.0", 
    "@angular/platform-browser": "^4.0.0", 
    "@angular/platform-browser-dynamic": "^4.0.0", 
    "@angular/router": "^4.0.0", 
    "@types/faker": "^4.1.0", 
    "angular-in-memory-web-api": "^0.3.2", 
    "core-js": "^2.4.1", 
    "faker": "^4.1.0", 
    "rxjs": "^5.1.0", 
    "zone.js": "^0.8.4" 
    }, 
    "devDependencies": { 
    "@angular/cli": "1.1.0", 
    "@angular/compiler-cli": "^4.0.0", 
    "@angular/language-service": "^4.0.0", 
    "@types/jasmine": "2.5.45", 
    "@types/node": "~6.0.60", 
    "codelyzer": "~3.0.1", 
    "jasmine-core": "~2.6.2", 
    "jasmine-spec-reporter": "~4.1.0", 
    "karma": "~1.7.0", 
    "karma-chrome-launcher": "~2.1.1", 
    "karma-cli": "~1.0.1", 
    "karma-jasmine": "~1.1.0", 
    "karma-jasmine-html-reporter": "^0.2.2", 
    "karma-coverage-istanbul-reporter": "^1.2.1", 
    "protractor": "~5.1.2", 
    "ts-node": "~3.0.4", 
    "tslint": "~5.3.2", 
    "typescript": "~2.3.3" 
    } 
} 

모든 tentatives I입니다 2 일 (16 시간) 내 환경을 조성하기 위해 고군분투 한 이후였습니다. 내가 "ng 테스트"를 이해하는 한, Jasmine sintaxes와 "ege"를 기반으로하는 테스트를 실행합니다. (이것은 매우 모범적 인 비교 임).

마지막으로, "ng serve"와 "ng test"가 완벽하게 작동하는 것을 볼 때 문제가 더 복잡하다는 것을 알게되었습니다.

C:\_pocs\ws_vsc\pastebin-angular-master>ng serve 
Your global Angular CLI version (1.6.3) is greater than your local 
version (1.1.0). The local Angular CLI version is used. 

To disable this warning use "ng set --global warnings.versionMismatch=false". 
** NG Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200 ** 
Hash: 68480633f4a6979c64f6 
Time: 12524ms 
chunk {0} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 160 kB {4} [initial] [rendered] 
chunk {1} main.bundle.js, main.bundle.js.map (main) 29.2 kB {3} [initial] [rendered] 
chunk {2} styles.bundle.js, styles.bundle.js.map (styles) 10.5 kB {4} [initial] [rendered] 
chunk {3} vendor.bundle.js, vendor.bundle.js.map (vendor) 2.82 MB [initial] [rendered] 
chunk {4} inline.bundle.js, inline.bundle.js.map (inline) 0 bytes [entry] [rendered] 
webpack: Compiled successfully. 

...

C:\_pocs\ws_vsc\pastebin-angular-master>ng test 
Your global Angular CLI version (1.6.3) is greater than your local 
version (1.1.0). The local Angular CLI version is used. 

To disable this warning use "ng set --global warnings.versionMismatch=false". 
10% building modules 1/1 modules 0 active29 12 2017 18:46:45.409:WARN [karma]: No captured browser, open http://localhost:9876/ 
29 12 2017 18:46:45.487:INFO [karma]: Karma v1.7.0 server started at http://0.0.0.0:9876/ 
29 12 2017 18:46:45.487:INFO [launcher]: Launching browsers Chrome, ChromeNoSandboxHeadless with unlimited concurrency 
29 12 2017 18:46:45.502:INFO [launcher]: Starting browser Chrome 
29 12 2017 18:46:45.523:INFO [launcher]: Starting browser Chrome    29 12 2017 18:46:57.058:WARN [karma]: No captured browser, open http://localhost:9876/ 
29 12 2017 18:46:58.843:INFO [Chrome 63.0.3239 (Windows 10 0.0.0)]: Connected on socket ZyuotOYE2ISz30vzAAAA with id 41727568 
29 12 2017 18:46:58.910:INFO [HeadlessChrome 0.0.0 (Windows 10 0.0.0)]: Connected on socket yBro2KHiWGptHCihAAAB with id 10384190 
Chrome 63.0.3239 (Windows 10 0.0.0): Executed 31 of 31 SUCCESS (4.328 secs/4.288 secs) 
HeadlessChrome 0.0.0 (Windows 10 0.0.0): Executed 31 of 31 SUCCESS (4.279 secs/4.24 secs) 
TOTAL: 62 SUCCESS 
TOTAL: 62 SUCCESS 

Webdriver 매니저는 올바르게 시작 :

C:\_pocs\ws_vsc\pastebin-angular-master>webdriver-manager start proxy http://xxx.vm.xxx.net:3128 
[18:52:18] I/start - java -Dwebdriver.gecko.driver=C:\Users\dca\AppData\Roaming\nvm\v8.9.3\node_modules\protractor\node_modules\webdriver-manager\selenium\geckodriver-v0.19.1.exe -jar C:\Users\dca\AppData\Roaming\nvm\v8.9.3\node_modules\protractor\node_modules\webdriver-manager\selenium\selenium-server-standalone-3.8.1.jar -port 4444 
[18:52:18] I/start - seleniumProcess.pid: 11540 
18:52:19.437 INFO - Selenium build info: version: '3.8.1', revision: '6e95a6684b' 
18:52:19.438 INFO - Launching a standalone Selenium Server 
2017-12-29 18:52:19.546:INFO::main: Logging initialized @387ms to org.seleniumhq.jetty9.util.log.StdErrLog 
18:52:19.577 INFO - Using `new FirefoxOptions()` is preferred to `DesiredCapabilities.firefox()` 
18:52:19.593 INFO - Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()` 
18:52:19.608 INFO - Using `new EdgeOptions()` is preferred to `DesiredCapabilities.edge()` 
18:52:19.608 INFO - Driver class not found: com.opera.core.systems.OperaDriver           18:52:19.608 INFO - Using `new OperaOptions()` is preferred to `DesiredCapabilities.operaBlink()` 
18:52:19.608 INFO - Using `new SafariOptions()` is preferred to `DesiredCapabilities.safari()` 
18:52:19.608 INFO - Driver class not found: org.openqa.selenium.phantomjs.PhantomJSDriver        18:52:19.655 INFO - Driver provider class org.openqa.selenium.safari.SafariDriver registration is skipped:    registration capabilities Capabilities {browserName: safari, platform: MAC, version: } does not match the current platform WIN10 
18:52:19.702 INFO - Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()` 
18:52:19.702 INFO - Using `new EdgeOptions()` is preferred to `DesiredCapabilities.edge()`        18:52:19.702 INFO - Using `new FirefoxOptions()` is preferred to `DesiredCapabilities.firefox()` 
18:52:19.702 INFO - Using `new OperaOptions()` is preferred to `DesiredCapabilities.operaBlink()`      18:52:19.702 INFO - Using `new SafariOptions()` is preferred to `DesiredCapabilities.safari()` 
18:52:19.718 INFO - Using the passthrough mode handler 
2017-12-29 18:52:19.751:INFO:osjs.Server:main: jetty-9.4.7.v20170914 
2017-12-29 18:52:19.778:WARN:osjs.SecurityHandler:main: [email protected]@757942a1{/,null,STARTING} has uncovered http methods for path:/
2017-12-29 18:52:19.787:INFO:osjsh.ContextHandler:main: Started [email protected]{/,null,AVAILABLE}2017-12-29 18:52:19.913:INFO:osjs.AbstractConnector:main: Started [email protected]{HTTP/1.1,[http/1.1]}{0.0.0.0:4444} 
2017-12-29 18:52:19.916:INFO:osjs.Server:main: Started @756ms 
18:52:19.917 INFO - Selenium Server is up and running 

뭐든지 확인 또는 가능한 오해에 보정이 상기 높은 appreciatted한다.솔루션 후 편집

  • 발견 :

내가 환경 변수를 제안하지 않고 노력하면, 내가 가진 :

C:\_pocs\ws_vsc\pastebin-angular-master>ng e2e 
Your global Angular CLI version (1.6.3) is greater than your local 
version (1.1.0). The local Angular CLI version is used. 

To disable this warning use "ng set --global warnings.versionMismatch=false". 
** NG Live Development Server is listening on localhost:49152, open your browser on http://localhost:49152 ** 
(node:8044) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead. 
Hash: 5891176eb0b28d7d1f89 
Time: 12039ms 
chunk {0} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 160 kB {4} [initial] [rendered] 
chunk {1} main.bundle.js, main.bundle.js.map (main) 29.2 kB {3} [initial] [rendered] 
chunk {2} styles.bundle.js, styles.bundle.js.map (styles) 10.5 kB {4} [initial] [rendered] 
chunk {3} vendor.bundle.js, vendor.bundle.js.map (vendor) 2.82 MB [initial] [rendered] 
chunk {4} inline.bundle.js, inline.bundle.js.map (inline) 0 bytes [entry] [rendered] 
webpack: Compiled successfully. 
[16:12:48] E/downloader - Connection timeout downloading: https://chromedriver.storage.googleapis.com/2.34/chromedriver_win32.zip. Default timeout is 4 minutes. 
[16:12:48] I/update - chromedriver: file exists C:\_pocs\ws_vsc\pastebin-angular-master\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_2.34.zip 
[16:12:48] I/update - chromedriver: unzipping chromedriver_2.34.zip 
[16:12:49] I/update - chromedriver: chromedriver_2.34.exe up to date 
[16:12:49] I/launcher - Running 1 instances of WebDriver 
[16:12:49] I/direct - Using ChromeDriver directly... 
[16:12:49] E/downloader - Connection timeout downloading: https://chromedriver.storage.googleapis.com/2.34/chromedriver_win32.zip. Default timeout is 4 minutes. 

DevTools listening on ws://127.0.0.1:12268/devtools/browser/71d97023-dae5-4b24-8ecc-98922db60bf5 
Jasmine started 

Executed 0 of 0 specs SUCCESS in 0.002 sec. 
[16:12:53] I/launcher - 0 instance(s) of WebDriver still running 
[16:12:53] I/launcher - chrome #01 passed 

또 다른 한편으로는, 환경 변수를 설정 한 후, 나는 가지고 :

C:\_pocs\ws_vsc\pastebin-angular-master>ng e2e 
Your global Angular CLI version (1.6.3) is greater than your local 
version (1.1.0). The local Angular CLI version is used. 

To disable this warning use "ng set --global warnings.versionMismatch=false". 
** NG Live Development Server is listening on localhost:49152, open your browser on http://localhost:49152 ** 
(node:2288) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead. 
Hash: 5891176eb0b28d7d1f89 
Time: 12368ms 
chunk {0} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 160 kB {4} [initial] [rendered] 
chunk {1} main.bundle.js, main.bundle.js.map (main) 29.2 kB {3} [initial] [rendered] 
chunk {2} styles.bundle.js, styles.bundle.js.map (styles) 10.5 kB {4} [initial] [rendered] 
chunk {3} vendor.bundle.js, vendor.bundle.js.map (vendor) 2.82 MB [initial] [rendered] 
chunk {4} inline.bundle.js, inline.bundle.js.map (inline) 0 bytes [entry] [rendered] 
webpack: Compiled successfully. 
[16:19:30] I/update - chromedriver: file exists C:\_pocs\ws_vsc\pastebin-angular-master\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_2.34.zip 
[16:19:30] I/update - chromedriver: unzipping chromedriver_2.34.zip 
[16:19:30] I/update - chromedriver: chromedriver_2.34.exe up to date 
[16:19:30] I/launcher - Running 1 instances of WebDriver 
[16:19:30] I/direct - Using ChromeDriver directly... 

DevTools listening on ws://127.0.0.1:12462/devtools/browser/86f2d2f5-3312-48e6-8d05-25241eeba843 
Jasmine started 

Executed 0 of 0 specs SUCCESS in 0.003 sec. 
[16:19:34] I/launcher - 0 instance(s) of WebDriver still running 
[16:19:34] I/launcher - chrome #01 passed 

답변

1

1) ng e2e을 실행하면 오류가보고됩니다. 오류를 볼 이유

webdriver-관리자를 위해 네트워크 프록시를 말하지 않고, webdriver-구유 업데이트가 네트워크에 연결되지 않도록 옵션의 기본값은 ng e2e--webdriver-update는 사실, 그리고 프록시 뒤에 네트워크 때문에 Error: connect ETIMEDOUT x.x.x.x:443이입니다 .

나는 https://github.com/angular/angular-cli/blob/master/packages/%40angular/cli/tasks/e2e.ts에서 ng e2e의 소스 코드로보고, 우리가 npm run e2e 뒤에 따라 프록시를 통과 할 수 발견,하지만 우리는 당신이에 포스트 아래에 따를 수 있습니다 실행하기 전에 읽어 webdriver-manager 환경 변수에 프록시를 설정할 수 있습니다 환경 Varable에서 설정 프록시 : how to check what is causing webdriver-manager to fail

2) webdriver 업데이트를 건너 ng e2e --no-webdriver-update를 실행하면 오류 보고서 : Error message: Could not find update-config.json

이 업데이트-config.json이 project_folder\node_modules\protractor\node_modules\webdriver-manager\selenium

,691,363에 존재하지 의미210

프로젝트 로컬 webdriver-manager (project_folder \ .bin \ webdriver-manager) 대신 웹 webdriver-manger을 사용하여 webdriver 업데이트를 실행했기 때문에.

올바른 방법 우선, 다음 node_modules\.bin\webdriver-manager update --proxy http://myproxy.vm.mycompany.net:3128 그런 다음 업데이트-config.json가있을 것입니다 실행하고 ng e2e --no-webdriver-manager 지금 작업을해야하고 cmd 창에 your_project 폴더로 스위치입니다.

ng e2e 글로벌 webdriver-manager 사용하지만

1) NPM 프록시

NPM 프록시는 명령에 대한 작업 환경 변수 프록시 VS 지역 node_modules\.bin\webdriver-manger

NPM 프록시를 투사 할 수 없습니다 : npm 및이 명령 구현은 evniroment 변수에서 프록시를 읽지 않으므로, npm config set 명령으로 npm에 대한 프록시를 설정해야합니다. 사용자 홈 또는 프로젝트 폴더 아래에서 .npmrc 파일을 직접 수정하십시오. 환경 변수에서 프록시 설정을 읽 구현

2) 환경 변수 프록시

만 도구/소프트/프로그램/명령은 다음 환경 변수 프록시는 그들에 영향을 수 있습니다.

환경 변수 프록시가 툴/소프트/프로그램/명령에 영향을 미친다는 사실을 사용자가 쉽게 알기가 쉽지 않습니다. 특히 우리가 처음 만지는 새로운 것입니다.

그러나 일반적으로 우리는 명령 창에서 실행 된 모든 것이 환경 변수에서 프록시 설정을 읽는다고 생각할 수 있지만 항상 같지는 않습니다. npm처럼 프록시 설정 자체에서 프록시를 읽습니다.

이제는 webdriver-manager으로 돌아가서, 대부분의 경우 명령 창에서 실행합니다. 실제로 환경 변수 프록시가 실제로 구현되었는지 여부를 결정하는 최종 결정자가 구현 자체인지 여부는 명령 창에서 실행됩니다.

webdriver-manager에서 구현, 첫째로, 그것은 다음과 같은 명령 줄 옵션으로 전달 프록시를 읽습니다 : webdriver-manager update --proxy http://proxy.company.com:1234

당신이 다음 환경 변수에서 프록시를 읽어, 명령 줄에서 프록시를 통과하지합니다.

+0

두 번째 제안은 전혀 영향을 미치지 않았습니다. project_folder /.../ 셀레늄 update-config.json 파일에 이미 있습니다. 그러나 첫 번째 제안은 모든 것이 예상대로 작동하는 것처럼 보입니다. 위의 두 출력에서 ​​"webpack : Compiled successfully"다음의 다음 줄을 비교하면됩니다. 당신이 내 질문에 대답했습니다. 만약 당신이 신경 쓰지 않는다면, "나는 http-proxy, https- 프록시, 프록시 설정을 npm (npm config list)에 넣었지만 설치 한 environmnet 변수에 영향을주기 시작한 이유는 무엇일까? "NO_PROXY = .mycompany.net, localhost, 127.0.0.1"? –

+1

사실, webdriver-manager는 npm proxy와는 아무런 관련이 없습니다. webdriver-manger 구현에서 우선 옵션 인 --proxy로 전달 된 명령 행에서 프록시를 읽습니다. , 당신이 명령 줄에서 프록시를 넘기지 않으면 환경 변수에서 프록시를 읽습니다. 따라서 npm 프록시를 설정했는지 여부와 상관없이 webdriver-manger는 상관하지 않습니다. – yong

+1

그리고이 지점을 지워야합니다 : webdriver-manger run Nodejs 런타임에서 npm으로 실행되지 않음 npm Nodejs 패키지를 설치하는 도구, npm에 의해 설치된 webdriver-manager, webdriver-manager는 npm과 관련된 물건에 대한 dependency가 없습니다. npm proxy/cache/registry – yong