Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NTLM Authentification #850

Open
Aymkdn opened this issue Oct 30, 2017 · 58 comments
Open

NTLM Authentification #850

Aymkdn opened this issue Oct 30, 2017 · 58 comments
Labels
stage: ready for work The issue is reproducible and in scope type: feature New feature that does not currently exist

Comments

@Aymkdn
Copy link

Aymkdn commented Oct 30, 2017

Hi,

This is a question. I haven't been able to find an answer, so I'm trying here.

I wanted to test your product on our Sharepoint On-Promise, in our intranet. However I'm blocked on cy.visit("https://domain%5Clogin:password@www.intranet.com/site/") that returns a 401 error.

I tried both Chrome and Electron from the dropdown selection.

Any idea how I could have the authentication working? We use NTLM authentication for our Sharepoint.

Thanks

@bahmutov
Copy link
Contributor

Quick question: does the link https://domain%5Clogin:password@www.intranet.com/site/ work by itself when pasted into the Chrome browser?

@Aymkdn
Copy link
Author

Aymkdn commented Oct 30, 2017

@bahmutov yes, at least it redirects me to the correct page and removes the credentials from the URL

@bahmutov
Copy link
Contributor

So it might be visiting external domains to login? We do have a problem with that if this is the case, see https://docs.cypress.io/guides/references/best-practices.html#Visiting-External-Sites

@Aymkdn
Copy link
Author

Aymkdn commented Oct 30, 2017

I'm not sure to understand your question...

The NTLM (Windows credentials) are automatically sent by the browsers to authenticate the user when it wants to request a page from the Sharepoint.

Basically, the browser requests the page, it receives a 401 error with the authentication protocol to use, and then the browser will handle it until it receives a 200.

I cannot run the server on my computer, but the server is inside our intranet network. There is no 3rd party or external domains to login.

@bahmutov
Copy link
Contributor

ok, if there is no second domain involved, then it is not it. Weird, we will need to investigate on Windows, or you can try investigating yourself with running Cypress with DEBUG=cypress:* environment variable

@Aymkdn
Copy link
Author

Aymkdn commented Oct 30, 2017

@bahmutov Right now I run Cypress with the command: > node_modules\.bin\cypress open.

How to launch it with debug mode? What should I type exactly?

Thanks I appreciate your help.

@bahmutov
Copy link
Contributor

bahmutov commented Oct 30, 2017

Sure,
You just need to set and export environment variable DEBUG before running cypress. See this doc https://docs.cypress.io/guides/guides/debugging.html#Debug-the-Command-Line
You probably want to set it to cypress:* to see all messages

@jennifer-shehane
Copy link
Member

@Aymkdn Can I ask what version of Cypress you are using? We did fix an issue with Basic Auth in v 0.20.2: #739

@Aymkdn
Copy link
Author

Aymkdn commented Oct 30, 2017

@jennifer-shehane I downloaded it today, so it's the last version (1.0.3).. also it's not Basic Auth.

@bahmutov I use Windows 10 with PowerShell so the correct command was $env:DEBUG = "cypress:*" and then node_modules\.bin\cypress open.

And the logs returned don't look very useful: ``` Mon, 30 Oct 2017 17:57:40 GMT cypress:server:project get project status for undefined C:\Users\path\PROJECTS\nodejs\FMS Mon, 30 Oct 2017 17:57:40 GMT cypress:server:project no project id Mon, 30 Oct 2017 17:57:40 GMT cypress:server:timers child sending timer id 6 Mon, 30 Oct 2017 17:57:40 GMT cypress:server:timers clearing timer id 6 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] } } Mon, 30 Oct 2017 17:57:40 GMT cypress:server:timers queuing timer id 6 after 2500 ms Mon, 30 Oct 2017 17:57:40 GMT cypress:server:files looking for test files in the integration folder C:\Users\path\PROJECTS\nodejs\FMS\cypress\integration Mon, 30 Oct 2017 17:57:40 GMT cypress:server:timers child received timer id 6 Mon, 30 Oct 2017 17:57:40 GMT cypress:server:files found test file C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/example_spec.js Mon, 30 Oct 2017 17:57:40 GMT cypress:server:files found test file C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/sample_spec.js Mon, 30 Oct 2017 17:57:40 GMT cypress:server:files found 2 spec files Mon, 30 Oct 2017 17:57:40 GMT cypress:server:files [ { name: 'example_spec.js', path: 'cypress\\integration\\example_spec.js', absolute: 'C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/example_spec.js' }, { name: 'sample_spec.js', path: 'cypress\\integration\\sample_spec.js', absolute: 'C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/sample_spec.js' } ] Mon, 30 Oct 2017 17:57:41 GMT cypress:server launching browser chrome spec cypress\integration\sample_spec.js Mon, 30 Oct 2017 17:57:41 GMT cypress:server closing project instance C:\Users\path\PROJECTS\nodejs\FMS Mon, 30 Oct 2017 17:57:41 GMT cypress:server opening project C:\Users\path\PROJECTS\nodejs\FMS Mon, 30 Oct 2017 17:57:41 GMT cypress:server opening project instance C:\Users\path\PROJECTS\nodejs\FMS Mon, 30 Oct 2017 17:57:41 GMT cypress:server:config setting support file C:\Users\path\PROJECTS\nodejs\FMS\cypress\support Mon, 30 Oct 2017 17:57:41 GMT cypress:server:config for project root C:\Users\path\PROJECTS\nodejs\FMS Mon, 30 Oct 2017 17:57:41 GMT cypress:server:config set support folder C:\Users\path\PROJECTS\nodejs\FMS\cypress\support Mon, 30 Oct 2017 17:57:41 GMT cypress:server:scaffold example spec from integration folder C:\Users\path\PROJECTS\nodejs\FMS\cypress\integration Mon, 30 Oct 2017 17:57:41 GMT cypress:server:scaffold supporting files from folder C:\Users\path\PROJECTS\nodejs\FMS\cypress\support Mon, 30 Oct 2017 17:57:41 GMT cypress:server:scaffold scaffolded files ["cypress\\integration\\example_spec.js","cypress\\fixtures\\example.json","cypress\\support\\commands.js","cypress\\support\\index.js"] Mon, 30 Oct 2017 17:57:41 GMT cypress:server making saved state from C:\Users\path\PROJECTS\nodejs\FMS\node_modules\cypress\dist\Cypress\resources\app\packages\server Mon, 30 Oct 2017 17:57:41 GMT cypress:server for project path C:\Users\path\PROJECTS\nodejs\FMS Mon, 30 Oct 2017 17:57:41 GMT cypress:server state path for project C:\Users\path\PROJECTS\nodejs\FMS Mon, 30 Oct 2017 17:57:41 GMT cypress:server:appdata path: C:\Users\username\AppData\Roaming\Cypress\cy\production\projects\FMS-4a9ac4acd3c1c23c5eff7eb7c0099a03\state.json Mon, 30 Oct 2017 17:57:41 GMT cypress:server full state path C:\Users\username\AppData\Roaming\Cypress\cy\production\projects\FMS-4a9ac4acd3c1c23c5eff7eb7c0099a03\state.json Mon, 30 Oct 2017 17:57:41 GMT cypress:server:file reading JSON file C:\Users\username\AppData\Roaming\Cypress\cy\production\projects\FMS-4a9ac4acd3c1c23c5eff7eb7c0099a03\state.json Mon, 30 Oct 2017 17:57:42 GMT cypress:server:scaffold found 2 files in folder C:\Users\path\PROJECTS\nodejs\FMS\cypress\integration Mon, 30 Oct 2017 17:57:42 GMT cypress:server:scaffold untouched scaffold false modal closed true Mon, 30 Oct 2017 17:57:42 GMT cypress:server:server Server listening on port 60466 Mon, 30 Oct 2017 17:57:42 GMT cypress:server:appdata path: C:\Users\username\AppData\Roaming\Cypress\cy\production\proxy Mon, 30 Oct 2017 17:57:42 GMT cypress:https-proxy Created SNI HTTPS Proxy on port 60468 Mon, 30 Oct 2017 17:57:42 GMT cypress:server:server Setting remoteOrigin http://localhost:60466 Mon, 30 Oct 2017 17:57:42 GMT cypress:server:server Setting remoteStrategy file Mon, 30 Oct 2017 17:57:42 GMT cypress:server:server Setting remoteHostAndPort null Mon, 30 Oct 2017 17:57:42 GMT cypress:server:server Setting remoteDocDomain localhost Mon, 30 Oct 2017 17:57:42 GMT cypress:server:server Setting remoteFileServer http://localhost:60467 Mon, 30 Oct 2017 17:57:42 GMT cypress:server:server Getting remote state: { props: null, origin: 'http://localhost:60466', strategy: 'file', visiting: undefined, domainName: 'localhost', fileServer: 'http://localhost:60467' } Mon, 30 Oct 2017 17:57:42 GMT cypress:server scaffolding project C:\Users\path\PROJECTS\nodejs\FMS Mon, 30 Oct 2017 17:57:42 GMT cypress:server:scaffold support folder C:\Users\path\PROJECTS\nodejs\FMS\cypress\support, support file C:\Users\path\PROJECTS\nodejs\FMS\cypress\support\index.js Mon, 30 Oct 2017 17:57:42 GMT cypress:server:scaffold verify scaffolding in C:\Users\path\PROJECTS\nodejs\FMS\cypress\support Mon, 30 Oct 2017 17:57:42 GMT cypress:server:scaffold integration folder C:\Users\path\PROJECTS\nodejs\FMS\cypress\integration Mon, 30 Oct 2017 17:57:42 GMT cypress:server:scaffold verify scaffolding in C:\Users\path\PROJECTS\nodejs\FMS\cypress\integration Mon, 30 Oct 2017 17:57:42 GMT cypress:server:scaffold fixture folder C:\Users\path\PROJECTS\nodejs\FMS\cypress\fixtures Mon, 30 Oct 2017 17:57:42 GMT cypress:server:scaffold verify scaffolding in C:\Users\path\PROJECTS\nodejs\FMS\cypress\fixtures Mon, 30 Oct 2017 17:57:42 GMT cypress:server:timers queuing timer id 7 after 0 ms Mon, 30 Oct 2017 17:57:42 GMT cypress:server:scaffold folder C:\Users\path\PROJECTS\nodejs\FMS\cypress\support already exists Mon, 30 Oct 2017 17:57:42 GMT cypress:server:scaffold folder C:\Users\path\PROJECTS\nodejs\FMS\cypress\integration already exists Mon, 30 Oct 2017 17:57:42 GMT cypress:server:timers child received timer id 7 Mon, 30 Oct 2017 17:57:42 GMT cypress:server:scaffold folder C:\Users\path\PROJECTS\nodejs\FMS\cypress\fixtures already exists Mon, 30 Oct 2017 17:57:42 GMT cypress:server:bundle bundler for project C:\Users\path\PROJECTS\nodejs\FMS for file cypress\support\index.js Mon, 30 Oct 2017 17:57:42 GMT cypress:server:bundle input absolute path C:\Users\path\PROJECTS\nodejs\FMS\cypress\support\index.js Mon, 30 Oct 2017 17:57:42 GMT cypress:server:timers child sending timer id 7 Mon, 30 Oct 2017 17:57:42 GMT cypress:server:appdata path: C:\Users\username\AppData\Roaming\Cypress\cy\production\projects\FMS-4a9ac4acd3c1c23c5eff7eb7c0099a03\bundles\cypress\support\index.js Mon, 30 Oct 2017 17:57:42 GMT cypress:server:bundle output path C:\Users\path\PROJECTS\nodejs\FMS\cypress\support\index.js Mon, 30 Oct 2017 17:57:42 GMT cypress:server:timers clearing timer id 7 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '7': { args: [], ms: 0, cb: [Function: clear] } } Mon, 30 Oct 2017 17:57:42 GMT cypress:server:timers clearing timer id 7 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] } } Mon, 30 Oct 2017 17:57:42 GMT cypress:server:bundle making bundle C:\Users\username\AppData\Roaming\Cypress\cy\production\projects\FMS-4a9ac4acd3c1c23c5eff7eb7c0099a03\bundles\cypress\support\index.js Mon, 30 Oct 2017 17:57:42 GMT cypress:server:timers queuing timer id 8 after 0 ms Mon, 30 Oct 2017 17:57:42 GMT cypress:server:timers child received timer id 8 Mon, 30 Oct 2017 17:57:42 GMT cypress:server:timers queuing timer id 9 after 0 ms Mon, 30 Oct 2017 17:57:42 GMT cypress:server:timers child sending timer id 8 Mon, 30 Oct 2017 17:57:42 GMT cypress:server:timers child received timer id 9 Mon, 30 Oct 2017 17:57:42 GMT cypress:server:timers clearing timer id 8 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '8': { args: [], ms: 0, cb: [Function: clear] }, '9': { args: [], ms: 0, cb: [Function: clear] } } Mon, 30 Oct 2017 17:57:42 GMT cypress:server:timers clearing timer id 8 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '9': { args: [], ms: 0, cb: [Function: clear] } } Mon, 30 Oct 2017 17:57:42 GMT cypress:server:timers child sending timer id 9 Mon, 30 Oct 2017 17:57:42 GMT cypress:server:timers clearing timer id 9 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '9': { args: [], ms: 0, cb: [Function: clear] } } Mon, 30 Oct 2017 17:57:42 GMT cypress:server:timers clearing timer id 9 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] } } Mon, 30 Oct 2017 17:57:42 GMT cypress:server:timers queuing timer id 10 after 0 ms Mon, 30 Oct 2017 17:57:42 GMT cypress:server:timers child received timer id 10 Mon, 30 Oct 2017 17:57:42 GMT cypress:server:timers child sending timer id 10 Mon, 30 Oct 2017 17:57:42 GMT cypress:server:timers clearing timer id 10 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '10': { args: [], ms: 0, cb: [Function: clear] } } Mon, 30 Oct 2017 17:57:42 GMT cypress:server:timers clearing timer id 10 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] } } Mon, 30 Oct 2017 17:57:42 GMT cypress:server:bundle browserify: finished bundling C:\Users\username\AppData\Roaming\Cypress\cy\production\projects\FMS-4a9ac4acd3c1c23c5eff7eb7c0099a03\bundles\cypress\support\index.js Mon, 30 Oct 2017 17:57:42 GMT cypress:server launching project in browser chrome Mon, 30 Oct 2017 17:57:42 GMT cypress:server:browsers open browser chrome Mon, 30 Oct 2017 17:57:42 GMT cypress:server:appdata path: C:\Users\username\AppData\Roaming\Cypress\cy\production\extensions\chrome Mon, 30 Oct 2017 17:57:42 GMT cypress:server:appdata path: C:\Users\username\AppData\Roaming\Cypress\cy\production\extensions\chrome\background.js Mon, 30 Oct 2017 17:57:42 GMT cypress:server:browsers launch in chrome: http://localhost:60466/__/#/tests/integration\sample_spec.js, --test-type,--ignore-certificate-errors,--start-maximized,--silent-debugger-extension-api,--no-default-browser-check,--no-first-run,--noerrdialogs,--enable-fixed-layout,--disable-popup-blocking,--disable-password-generation,--disable-save-password-bubble,--disable-single-click-autofill,--disable-prompt-on-repos,--disable-background-timer-throttling,--disable-renderer-backgrounding,--disable-renderer-throttling,--disable-restore-session-state,--disable-translate,--disable-new-profile-management,--disable-new-avatar-menu,--allow-insecure-localhost,--reduce-security-for-testing,--enable-automation,--disable-infobars,--disable-blink-features=BlockCredentialedSubresources,--metrics-recording-only,--disable-prompt-on-repost,--disable-hang-monitor,--disable-sync,--disable-background-networking,--disable-web-resources,--safebrowsing-disable-auto-update,--safebrowsing-disable-download-protection,--disable-client-side-phishing-detection,--disable-component-update,--disable-default-apps,--load-extension=C:\Users\username\AppData\Roaming\Cypress\cy\production\extensions\chrome,C:\Users\path\PROJECTS\nodejs\FMS\node_modules\cypress\dist\Cypress\resources\app\packages\extension\theme,--user-data-dir=C:\Users\username\AppData\Roaming\Cypress\cy\production\browsers\chrome,--proxy-server=http://localhost:60466 Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher checking one browser chrome Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher looking up chrome on win32 platform Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher exe path C:\Program Files (x86)\Google\Chrome\Application\chrome.exe Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher found C:\Program Files (x86)\Google\Chrome\Application\chrome.exe ? true Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher Version=61.0.3163.100 Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher browser chrome at 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe' version 61.0.3163.100 Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher setting major version for {"name":"chrome","displayName":"Chrome","version":"61.0.3163.100","path":"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe"} Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher browser chrome version 61.0.3163.100 major version 61 Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher checking one browser chromium Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher looking up chromium on win32 platform Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher exe path C:\Program Files (x86)\Google\chrome-win32\chrome.exe Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher found C:\Program Files (x86)\Google\chrome-win32\chrome.exe ? false Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher browser chromium not installed Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher checking one browser canary Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher looking up canary on win32 platform Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher exe path C:\Users\username\AppData\Local\Google\Chrome SxS\Application\chrome.exe Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher found C:\Users\username\AppData\Local\Google\Chrome SxS\Application\chrome.exe ? false Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher browser canary not installed Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher checking one browser Google Chrome Stable Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher looking up Google Chrome Stable on win32 platform Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher exe path C:\Program Files (x86)\Google\Chrome\Application\Google Chrome Stable.exe Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher found C:\Program Files (x86)\Google\Chrome\Application\Google Chrome Stable.exe ? false Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher browser Google Chrome Stable not installed Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher checking one browser Google Chrome Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher looking up Google Chrome on win32 platform Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher exe path C:\Program Files (x86)\Google\Chrome\Application\Google Chrome.exe Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher found C:\Program Files (x86)\Google\Chrome\Application\Google Chrome.exe? false Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher browser Google Chrome not installed Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher launching browser chrome to open http://localhost:60466/__/#/tests/integration\sample_spec.js Mon, 30 Oct 2017 17:57:42 GMT cypress:launcher spawning browser C:\Program Files (x86)\Google\Chrome\Application\chrome.exe with args http://localhost:60466/__/#/tests/integration\sample_spec.js --test-type --ignore-certificate-errors --start-maximized --silent-debugger-extension-api --no-default-browser-check --no-first-run --noerrdialogs --enable-fixed-layout --disable-popup-blocking --disable-password-generation --disable-save-password-bubble --disable-single-click-autofill --disable-prompt-on-repos --disable-background-timer-throttling --disable-renderer-backgrounding --disable-renderer-throttling --disable-restore-session-state --disable-translate --disable-new-profile-management --disable-new-avatar-menu--allow-insecure-localhost --reduce-security-for-testing --enable-automation --disable-infobars --disable-blink-features=BlockCredentialedSubresources --metrics-recording-only --disable-prompt-on-repost --disable-hang-monitor --disable-sync --disable-background-networking --disable-web-resources --safebrowsing-disable-auto-update --safebrowsing-disable-download-protection --disable-client-side-phishing-detection --disable-component-update --disable-default-apps --load-extension=C:\Users\username\AppData\Roaming\Cypress\cy\production\extensions\chrome,C:\Users\path\PROJECTS\nodejs\FMS\node_modules\cypress\dist\Cypress\resources\app\packages\extension\theme --user-data-dir=C:\Users\username\AppData\Roaming\Cypress\cy\production\browsers\chrome --proxy-server=http://localhost:60466 Mon, 30 Oct 2017 17:57:42 GMT cypress:server:browsers browser opened Mon, 30 Oct 2017 17:57:42 GMT cypress:server:timers queuing timer id 11 after 1000 ms Mon, 30 Oct 2017 17:57:42 GMT cypress:server:timers child received timer id 11 Mon, 30 Oct 2017 17:57:43 GMT cypress:server:timers child sending timer id 6 Mon, 30 Oct 2017 17:57:43 GMT cypress:server:timers clearing timer id 6 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '11': { args: [], ms: 1000, cb: [Function] } } Mon, 30 Oct 2017 17:57:43 GMT cypress:server:timers queuing timer id 6 after 2500 ms Mon, 30 Oct 2017 17:57:43 GMT cypress:server:timers child received timer id 6 Mon, 30 Oct 2017 17:57:43 GMT cypress:server:files looking for test files in the integration folder C:\Users\path\PROJECTS\nodejs\FMS\cypress\integration Mon, 30 Oct 2017 17:57:43 GMT cypress:server:files found test file C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/example_spec.js Mon, 30 Oct 2017 17:57:43 GMT cypress:server:files found test file C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/sample_spec.js Mon, 30 Oct 2017 17:57:43 GMT cypress:server:files found 2 spec files Mon, 30 Oct 2017 17:57:43 GMT cypress:server:files [ { name: 'example_spec.js', path: 'cypress\\integration\\example_spec.js', absolute: 'C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/example_spec.js' }, { name: 'sample_spec.js', path: 'cypress\\integration\\sample_spec.js', absolute: 'C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/sample_spec.js' } ] Mon, 30 Oct 2017 17:57:43 GMT cypress:server:timers child sending timer id 11 Mon, 30 Oct 2017 17:57:43 GMT cypress:server:timers clearing timer id 11 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '11': { args: [], ms: 1000, cb: [Function] } } Mon, 30 Oct 2017 17:57:44 GMT cypress:server:routes Serving Cypress front-end by requested URL: /__/ Mon, 30 Oct 2017 17:57:44 GMT cypress:server:server Getting remote state: { props: null, origin: 'http://localhost:60466', strategy: 'file', visiting: undefined, domainName: 'localhost', fileServer: 'http://localhost:60467' }GET /__/ 200 62.129 ms - - Mon, 30 Oct 2017 17:57:45 GMT cypress:server:server Got CONNECT request from localhost:60466 Mon, 30 Oct 2017 17:57:45 GMT cypress:https-proxy Writing socket connection headers for URL: localhost:60466 Mon, 30 Oct 2017 17:57:45 GMT cypress:server:server HTTPS request does not match URL: https://localhost:60466 with props: null Mon, 30 Oct 2017 17:57:45 GMT cypress:https-proxy Making direct connection to localhost:60466 Mon, 30 Oct 2017 17:57:45 GMT cypress:server:server Got UPGRADE request from /__socket.io/?EIO=3&transport=websocket Mon, 30 Oct 2017 17:57:45 GMT cypress:server:timers queuing timer id 12 after 85000 ms Mon, 30 Oct 2017 17:57:45 GMT cypress:server:timers child received timer id 12 Mon, 30 Oct 2017 17:57:45 GMT cypress:server:socket socket connected Mon, 30 Oct 2017 17:57:45 GMT cypress:server:timers clearing timer id 12 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '12': { args: [], ms: 85000, cb: [Function] } } Mon, 30 Oct 2017 17:57:45 GMT cypress:server:timers queuing timer id 13 after 85000 ms Mon, 30 Oct 2017 17:57:45 GMT cypress:server:timers child received timer id 13 Mon, 30 Oct 2017 17:57:45 GMT cypress:server:socket automation:client connectedGET /__cypress/runner/cypress_runner.css 200 121.290 ms - -GET /__cypress/runner/cypress_runner.js 200 544.933 ms - - Mon, 30 Oct 2017 17:57:45 GMT cypress:server:timers child sending timer id 6 Mon, 30 Oct 2017 17:57:45 GMT cypress:server:timers clearing timer id 6 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '13': { args: [], ms: 85000, cb: [Function] } } Mon, 30 Oct 2017 17:57:45 GMT cypress:server:timers queuing timer id 6 after 2500 ms Mon, 30 Oct 2017 17:57:45 GMT cypress:server:files looking for test files in the integration folder C:\Users\path\PROJECTS\nodejs\FMS\cypress\integration Mon, 30 Oct 2017 17:57:45 GMT cypress:server:timers child received timer id 6 Mon, 30 Oct 2017 17:57:45 GMT cypress:server:files found test file C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/example_spec.js Mon, 30 Oct 2017 17:57:45 GMT cypress:server:files found test file C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/sample_spec.js Mon, 30 Oct 2017 17:57:45 GMT cypress:server:files found 2 spec files Mon, 30 Oct 2017 17:57:45 GMT cypress:server:files [ { name: 'example_spec.js', path: 'cypress\\integration\\example_spec.js', absolute: 'C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/example_spec.js' }, { name: 'sample_spec.js', path: 'cypress\\integration\\sample_spec.js', absolute: 'C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/sample_spec.js' } ] Mon, 30 Oct 2017 17:57:46 GMT cypress:server:server Got CONNECT request from localhost:60466 Mon, 30 Oct 2017 17:57:46 GMT cypress:https-proxy Writing socket connection headers for URL: localhost:60466 Mon, 30 Oct 2017 17:57:46 GMT cypress:server:server HTTPS request does not match URL: https://localhost:60466 with props: null Mon, 30 Oct 2017 17:57:46 GMT cypress:https-proxy Making direct connection to localhost:60466 Mon, 30 Oct 2017 17:57:46 GMT cypress:server:server Got UPGRADE request from /__socket.io/?EIO=3&transport=websocket Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers queuing timer id 14 after 85000 ms Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers child received timer id 14 Mon, 30 Oct 2017 17:57:46 GMT cypress:server:socket socket connected Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers clearing timer id 14 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '13': { args: [], ms: 85000, cb: [Function] }, '14': { args: [], ms: 85000, cb: [Function] } } Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers queuing timer id 15 after 85000 ms Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers child received timer id 15 Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers clearing timer id 15 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '13': { args: [], ms: 85000, cb: [Function] }, '15': { args: [], ms: 85000, cb: [Function] } } Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers queuing timer id 16 after 85000 ms Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers child received timer id 16 Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers queuing timer id 17 after 1000 ms Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers child received timer id 17GET /__cypress/static/favicon.ico 200 13.826 ms - - Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers clearing timer id 13 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '13': { args: [], ms: 85000, cb: [Function] }, '16': { args: [], ms: 85000, cb: [Function] }, '17': { args: [], ms: 1000, cb: [Function: timeoutTimeout] } } Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers queuing timer id 18 after 85000 ms Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers child received timer id 18 Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers clearing timer id 17 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '16': { args: [], ms: 85000, cb: [Function] }, '17': { args: [], ms: 1000, cb: [Function: timeoutTimeout] }, '18': { args: [], ms: 85000, cb: [Function] } }GET /__cypress/runner/fonts/fontawesome-webfont.woff2?v=4.7.0 200 7.815 ms - 77160 Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers clearing timer id 16 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '16': { args: [], ms: 85000, cb: [Function] }, '18': { args: [], ms: 85000, cb: [Function] } } Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers queuing timer id 19 after 85000 ms Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers child received timer id 19 Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers clearing timer id 19 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '18': { args: [], ms: 85000, cb: [Function] }, '19': { args: [], ms: 85000, cb: [Function] } } Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers queuing timer id 20 after 85000 ms Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers child received timer id 20 Mon, 30 Oct 2017 17:57:46 GMT cypress:server:socket watch test file integration\sample_spec.js Mon, 30 Oct 2017 17:57:46 GMT cypress:server:socket will watch test file path C:\Users\path\PROJECTS\nodejs\FMS\cypress\integration\integration\sample_spec.js Mon, 30 Oct 2017 17:57:46 GMT cypress:server:bundle bundler for project C:\Users\path\PROJECTS\nodejs\FMS for file C:\Users\path\PROJECTS\nodejs\FMS\cypress\integration\integration\sample_spec.js Mon, 30 Oct 2017 17:57:46 GMT cypress:server:bundle input absolute path C:\Users\path\PROJECTS\nodejs\FMS\C:\Users\path\PROJECTS\nodejs\FMS\cypress\integration\integration\sample_spec.js Mon, 30 Oct 2017 17:57:46 GMT cypress:server:appdata path: C:\Users\username\AppData\Roaming\Cypress\cy\production\projects\FMS-4a9ac4acd3c1c23c5eff7eb7c0099a03\bundles\C:\Users\path\PROJECTS\nodejs\FMS\cypress\integration\integration\sample_spec.js Mon, 30 Oct 2017 17:57:46 GMT cypress:server:bundle output path C:\Users\path\PROJECTS\nodejs\FMS\C:\Users\path\PROJECTS\nodejs\FMS\cypress\integration\integration\sample_spec.js Mon, 30 Oct 2017 17:57:46 GMT cypress:server:server Getting remote state: { props: null, origin: 'http://localhost:60466', strategy: 'file', visiting: undefined, domainName: 'localhost', fileServer: 'http://localhost:60467' }GET /__cypress/iframes/integration/sample_spec.js 200 33.504 ms - 725 Mon, 30 Oct 2017 17:57:46 GMT cypress:server:appdata path: C:\Users\username\AppData\Roaming\Cypress\cy\production\projects\FMS-4a9ac4acd3c1c23c5eff7eb7c0099a03\bundles\cypress\support\index.jsGET /__cypress/tests?p=cypress%5Csupport%5Cindex.js-698 200 6.595 ms - - Mon, 30 Oct 2017 17:57:46 GMT cypress:server:bundle bundler for project C:\Users\path\PROJECTS\nodejs\FMS for file cypress\integration\sample_spec.js Mon, 30 Oct 2017 17:57:46 GMT cypress:server:bundle input absolute path C:\Users\path\PROJECTS\nodejs\FMS\cypress\integration\sample_spec.js Mon, 30 Oct 2017 17:57:46 GMT cypress:server:appdata path: C:\Users\username\AppData\Roaming\Cypress\cy\production\projects\FMS-4a9ac4acd3c1c23c5eff7eb7c0099a03\bundles\cypress\integration\sample_spec.js Mon, 30 Oct 2017 17:57:46 GMT cypress:server:bundle output path C:\Users\path\PROJECTS\nodejs\FMS\cypress\integration\sample_spec.js Mon, 30 Oct 2017 17:57:46 GMT cypress:server:bundle making bundle C:\Users\username\AppData\Roaming\Cypress\cy\production\projects\FMS-4a9ac4acd3c1c23c5eff7eb7c0099a03\bundles\cypress\integration\sample_spec.js Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers queuing timer id 21 after 0 ms Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers child received timer id 21 Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers child sending timer id 21 Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers queuing timer id 22 after 0 ms Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers child received timer id 22 Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers child sending timer id 22 Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers clearing timer id 21 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '18': { args: [], ms: 85000, cb: [Function] }, '20': { args: [], ms: 85000, cb: [Function] }, '21': { args: [], ms: 0, cb: [Function: clear] }, '22': { args: [], ms: 0, cb: [Function: clear] } } Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers clearing timer id 21 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '18': { args: [], ms: 85000, cb: [Function] }, '20': { args: [], ms: 85000, cb: [Function] }, '22': { args: [], ms: 0, cb: [Function: clear] } } Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers clearing timer id 22 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '18': { args: [], ms: 85000, cb: [Function] }, '20': { args: [], ms: 85000, cb: [Function] }, '22': { args: [], ms: 0, cb: [Function: clear] } } Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers clearing timer id 22 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '18': { args: [], ms: 85000, cb: [Function] }, '20': { args: [], ms: 85000, cb: [Function] } } Mon, 30 Oct 2017 17:57:46 GMT cypress:server:bundle browserify: finished bundling C:\Users\username\AppData\Roaming\Cypress\cy\production\projects\FMS-4a9ac4acd3c1c23c5eff7eb7c0099a03\bundles\cypress\integration\sample_spec.js Mon, 30 Oct 2017 17:57:46 GMT cypress:server:appdata path: C:\Users\username\AppData\Roaming\Cypress\cy\production\projects\FMS-4a9ac4acd3c1c23c5eff7eb7c0099a03\bundles\cypress\integration\sample_spec.jsGET /__cypress/tests?p=cypress%5Cintegration%5Csample_spec.js-041 200 247.107 ms - - Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers clearing timer id 20 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '18': { args: [], ms: 85000, cb: [Function] }, '20': { args: [], ms: 85000, cb: [Function] } } Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers queuing timer id 23 after 85000 ms Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers child received timer id 23 Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers clearing timer id 23 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '18': { args: [], ms: 85000, cb: [Function] }, '23': { args: [], ms: 85000, cb: [Function] } } Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers queuing timer id 24 after 85000 ms Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers child received timer id 24 Mon, 30 Oct 2017 17:57:46 GMT cypress:server:socket automation:request get:cookies { domain: 'localhost' } Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers clearing timer id 18 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '18': { args: [], ms: 85000, cb: [Function] }, '24': { args: [], ms: 85000, cb: [Function] } } Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers queuing timer id 25 after 85000 ms Mon, 30 Oct 2017 17:57:46 GMT cypress:server:timers child received timer id 25 Mon, 30 Oct 2017 17:57:47 GMT cypress:server:timers clearing timer id 25 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '24': { args: [], ms: 85000, cb: [Function] }, '25': { args: [], ms: 85000, cb: [Function] } } Mon, 30 Oct 2017 17:57:47 GMT cypress:server:timers queuing timer id 26 after 85000 ms Mon, 30 Oct 2017 17:57:47 GMT cypress:server:timers child received timer id 26 Mon, 30 Oct 2017 17:57:47 GMT cypress:server:timers clearing timer id 24 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '24': { args: [], ms: 85000, cb: [Function] }, '26': { args: [], ms: 85000, cb: [Function] } } Mon, 30 Oct 2017 17:57:47 GMT cypress:server:timers queuing timer id 27 after 85000 ms Mon, 30 Oct 2017 17:57:47 GMT cypress:server:timers child received timer id 27 Mon, 30 Oct 2017 17:57:47 GMT cypress:server:socket backend:request resolve:url function (){ // prevent double callbacks if (sent) return; var args = Array.prototype.slice.call(arguments); debug('sending ack %j', args); var type = hasBin(args) ? parser.BINARY_ACK : parser.ACK; self.packet({ id: id, type: type, data: args }); sent = true; } [ 'https://domain%5Clogin:password@www.intranet.com/site/' ] Mon, 30 Oct 2017 17:57:47 GMT cypress:server:server Getting remote state: { props: null, origin: 'http://localhost:60466', strategy: 'file', visiting: undefined, domainName: 'localhost', fileServer: 'http://localhost:60467' } Mon, 30 Oct 2017 17:57:47 GMT cypress:server:timers clearing timer id 26 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '26': { args: [], ms: 85000, cb: [Function] }, '27': { args: [], ms: 85000, cb: [Function] } } Mon, 30 Oct 2017 17:57:47 GMT cypress:server:timers queuing timer id 28 after 85000 ms Mon, 30 Oct 2017 17:57:47 GMT cypress:server:timers child received timer id 28 Mon, 30 Oct 2017 17:57:47 GMT cypress:server:timers child sending timer id 17 Mon, 30 Oct 2017 17:57:47 GMT cypress:server:timers queuing timer id 29 after 30000 ms Mon, 30 Oct 2017 17:57:47 GMT cypress:server:timers child received timer id 29 Mon, 30 Oct 2017 17:57:47 GMT cypress:server:timers clearing timer id 29 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '27': { args: [], ms: 85000, cb: [Function] }, '28': { args: [], ms: 85000, cb: [Function] }, '29': { args: [], ms: 30000, cb: [Function] } } Mon, 30 Oct 2017 17:57:48 GMT cypress:server:timers child sending timer id 6 Mon, 30 Oct 2017 17:57:48 GMT cypress:server:timers clearing timer id 6 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '27': { args: [], ms: 85000, cb: [Function] }, '28': { args: [], ms: 85000, cb: [Function] } } Mon, 30 Oct 2017 17:57:48 GMT cypress:server:timers queuing timer id 6 after 2500 ms Mon, 30 Oct 2017 17:57:48 GMT cypress:server:files looking for test files in the integration folder C:\Users\path\PROJECTS\nodejs\FMS\cypress\integration Mon, 30 Oct 2017 17:57:48 GMT cypress:server:timers child received timer id 6 Mon, 30 Oct 2017 17:57:48 GMT cypress:server:files found test file C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/example_spec.js Mon, 30 Oct 2017 17:57:48 GMT cypress:server:files found test file C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/sample_spec.js Mon, 30 Oct 2017 17:57:48 GMT cypress:server:files found 2 spec files Mon, 30 Oct 2017 17:57:48 GMT cypress:server:files [ { name: 'example_spec.js', path: 'cypress\\integration\\example_spec.js', absolute: 'C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/example_spec.js' }, { name: 'sample_spec.js', path: 'cypress\\integration\\sample_spec.js', absolute: 'C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/sample_spec.js' } ] Mon, 30 Oct 2017 17:57:50 GMT cypress:server:project get project status for undefined C:\Users\path\PROJECTS\nodejs\FMS Mon, 30 Oct 2017 17:57:50 GMT cypress:server:project no project id Mon, 30 Oct 2017 17:57:50 GMT cypress:server:timers child sending timer id 6 Mon, 30 Oct 2017 17:57:50 GMT cypress:server:timers clearing timer id 6 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '27': { args: [], ms: 85000, cb: [Function] }, '28': { args: [], ms: 85000, cb: [Function] } } Mon, 30 Oct 2017 17:57:50 GMT cypress:server:timers queuing timer id 6 after 2500 ms Mon, 30 Oct 2017 17:57:50 GMT cypress:server:timers child received timer id 6 Mon, 30 Oct 2017 17:57:50 GMT cypress:server:files looking for test files in the integration folder C:\Users\path\PROJECTS\nodejs\FMS\cypress\integration Mon, 30 Oct 2017 17:57:50 GMT cypress:server:files found test file C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/example_spec.js Mon, 30 Oct 2017 17:57:50 GMT cypress:server:files found test file C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/sample_spec.js Mon, 30 Oct 2017 17:57:50 GMT cypress:server:files found 2 spec files Mon, 30 Oct 2017 17:57:50 GMT cypress:server:files [ { name: 'example_spec.js', path: 'cypress\\integration\\example_spec.js', absolute: 'C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/example_spec.js' }, { name: 'sample_spec.js', path: 'cypress\\integration\\sample_spec.js', absolute: 'C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/sample_spec.js' } ] Mon, 30 Oct 2017 17:57:53 GMT cypress:server:timers child sending timer id 6 Mon, 30 Oct 2017 17:57:53 GMT cypress:server:timers clearing timer id 6 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '27': { args: [], ms: 85000, cb: [Function] }, '28': { args: [], ms: 85000, cb: [Function] } } Mon, 30 Oct 2017 17:57:53 GMT cypress:server:timers queuing timer id 6 after 2500 ms Mon, 30 Oct 2017 17:57:53 GMT cypress:server:timers child received timer id 6 Mon, 30 Oct 2017 17:57:53 GMT cypress:server:files looking for test files in the integration folder C:\Users\path\PROJECTS\nodejs\FMS\cypress\integration Mon, 30 Oct 2017 17:57:53 GMT cypress:server:files found test file C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/example_spec.js Mon, 30 Oct 2017 17:57:53 GMT cypress:server:files found test file C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/sample_spec.js Mon, 30 Oct 2017 17:57:53 GMT cypress:server:files found 2 spec files Mon, 30 Oct 2017 17:57:53 GMT cypress:server:files [ { name: 'example_spec.js', path: 'cypress\\integration\\example_spec.js', absolute: 'C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/example_spec.js' }, { name: 'sample_spec.js', path: 'cypress\\integration\\sample_spec.js', absolute: 'C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/sample_spec.js' } ] Mon, 30 Oct 2017 17:57:55 GMT cypress:server:timers child sending timer id 6 Mon, 30 Oct 2017 17:57:55 GMT cypress:server:timers clearing timer id 6 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '27': { args: [], ms: 85000, cb: [Function] }, '28': { args: [], ms: 85000, cb: [Function] } } Mon, 30 Oct 2017 17:57:55 GMT cypress:server:timers queuing timer id 6 after 2500 ms Mon, 30 Oct 2017 17:57:55 GMT cypress:server:files looking for test files in the integration folder C:\Users\path\PROJECTS\nodejs\FMS\cypress\integration Mon, 30 Oct 2017 17:57:55 GMT cypress:server:timers child received timer id 6 Mon, 30 Oct 2017 17:57:55 GMT cypress:server:files found test file C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/example_spec.js Mon, 30 Oct 2017 17:57:55 GMT cypress:server:files found test file C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/sample_spec.js Mon, 30 Oct 2017 17:57:55 GMT cypress:server:files found 2 spec files Mon, 30 Oct 2017 17:57:55 GMT cypress:server:files [ { name: 'example_spec.js', path: 'cypress\\integration\\example_spec.js', absolute: 'C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/example_spec.js' }, { name: 'sample_spec.js', path: 'cypress\\integration\\sample_spec.js', absolute: 'C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/sample_spec.js' } ] Mon, 30 Oct 2017 17:57:58 GMT cypress:server:timers child sending timer id 6 Mon, 30 Oct 2017 17:57:58 GMT cypress:server:timers clearing timer id 6 from queue { '6': { args: [], ms: 2500, cb: [Function: cb] }, '27': { args: [], ms: 85000, cb: [Function] }, '28': { args: [], ms: 85000, cb: [Function] } } Mon, 30 Oct 2017 17:57:58 GMT cypress:server:timers queuing timer id 6 after 2500 ms Mon, 30 Oct 2017 17:57:58 GMT cypress:server:files looking for test files in the integration folder C:\Users\path\PROJECTS\nodejs\FMS\cypress\integration Mon, 30 Oct 2017 17:57:58 GMT cypress:server:timers child received timer id 6 Mon, 30 Oct 2017 17:57:58 GMT cypress:server:files found test file C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/example_spec.js Mon, 30 Oct 2017 17:57:58 GMT cypress:server:files found test file C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/sample_spec.js Mon, 30 Oct 2017 17:57:58 GMT cypress:server:files found 2 spec files Mon, 30 Oct 2017 17:57:58 GMT cypress:server:files [ { name: 'example_spec.js', path: 'cypress\\integration\\example_spec.js', absolute: 'C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/example_spec.js' }, { name: 'sample_spec.js', path: 'cypress\\integration\\sample_spec.js', absolute: 'C:/Users/path/PROJECTS/nodejs/FMS/cypress/integration/sample_spec.js' } ] ```

@brian-mann
Copy link
Member

The debug logs from the console will not really tell you anything interesting about what the driver is doing.

This is likely a proxy issue with us not following whatever the protocol is for the NTLM auth challenge. I'll have to read about the spec / find a reproducible example to see what needs to be done.

We won't get what the browser does "for free" because we make the initial visit request out of node - not the browser.

That's the layer that has to mimic what the browser does.

@bahmutov
Copy link
Contributor

Thanks @brian-mann

@Aymkdn we plan to send diagnostic debug output from the driver back to the console (see this issue #448 for implementation), but this is some time off

@jennifer-shehane jennifer-shehane added stage: needs investigating Someone from Cypress needs to look at this type: bug labels Oct 31, 2017
@brian-mann brian-mann added type: feature New feature that does not currently exist and removed type: bug labels Oct 31, 2017
@RandallKent
Copy link
Contributor

Since Cypress proxies the connection, it will need to do something to fully support NTLM authentication.

@Aymkdn - I understand you're running these tests on your local intranet. Do you by chance know of any publicly accessible sites that use NTLM authentication which we can use to reproduce the issue and subsequently test against?

Reference materials:

@Aymkdn
Copy link
Author

Aymkdn commented Jan 10, 2018

@RandallKent > no I don't know a public accessible website with NTML authentication... At the end I went to use puppeteer for my needs.

@CptArn
Copy link

CptArn commented Jan 23, 2018

Is there any update on this? I'm having the same problem. The initial 401 error is normal for the NTML protocol but it should send some more requests after that. I couldn't find a public NTML endpoint you could use for testing this.

@RandallKent
Copy link
Contributor

Unfortunately, until there is an endpoint we can use for testing, we're unable to move forward.

@CptArn
Copy link

CptArn commented Jan 23, 2018

@RandallKent Will see what I can do. For now, I've made a proxy script which I run and it resend the calls with authentication. This is working for me so far.

@paul42
Copy link

paul42 commented Jan 23, 2018

@CptArn sorry to bother, would you be able to share a gist of your proxy script? I'm taking a look at cypress and I was running into the same issue, I'm not very familiar with NTLM auth unfortunately. Thanks in advance!

@CptArn
Copy link

CptArn commented Jan 23, 2018

Hi @paul42

It's relatively easy to setup for me. The application I'm working on has all relative linking. So the script is just starting an express server and catches all calls. Then when a request is processed, I launch a call with the httpntlm library. When the call is received I forward it back to the application. I've made some command line variables on the proxy script so I can change the user or host.

In bare essence:

app.get('*', (req, res) => {
 // Do some stuff
 httpntlm.get({
    url: HOST + req.url,
    username: 'xxx',
    password: xxx'',
}, function (err, response){
    if(err) return err;
   res.set(response.headers);
   res.send(response.body);
});
})

I've done that for get/post calls.

Hope this helps.

@paul42
Copy link

paul42 commented Jan 23, 2018

@CptArn thanks so much for posting this, I'll dig into that library and try out your methods. much appreciated!

@paul42
Copy link

paul42 commented Jan 23, 2018

@bahmutov @RandallKent I'm having success following @CptArn 's super helpful proxy script, but I'm wondering is there a place I could try to dive into the underlying cy.visit() and cy.request() methods? or is that more of a plugin (perhaps, an NTLM plugin?) I didn't see any surface area exposed in the plugins that related to network requests, but I'd like to poke around if you can point me in a possible area where I can use the httpntlm library (it has great documentation!) and consider a PR? I'm not super advanced, but I think taking a rough crack at it might be fun.

thanks in advance,
Paul

@Tarig0
Copy link

Tarig0 commented Jan 24, 2018

So they're is no windows servers you can use in your own network?

Most internet sites that allow for ntlm are windowed to a tenant.

Ex. Microsoft accounts, okta

@BergA5
Copy link

BergA5 commented Feb 6, 2018

Hi iám very impressed about cypress !! But now i need to run a test against windows **NTLM authenticated server...**please tell my how to create a workaround for this? Or maybe for the time being:

  1. Login manual (with an headed chromium browser) and then start the test

@pringshia
Copy link

Having a blast using Cypress but running into the NTLM issue here as well, which is unfortunately a showstopper for me using it and evangelizing it at work.

@cesalberca
Copy link

Any ideas on how should we proceed or are there any plans to implement this functionality?

@raffymack
Copy link

Any updates?

@angryBoi442
Copy link

Gotta love the radio silence.

@luis-m-gonzalez
Copy link

@bjowes ' cypress-ntlm-auth plugin is awesome, it has allowed me to test Cypress on my corporate environment. However, it requires a user's Windows password on plain text, to be stored as an environment variable. It is highly unlikely that my security team will approve of this as a standard. To be able to use Cypress here instead of Selenium I would need Cypress to support NTLM out of the box, reading the credentials out of the authenticated user, just as it happens automatically on Chrome

@bjowes
Copy link
Contributor

bjowes commented Aug 29, 2019

@bjowes ' cypress-ntlm-auth plugin is awesome, it has allowed me to test Cypress on my corporate environment. However, it requires a user's Windows password on plain text, to be stored as an environment variable. It is highly unlikely that my security team will approve of this as a standard. To be able to use Cypress here instead of Selenium I would need Cypress to support NTLM out of the box, reading the credentials out of the authenticated user, just as it happens automatically on Chrome

Thanks for the credd @luis-m-gonzalez . I agree that native NTLM support in Cypress would be great!
In the mean time, I have given your idea some consideration for implementation within my plugin. There are two main reasons I didn't go this way already:

  • The plugin is platform agnostic - single sign on would be Windows only
  • The plugin supports scenarios where the test runner can be any user. In some cases there is a need to perform tests as different user accounts for different features. This is simplified by allowing full login directly in the plugin.

Nevertheless, it would be really convenient and more IT sec friendly to support single sign on. I've opened up an issue for it. If you are interested we can continue the discussion (about the plugin) there.

@spham
Copy link

spham commented Nov 15, 2019

it not work for me, i have this

  "scripts": {
    "ntlm-proxy": "start /min \"ntlm-proxy\" cmd /c node_modules\\.bin\\ntlm-proxy",
    "cypress-ntlm": "npm run ntlm-proxy && (cypress-ntlm open & ntlm-proxy-exit)",
    "test": "set NODE_TLS_REJECT_UNAUTHORIZED=0 && npm run cypress-ntlm"
  },

and return error 504

@bjowes
Copy link
Contributor

bjowes commented Nov 15, 2019

@spham : I have opened an issue in the cypress-ntlm-auth repo for troubleshooting your case. Please continue the discussion there.

@bjowes
Copy link
Contributor

bjowes commented Nov 15, 2019

And to follow up on the comment by @luis-m-gonzalez - the cypress-ntlm-auth plugin now supports Single-sign-on in Windows environment, meaning that credentials are no longer required in the config files.

@trips11
Copy link

trips11 commented Mar 18, 2020

Hi, Just wanted to check if this issue is resolved. It is a blocker for us to use cypress in our organization

@Aymkdn
Copy link
Author

Aymkdn commented Mar 18, 2020

Hi, Just wanted to check if this issue is resolved. It is a blocker for us to use cypress in our organization

It works with https://github.com/bjowes/cypress-ntlm-auth (a plugin). I use it in my organization.

@trips11
Copy link

trips11 commented Mar 18, 2020

Thanks for your quick reply. But I am still getting 504 error.
I am new to Cypress and I am not sure what I am doing wrong.

Had a question. In the document under "Upstream proxy" section its mentioned that, "This is done by setting the (standardized) environment variables" Does that mean I have to put the proxy in systems properties?

@Aymkdn
Copy link
Author

Aymkdn commented Mar 18, 2020

You should open a new issue on https://github.com/bjowes/cypress-ntlm-auth

@spham
Copy link

spham commented Mar 19, 2020

it a waste of time, i'm switch in other tools like codeconcept with jest. and it work fine.

@bjowes
Copy link
Contributor

bjowes commented Mar 19, 2020

@spham - I understand that it is frustrating when you spend time to get it working but it never took off. But claiming that it is a waste of time is a bit harsh. There are plenty of happy users of my plugin, and I support new ones if they are struggling to get started.

Given the constraints in this support (done for free in my spare time, across time zones, only through a github thread) some cases just take too much calendar time, and the user switches to something else. I respect that. However, I still think when you get it working, it is really worth it. There are no other tools out there that can match the features of cypress.

@trips11
Copy link

trips11 commented Mar 19, 2020

When I look into the logs I am getting error as PROXY_TO_SERVER_REQUEST_ERROR on /: Error: self signed certificate in certificate chain
Does anyone got the similar error ?

@bjowes
Copy link
Contributor

bjowes commented Mar 19, 2020

@trips11 - the error message comes from the plugin. Read the section about TLS issues in the readme to fix certificate issues.

If you need more help you are welcome to open an issue with the plugin https://github.com/bjowes/cypress-ntlm-auth

@sarita555
Copy link

Hi @paul42

It's relatively easy to setup for me. The application I'm working on has all relative linking. So the script is just starting an express server and catches all calls. Then when a request is processed, I launch a call with the httpntlm library. When the call is received I forward it back to the application. I've made some command line variables on the proxy script so I can change the user or host.

In bare essence:

app.get('*', (req, res) => {
 // Do some stuff
 httpntlm.get({
    url: HOST + req.url,
    username: 'xxx',
    password: xxx'',
}, function (err, response){
    if(err) return err;
   res.set(response.headers);
   res.send(response.body);
});
})

I've done that for get/post calls.

Hope this helps.

Can you Please explain how to run this script to bypass 401 error accessing intranet site?

@sarita555
Copy link

Hi,

This is a question. I haven't been able to find an answer, so I'm trying here.

I wanted to test your product on our Sharepoint On-Promise, in our intranet. However I'm blocked on cy.visit("https://domain%5Clogin:password@www.intranet.com/site/") that returns a 401 error.

I tried both Chrome and Electron from the dropdown selection.

Any idea how I could have the authentication working? We use NTLM authentication for our Sharepoint.

Thanks

Hi, I have the same issue. How did you resolve? Please help.

@mathpaquette
Copy link

mathpaquette commented Nov 10, 2020

Having a blast using Cypress but running into the NTLM issue here as well, which is unfortunately a showstopper for me using it and evangelizing it at work.

@pringshia Are you using kerberos? I figured out a workaround to make it work in my firm. You can leverage the HTTP_PROXY functionality provided by Cypress.

@sarita555
Copy link

sarita555 commented Nov 11, 2020 via email

@mathpaquette
Copy link

@sarita555 is your computer part of a Windows network? Basically you're trying running Cypress in the enterprise isn't it?

@sarita555
Copy link

sarita555 commented Nov 18, 2020 via email

@mathpaquette
Copy link

@sarita555 got it. You mean that you need to logon first (Windows) and then when you connect to SharePoint you get asked for the same credentials or they are different from your Windows one? Just trying to figure out the authentication type.

@sarita555
Copy link

sarita555 commented Nov 19, 2020 via email

@sarita555
Copy link

sarita555 commented Nov 23, 2020 via email

@bjowes
Copy link
Contributor

bjowes commented Jul 8, 2022 via email

@Hazaruddinsyed
Copy link

Hi Everyone,
I am also having the same blocker. I am stuck with windows authentication for my SharePoint intranet application. Can someone help me out regarding this. I have tried NTLM still getting error 401. If someone already have a solution please help me out. Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stage: ready for work The issue is reproducible and in scope type: feature New feature that does not currently exist
Projects
None yet
Development

No branches or pull requests