Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added assets/images/cypress/detailed-cypress-logs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
124 changes: 58 additions & 66 deletions docs/cypress-detailed-command-logs.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,20 +41,45 @@ slug: cypress-detailed-command-logs/
></script>

# Detailed Command Logs for Cypress
The **Detailed Command Logs** feature provides a comprehensive record of all Cypress commands and their results, both in the console and in a file. This functionality is ideal for debugging and troubleshooting, enabling you to pinpoint specific logs quickly and effectively.

The **Detailed Command Logs** functionality can be used to generate an extensive record of all the Cypress commands and their results, both to the console and to a file. This can be very useful for debugging and troubleshooting Cypress tests as it will narrow down the logs to find specific information.
The logs are presented in an easy-to-read, human-readable format using the [cypress-terminal-report](https://www.npmjs.com/package/cypress-terminal-report) plugin. Below are the steps to implement this feature for Cypress versions below and above 10.

The logs are formatted in a human-readable format, making them easy to read and understand. It makes use of the **cypress-terminal-report** plugin internally.
## Prerequisite: Install Cypress and Cypress Terminal Report
Before proceeding, ensure that you have installed Cypress and the cypress-terminal-report plugin.

To implement this plugin in your Cypress test, follow the below-mentioned procedure:
- Open your `package.json` or `lambdatest-config.json` file.
- Add the appropriate version of [cypress-terminal-report](https://www.npmjs.com/package/cypress-terminal-report) as a dependency:

## For Cypress version Below 10
### For Cypress < 10:

**Step 1:** Go to *cypress/plugins/index.js* in your repository.
```javascript
"cypress-terminal-report": "4.1.3"
```

### For Cypress >= 10:

```javascript
"cypress-terminal-report": "^5.3.2"
```

- In the `lambdatest-config.json`, enable detailed command logs by adding the following setting:
> **NOTE:-** You will be able to see this tab only when you use this capability **detailed_command_logs** in run_settings in lambdatest-config.json

```javascript
"run_settings": {
"detailed_command_logs": true,
"downloads": "./cypress/results"
}
```

**Step 2:** Add the below-mentioned code to your *index.js* file.
## For Cypress v9 and previous versions.

```java
### Step 1: Configure the Plugin
- Open the `cypress/plugins/index.js` file in your project.
- Add the following code to install and configure the cypress-terminal-report plugin:

```javascript
const installLogsPrinter = require('cypress-terminal-report/src/installLogsPrinter')

module.exports = (on, config) => {
Expand All @@ -70,38 +95,40 @@ module.exports = (on, config) => {
})
}
```
> To get the detailed report in the terminal logs, simply add the **printLogsToConsole: 'always'** hook in the **installLogsPrinter** as shown in the below-mentioned code.

```java
### Step 2: Enable Logs in the Console (Optional)
To display detailed logs in the terminal, update the `installLogsPrinter` with the `printLogsToConsole: 'always'` code:

```javascript
module.exports = (on, config) => {
// `on` is used to hook into various events Cypress emits
// `config` is the resolved Cypress config
installLogsPrinter(on, {
printLogsToConsole: 'always'
printLogsToConsole: 'always', // Enables logs in the terminal
printLogsToFile: 'always',
outputRoot: 'cypress/results/detailCommandLogs',
outputTarget: {
'detailCommandLogs.json': 'json',
},
})
}
});
};
```

**Step 3:** Go to the following file: *cypress/support/index.js*. Add the below-mentioned code.
### Step 3: Install Logs Collector
- Navigate to `cypress/support/index.js`.
- Add the following code to install the log collector:

```java
```javascript
const installLogsCollector = require('cypress-terminal-report/src/installLogsCollector')

installLogsCollector()
```

## For Cypress version 10 and Above

**Step 1:** Go to *cypress.config.js* in your repository.
## For Cypress v10 and later versions.

**Step 2:** Add the below-mentioned code to your *config.js* file.
### Step 1: Configure the Plugin
- Open `cypress.config.js` in your project.
- Add the following code to configure the plugin:

```java
```javascript
const { defineConfig } = require("cypress");
const installLogsPrinter = require("cypress-terminal-report/src/installLogsPrinter");
module.exports = defineConfig({
Expand All @@ -120,9 +147,10 @@ module.exports = defineConfig({
});
```

> To get the detailed report in the terminal logs, simply add the **printLogsToConsole: 'always'** hook in the **installLogsPrinter** as shown in the below-mentioned code.
### Step 2: Enable Logs in the Console (Optional)
If you need logs in the terminal, update the code like this:

```java
```javascript
const { defineConfig } = require("cypress");
const installLogsPrinter = require("cypress-terminal-report/src/installLogsPrinter");
module.exports = defineConfig({
Expand All @@ -142,55 +170,19 @@ module.exports = defineConfig({
});
```

**Step 3:** Go to the following file: *cypress/support/e2e.js*. Add the below-mentioned code.
### Step 3: Install Logs Collector
- Open `cypress/support/e2e.js`.
- Add the following code to install the log collector:

```java
```javascript
import installLogsCollector from 'cypress-terminal-report/src/installLogsCollector'

installLogsCollector()
```

**Step 4:** If you are passing npm dependencies through package.json, then add the **"cypress-terminal-report"** dependency there, or if you are using **"lambdatest-config.json"** to pass the dependency, add it there.

- for **cypress < 10** use this version "cypress-terminal-report": "4.1.3"
- for **cypress >= 10** use "cypress-terminal-report": "^5.3.2"

- Make sure to set this key **"detailed_command_logs"** to **'true'** in **run_settings** in *lambdatest-config.json* like below:

- You can download the logs as usual by passing **"downloads": "./cypress/results"**

> For comprehensive details on downloading reports, please refer to the following [resource](https://www.lambdatest.com/support/docs/download-artefacts-cypress/).

```bash
"run_settings": {
"reporter_config_file":"base_reporter_config.json",
# highlight-next-line
"downloads": "./cypress/results",
"build_name": "Cypress 10",
"parallels": 1,
"specs": "cypress/e2e/1-getting-started/todo.cy.js",
"ignore_files": "",
"network": false,
"headless": false,
"npm_dependencies": {
"cypress": "12.17.0",
"mocha-junit-reporter": "latest",
"playwright-webkit":"1.27.0",
"cypress-terminal-report": "^5.3.2"
},
# highlight-next-line
"detailed_command_logs" : true
},
```

## View Generated Logs
Once the Cypress tests are executed, you can view the detailed command logs in the **"Detailed Command Logs"** tab on the test details page.

After running your Cypress tests with the **cypress-terminal-report** plugin, you can view the detailed command logs in the **"detailed command logs"** tab on the test details page.

Refer to the [Artefacts For A Cypress Project](https://www.lambdatest.com/support/docs/download-artefacts-cypress/) for detailed understanding in logs and accessing artefacts.

<img loading="lazy" src={require('../assets/images/cypress-doc/detailed_log.png').default} alt="Image" style={{width: '700px',}} className="doc_img"/>

Now you can effectively capture and analyze detailed command logs for your Cypress tests, helping you identify and debug issues with ease.
For more information, visit [Artefacts For A Cypress Project](https://www.lambdatest.com/support/docs/download-artefacts-cypress/)

> **NOTE:-** You will be able to see this tab only when you use this capability **detailed_command_logs** in run_settings in lambdatest-config.json
<img loading="lazy" src={require('../assets/images/cypress/detailed-cypress-logs.png').default} alt="Image" className="doc_img"/>
17 changes: 15 additions & 2 deletions docs/cypressv10-on-hyperexecute.md
Original file line number Diff line number Diff line change
Expand Up @@ -494,8 +494,21 @@ cypressOps:
You can download network logs via the Automate Dashboard. You can visualize HAR files using the [HAR Viewer](http://www.softwareishard.com/har/viewer/).
:::

>For any query or doubt, please feel free to contact us via <span className="doc__lt" onClick={() => window.openLTChatWidget()}>**24×7 chat support**</span> or you can also drop a mail to **support@lambdatest.com**.<br />
Happy testing!
### Detailed Cypress Command Logs
> To enable it for your organization, please contact us via <span className="doc__lt" onClick={() => window.openLTChatWidget()}>**24×7 chat support**</span> or you can also drop a mail to **support@lambdatest.com**.<br />

The **Detailed Command Logs** feature can be used to generate a comprehensive record of all Cypress commands and their results, both in the console and in a file. This can be extremely useful for debugging and troubleshooting Cypress tests because it narrows down the logs to reveal specific information. The logs are presented in a human-readable format, making them simple to read and comprehend.

Prerequisite to get the detailed logs in HyperExecute:

```yaml
pre:
- npm install cypress-terminal-report --save-dev
```

:::tip
For in detailed information on how to configure it properly, visit [Cypress Detailed Command Logs](https://www.lambdatest.com/support/docs/cypress-detailed-command-logs/#for-cypress-v10-and-later-versions) documentation.
:::

<nav aria-label="breadcrumbs">
<ul className="breadcrumbs">
Expand Down
18 changes: 15 additions & 3 deletions docs/cypressv9-on-hyperexecute.md
Original file line number Diff line number Diff line change
Expand Up @@ -460,7 +460,6 @@ env:
```

### HAR Logs

HAR files are a standardized format for archiving HTTP Archive data. They provide a detailed record of all network requests and responses made by a web browser, including information like URLs, headers, timings, and response data

HAR logs offer a comprehensive view of your application's network activity during testing. This can be helpful for:
Expand All @@ -481,8 +480,21 @@ cypressOps:
You can download network logs via the Automate Dashboard. You can visualize HAR files using the [HAR Viewer](http://www.softwareishard.com/har/viewer/).
:::

>For any query or doubt, please feel free to contact us via <span className="doc__lt" onClick={() => window.openLTChatWidget()}>**24×7 chat support**</span> or you can also drop a mail to **support@lambdatest.com**.<br />
Happy testing!
### Detailed Cypress Command Logs
> To enable it for your organization, please contact us via <span className="doc__lt" onClick={() => window.openLTChatWidget()}>**24×7 chat support**</span> or you can also drop a mail to **support@lambdatest.com**.<br />

The **Detailed Command Logs** feature can be used to generate a comprehensive record of all Cypress commands and their results, both in the console and in a file. This can be extremely useful for debugging and troubleshooting Cypress tests because it narrows down the logs to reveal specific information. The logs are presented in a human-readable format, making them simple to read and comprehend.

Prerequisite to get the detailed logs in HyperExecute:

```yaml
pre:
- npm install cypress-terminal-report --save-dev
```

:::tip
For in detailed information on how to configure it properly, visit [Cypress Detailed Command Logs](https://www.lambdatest.com/support/docs/cypress-detailed-command-logs/#for-cypress-v9-and-previous-versions) documentation.
:::

<nav aria-label="breadcrumbs">
<ul className="breadcrumbs">
Expand Down
25 changes: 25 additions & 0 deletions docs/deep-dive-into-hyperexecute-yaml.md
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,31 @@ matrix:

***

### `exclusionMatrix`
The [exclusion matrix](https://www.lambdatest.com/support/docs/hyperexecute-matrix-multiplexing-strategy/#exclusion-in-matrix-strategy) allows you to omit specific combinations of parameters from being tested. For instance, if Safari on Windows is not a valid combination, you can exclude it using the exclusionMatrix parameter, ensuring that invalid or irrelevant test combinations are skipped.

```yaml
#runson defines the OS of your test execution node.
runson: ${matrix.os}

matrix:
# Browser version(s) separated by Comma
version: ["latest"]
# OS name sepataed by Coma
os: ["win", "mac", "linux"]
# Browser name separated by Comma
browser: ["Chrome", "Firefox", "Safari"]
# Test Files separated by Comma
files: ["@File1","@File2","@File3","@File4"]

exclusionMatrix:
- os: [win]
browser: ["Safari"]
files: ["@File2","@File3"]
```

***

### `combineTasksInMatrixMode`

In matrix mode, the [concurrency](/support/docs/deep-dive-into-hyperexecute-yaml/#concurrency) flag is not recognized. Therefore, in order to use the limited concurrencies that come with your license for a matrix-mode job, you need to set `combineTasksInMatrixMode` to `true`. This will run the (matrix-multiplied) combinations as scenarios in the number of HyperExecute machines that was specified in concurrency, as opposed to using one machine per matrix combination.
Expand Down
17 changes: 9 additions & 8 deletions docs/hyperexecute-matrix-multiplexing-strategy.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,8 @@ Let’s take a case where the test scenarios are implemented in Java. Files File

## Exclusion in Matrix Strategy
Assuming that you created a matrix but there is one specific combination that you don't want the system to consider. This can happen for instance if you have a combination of Safari and Windows which won't be a valid combination, in such cases you can exclude such a combination using the `exclusionMatrix` parameter as shown below.
``` yaml

```yaml
#runson defines the OS of your test execution node.
runson: ${matrix.os}

Expand All @@ -112,14 +113,14 @@ matrix:
# OS name sepataed by Coma
os: ["win", "mac", "linux"]
# Browser name separated by Comma
browser: ["Chrome", "Firefox", "brave"]
browser: ["Chrome", "Firefox", "Safari"]
# Test Files separated by Comma
files: ["@File1","@File2"]
exclusionMatrix:
# this would exclude the combination of brave browser, linux OS and File2
browser: ["brave"]
files: ["@File2"]
os: [linux]
files: ["@File1","@File2","@File3","@File4"]

exclusionMatrix:
- os: [win]
browser: ["Safari"]
files: ["@File2","@File3"]
```

<nav aria-label="breadcrumbs">
Expand Down
64 changes: 64 additions & 0 deletions docs/hyperexecute-release-notes-2-5-2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
---
id: hyperexecute-release-notes-2-5-2
title: Version 2.5.2
hide_title: false
sidebar_label: Version 2.5.2
description: Version 2.5.2
keywords:
- LambdaTest Hyperexecute
- LambdaTest Hyperexecute help
- LambdaTest Hyperexecute documentation
- FAQs
url: https://www.lambdatest.com/support/docs/hyperexecute-release-notes-2-5-2/
site_name: LambdaTest
slug: hyperexecute-release-notes-2-5-2/
---

import NewReleaseTag from '../src/component/newRelease.js';
import EnhancementTag from '../src/component/enhancementTag';
import BugFixTag from '../src/component/bugFixTag';

<script type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify({
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://www.lambdatest.com"
},{
"@type": "ListItem",
"position": 2,
"name": "Support",
"item": "https://www.lambdatest.com/support/docs/"
},{
"@type": "ListItem",
"position": 3,
"name": "Version",
"item": "https://www.lambdatest.com/support/docs/hyperexecute-release-notes-2-5-2/"
}]
})
}}
></script>

## 1. Cypress Detailed Command Logs for Enhanced Debugging <NewReleaseTag value="New Release" />
**Detailed Cypress Command Logs** in HyperExecute generate an extensive, human-readable record of all Cypress commands and their corresponding results, both in the console and as a file. It helps narrow down test logs, making debugging and troubleshooting Cypress tests easier.

<img loading="lazy" src={require('../assets/images/hyperexecute/release-notes/detailed-cypress-logs.png').default} style={{width: '600px'}} alt="HyperExecute" className="doc_img"/> <br /><br />

> 📕 Learn how to enable [Detailed Command Logs](https://www.lambdatest.com/support/docs/cypress-detailed-command-logs/) for your Cypress tests.

## 2. Parameterized Report Email Handling in YAML <EnhancementTag value="Enhancement" />
HyperExecute now supports an enhanced approach for managing multiple email addresses within the YAML configuration file. Previously, you needed to define multiple variables for email addresses (`${email1}`, `${email2}`, etc.). With this update, a single variable can now hold multiple email addresses, separated by commas or underscores, simplifying report sharing. This enhancement eliminates the need for multiple variables, making maintaining and modifying email configurations easier.

> 📕 Check the [Reports documentation](https://www.lambdatest.com/support/docs/hyperexecute-email-reports/#how-to-dynamically-set-your-email-address) to learn more about it.

## 3. Browser and Selenium Updates for Linux, Windows, and macOS <NewReleaseTag value="New Release" />
Updated the browser versions across multiple platforms and upgraded the Selenium jars. This ensures compatibility with the latest features and security updates, improving test stability across different environments.

The following updates are now live:

- **Firefox:** version 129.0
- **Chrome:** version 128.0
- **Selenium Jars:** version 4.24
1 change: 1 addition & 0 deletions docs/hyperexecute-release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ HyperExecute is an AI Powered Test Orchestration Cloud Platform, enabling test a
### September, 2024
| Release Number | Release Date |
|----------------|--------------|
| [Version 2.5.2](/support/docs/hyperexecute-release-notes-2-5-2) | September 23, 2024|
| [Version 2.5.1](/support/docs/hyperexecute-release-notes-2-5-1) | September 16, 2024|
| [Version 2.5.0](/support/docs/hyperexecute-release-notes-2-5-0) | September 10, 2024|

Expand Down
3 changes: 2 additions & 1 deletion docs/kaneai-release-notes-0-0-1.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
id: kaneai-release-notes-0-0-1
title: Beta Version 0.0.1
title: Version 0.0.1 - Beta
hide_title: false
sidebar_label: Version 0.0.1
description: Beta Version 0.0.1
Expand All @@ -13,6 +13,7 @@ url: https://www.lambdatest.com/support/docs/kaneai-release-notes-0-0-1/
site_name: LambdaTest
slug: kaneai-release-notes-0-0-1/
---
import NewTag from '../src/component/newTag';
import EnhancementTag from '../src/component/enhancementTag';
import BugFixTag from '../src/component/bugFixTag';

Expand Down
Loading