cypress-io / cypress

Fast, easy and reliable testing for anything that runs in a browser.
https://cypress.io
MIT License
46.8k stars 3.17k forks source link

NTLM Authentification #850

Open Aymkdn opened 6 years ago

Aymkdn commented 6 years ago

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 commented 6 years ago

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

Aymkdn commented 6 years ago

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

bahmutov commented 6 years ago

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 commented 6 years ago

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 commented 6 years ago

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 commented 6 years ago

@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 commented 6 years ago

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 commented 6 years ago

@Aymkdn Can I ask what version of Cypress you are using? We did fix an issue with Basic Auth in v 0.20.2: https://github.com/cypress-io/cypress/issues/739

Aymkdn commented 6 years ago

@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 commented 6 years ago

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 commented 6 years ago

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

RandallKent commented 6 years ago

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 commented 6 years ago

@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 commented 6 years ago

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 commented 6 years ago

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

CptArn commented 6 years ago

@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 commented 6 years ago

@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 commented 6 years ago

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 commented 6 years ago

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

paul42 commented 6 years ago

@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 commented 6 years ago

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 commented 6 years ago

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 commented 6 years ago

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 commented 6 years ago

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

raffymack commented 6 years ago

Any updates?

angryBoi442 commented 6 years ago

Gotta love the radio silence.

jennifer-shehane commented 6 years ago

No work has been done on this feature as of yet. We're a small team and as much as we'd love to work on everything, we have to choose what to work on based on a multitude of things.

Perogy commented 5 years ago

Also completely blocked on this issue, unfortunately can't use cypress at all on any of our websites because they are all ntlm authenticated :-(. Anyone know of a fix?

CptArn commented 5 years ago

Also completely blocked on this issue, unfortunately can't use cypress at all on any of our websites because they are all ntlm authenticated :-(. Anyone know of a fix?

I still have the same issue but i've added an idea on how to solve this locally with a proxy script, you can find it here: https://github.com/cypress-io/cypress/issues/850#issuecomment-359913446

Perogy commented 5 years ago

Also completely blocked on this issue, unfortunately can't use cypress at all on any of our websites because they are all ntlm authenticated :-(. Anyone know of a fix?

I still have the same issue but i've added an idea on how to solve this locally with a proxy script, you can find it here: #850 (comment)

Thanks, tried out the script and it actually does seem to get past authentication now! Unfortunately I'm still getting some kind of error with the website rendering. "Uncaught SyntaxError: Unexpected token <" I'll continue to look into it.

mstephano commented 5 years ago

Hi all, I just started using Cypress today, and got this Windows Authentication error with my website on my local IIS. I managed to fix my issue by setting the IIS of my website as Basic Auth AND Windows Auth.

Here is my code example:

cy.visit('https://mywebsite.mydomain.com', {
  auth: {
    username: 'testuser@mydomain.com',
    password: 'password'
  }
})

I can now run tests using different user logins! Let me know if that works for you too.

Regards!

image

bjowes commented 5 years ago

I've written a plugin for Cypress that handles the NTLM authentication. It is available on npm (cypress-ntlm-auth) and at: https://github.com/bjowes/cypress-ntlm-auth

Hope it is useful for some of those who ended up reading this thread!

jennifer-shehane commented 5 years ago

Hey @bjowes, this looks awesome. Could you submit a pull request to have this added to our Plugins in our docs here: https://github.com/cypress-io/cypress-documentation/blob/develop/source/_data/plugins.yml

bjowes commented 5 years ago

@jennifer-shehane : It's already there :) Just wanted to notify the readers of this issue that it is available.

luis-m-gonzalez commented 5 years ago

@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 commented 5 years ago

@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:

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 commented 4 years ago

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 commented 4 years ago

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

bjowes commented 4 years ago

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 commented 4 years ago

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

Aymkdn commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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

spham commented 4 years ago

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

bjowes commented 4 years ago

@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 commented 4 years ago

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 commented 4 years ago

@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 commented 4 years ago

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 commented 4 years ago

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 commented 3 years ago

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.