Comment
Author: Admin | 2025-04-28
Is it possible to redirect or capture Cypress browser log and command log to output?I read some Cypress github issues on this topic. But I don't know how to make it work.Basically, I want to capture all the Cypress GUI command logs in the headless non-GUI mode. If I can include browser console log will be even better. The purpose is to understand what happened when a test fails.I use teamcity as ci. Here is an example of my build log. I want to see all the command log here too. Actually, any console.log run on the server side using cy.task is displayed in the build log. Running cy.task('log',message) is too manual. Any smarter ways?[09:49:08][Step 1/1] 2 of 4: new actions (52s)[09:50:00][Step 1/1] 3 of 4: new actions (52s)[09:50:53][Step 1/1] 4 of 4: new actions (53s)[09:51:47][Step 1/1] (Results)[09:51:47][Step 1/1] [09:51:47][Step 1/1] ┌─────────────────────────────────────┐[09:51:47][Step 1/1] │ Tests: 8 │[09:51:47][Step 1/1] │ Passing: 8 │[09:51:47][Step 1/1] │ Failing: 0 │[09:51:47][Step 1/1] │ Pending: 0 │[09:51:47][Step 1/1] │ Skipped: 0 │[09:51:47][Step 1/1] │ Screenshots: 0 │[09:51:47][Step 1/1] │ Video: true │[09:51:47][Step 1/1] │ Duration: 3 minutes, 38 seconds │[09:51:47][Step 1/1] │ Estimated: 1 minute, 8 seconds │[09:51:47][Step 1/1] │ Spec Ran: action/action_spec.js │[09:51:47][Step 1/1] └─────────────────────────────────────┘ asked Aug 29, 2018 at 5:48 6 As of Cypress 3.0.0, you can use cy.task() to access node directly and output to the node console. From the docs:// in testcy.task('log', 'This will be output to the terminal')// in plugins fileon('task', { log (message) { console.log(message) return null }})See here for more info.I don't know of a way to mirror the Cypress logs to the console directly, but this is at least a workable alternative. answered Aug 29, 2018 at 12:18 Joshua WadeJoshua Wade5,2833 gold badges26 silver badges47 bronze badges 2 Setting the ELECTRON_ENABLE_LOGGING environment variable to 1 will cause all Chrome internal logging to be printed to the console.ELECTRON_ENABLE_LOGGING=1 npx cypress runELECTRON_ENABLE_LOGGINGPrints Chrome's internal logging to the console.With this enabled, in addition to capturing any existing logging, this will also allow you to manually log within a test using console.log:console.log('Response JSON: ' + json) answered Aug 10, 2021 at
Add Comment