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
2 changes: 2 additions & 0 deletions docs/espresso-supported-capabilities.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ import {YOUR_LAMBDATEST_USERNAME, YOUR_LAMBDATEST_ACCESS_KEY} from "@site/src/co

This document provide details about the features and capabilities supported for Espresso Framework on LambdaTest.

> The capabilities listed in this document are also supported for [Virtual Devices](/support/docs/app-automation-on-emulators-simulators/)
| Capability Name | Data Type | Description |
|------|-----------|-------------|
| app | String | Enter the app id generated while uploading the app to the platform. Example:`lt://APP123456789123456789` |
Expand Down
28 changes: 5 additions & 23 deletions docs/junit-report.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,39 +45,23 @@ import {YOUR_LAMBDATEST_USERNAME, YOUR_LAMBDATEST_ACCESS_KEY} from "@site/src/co
}}
></script>

---

## Introduction
---

JUnit reports provide a detailed summary of test execution, allowing you to better understand your test outcomes. This document aims to guide you through the process of retrieving JUnit reports for Espresso tests executed on the LambdaTest platform.

## Objective
---
### By the end of this document, you should be able to:

1. Fetch JUnit reports for non-shard Espresso builds.

2. Fetch JUnit reports for shard builds, both for individual shards and all shards collectively.
> This feature is also supported for [Virtual Devices](/support/docs/app-automation-on-emulators-simulators/)
## JUnit Report APIs


## JUnit report APIs
----

**Non-shard build :**
### Non-shard build
To fetch the JUnit report for a `non-shard` build, you can use the following cURL command:


<div className="lambdatest__codeblock">
<CodeBlock className="language-bash">
{`curl --location "https://mobile-api.lambdatest.com/mobile-automation/api/v1/framework/builds/<build_id>/report/?encoder=false" \
--header 'Authorization: Basic <Base64 Authentication>'`}
</CodeBlock>
</div>


**Shard build (For single shard):**
### Shard build (For single shard)
To fetch the JUnit report for a `single shard` in a shard build,use:

<div className="lambdatest__codeblock">
Expand All @@ -88,7 +72,7 @@ To fetch the JUnit report for a `single shard` in a shard build,use:
</div>


**Shard build (For all the shards):**
### Shard build (For all the shards)
To fetch the JUnit reports for `all shards` in a shard build, use:

<div className="lambdatest__codeblock">
Expand All @@ -98,8 +82,6 @@ To fetch the JUnit reports for `all shards` in a shard build, use:
</CodeBlock>
</div>



:::note
- Authenticate the API using your LambdaTest username and access key, and replace `build_id`, `job_id` and `shard_id` for which you want to fetch report.
- It is recommended to run the sharding test(via HyperExecute CLI) in the verbose mode i.e. with the **--verbose** flag. This allows the shard ID(task ID) and build ID(Job ID) to be displayed in the logs and then they can be used to fetch the above reports.
Expand Down
34 changes: 3 additions & 31 deletions docs/sharding-espresso.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,6 @@ import TabItem from '@theme/TabItem';
})
}}
></script>


Running **Espresso** tests sequentially can be laborious and time-intensive. This guide offers an efficient solution by introducing the concept of **sharding**. By breaking down tests into shards, they can be executed in parallel, significantly trimming down the total testing duration.

Furthermore, this document provides insights on executing Espresso Tests on real devices using the innovative **HyperExecute** platform. Designed with precision, HyperExecute stands out as a test orchestration solution, tailored to execute end-to-end tests at breakneck speed. To streamline its setup and configuration, a user-friendly `YAML` file is employed. Dive into this guide to make your testing process more agile and efficient.
Expand All @@ -57,19 +55,9 @@ Furthermore, this document provides insights on executing Espresso Tests on real
You can learn more about the HyperExecute portal and UI by going through our [Guided Walkthrough](/support/docs/hyperexecute-guided-walkthrough/) page. It contains all the relevant information that you need to optimize your testing process with HyperExecute.
:::

## Objectives

---

By the end of this topic, you will be able to:
1. Speed up your Espresso tests with sharding
2. Learn more about HyperExecute
3. Explore advanced features of LambdaTest
> This feature is also supported for [Virtual Devices](/support/docs/app-automation-on-emulators-simulators/)
## Prerequisites

---

Before you start performing your App automation testing with Espresso, please make sure:

- You have access to LambdaTest username and accessKey. If you have not registered yet, you can do the same by visiting our [website](https://accounts.lambdatest.com/register). You will be able to access the credentials at the [LambdaTest Profile](https://accounts.lambdatest.com/detail/profile)
Expand Down Expand Up @@ -113,14 +101,9 @@ Here is an example cURL request to upload your app using our REST API:
</TabItem>
</Tabs>



>Response of above cURL will be a **JSON** object containing the `App URL` of the format - `lt://APP123456789123456789` and will be used in the last step as `appId`.


### Step 2: Uploading Test Suite

Upload your **test suite** (.apk file) to the LambdaTest servers using our **REST API**. You need to provide your **Username** and **AccessKey** in the format `Username:AccessKey` in the **cURL** command for authentication. Make sure to add the path of the **appFile** in the cURL request. Here is an example cURL request to upload your app using our REST API:

**Using App File:**
Expand Down Expand Up @@ -154,11 +137,7 @@ Upload your **test suite** (.apk file) to the LambdaTest servers using our **RES

>Response of above cURL will be a **JSON** object containing the `App URL` of the format - `lt://APP123456789123456789` and will be used in the next step as ``testSuiteAppId``

## How to use Sharding

---

1. Firstly, create a folder on your local.
2. Download the **HyperExecute CLI** file and put it under this folder based on your platform.
#### Download HyperExecute CLI
Expand All @@ -177,7 +156,7 @@ Sharding can be categorized into two types:

Refer to the sample `.yaml` file here

```bash title="SampleYamlFile.yaml"
```yaml title="SampleYamlFile.yaml"
version: "0.2"
concurrency: 2
runson: android
Expand Down Expand Up @@ -238,14 +217,11 @@ If you are using the `deviceSelectionStrategy: any`, then in that case all the m
**For example:** If there are 2 shards mentioned in `.yaml`and 3 devices mentioned, the system will create 2 shards. These shards might use any 2 devices from the given 3 configurations. It's also possible that the same device configuration could be used for both shards. In this setup, test cases will be distributed between these shards.
:::

---


**Auto Sharding** : The system intelligently determines the distribution of tests across devices, employing specific criteria to optimize the testing process.

Refer to the sample `.yaml` file here

```bash title="SampleYamlFile.yaml"
```yaml title="SampleYamlFile.yaml"
version: "0.2"
concurrency: 2
runson: android
Expand Down Expand Up @@ -289,8 +265,6 @@ If you are using the `deviceSelectionStrategy: any`, then in that case all the s
**For example:** If the concurrency is set to 2 and 3 devices mentioned, the system will create 2 shards. These shards might use any 2 devices from the given 3 configurations. It's also possible that the same device configuration could be used for both shards. In this setup, test cases will be distributed between these shards.
:::



4. Go to the location of the folder on the terminal and run the below commands. After the second command, you may need to give permission on **System Settings/Privacy & Security**.

```bash
Expand Down Expand Up @@ -332,8 +306,6 @@ This example will fetch all the test cases from 2 classes and 1 package as defin

## Additional Links

---

- [Advanced Configuration for Capabilities](https://www.lambdatest.com/support/docs/desired-capabilities-in-appium/)
- [How to test locally hosted apps](https://www.lambdatest.com/support/docs/testing-locally-hosted-pages/)
- [How to integrate LambdaTest with CI/CD](https://www.lambdatest.com/support/docs/integrations-with-ci-cd-tools/)
Expand Down
74 changes: 21 additions & 53 deletions docs/supported-appium-versions-on-emulator-simulator.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,33 +53,17 @@ LambdaTest offers a powerful and reliable cloud-based platform for testing mobil
## 1. App Testing on Android and iOS
Mobile app testing on LambdaTest emulators and simulators allows developers to ensure their applications perform as expected across multiple Android and iOS versions. Below are the supported versions for app testing.

### 1.1 Supported Android Versions for App Testing
The following table lists the Android versions supported for app testing, along with the corresponding Appium versions.
The following table lists the supported versionsn of Appium for Emulators (Android) and Simulators (iOS).

| Android Versions | Supported Appium Versions (Android) |
|------------------|-------------------------------------|
| 7 | ['2.2.1', '2.3.0'] |
| 8 | ['2.2.1', '2.3.0'] |
| 9 | ['2.2.1', '2.3.0'] |
| 10 | ['2.2.1', '2.3.0'] |
| 11 | ['2.2.1', '2.3.0'] |
| 12 | ['2.2.1', '2.3.0'] |
| 13 | ['2.2.1', '2.3.0'] |
| 14 | ['2.2.1', '2.3.0'] |
| 15 | ['2.2.1', '2.3.0'] |

### 1.2 Supported iOS Versions for App Testing
The following table lists the iOS versions supported for app testing, along with the corresponding Appium versions.

| iOS Versions | Supported Appium Versions (iOS) |
|--------------|---------------------------------|
| 12 | ['2.2.1', '2.3.0'] |
| 13 | ['2.2.1', '2.3.0'] |
| 14 | ['2.2.1', '2.3.0'] |
| 15 | ['2.2.1', '2.3.0'] |
| 16 | ['2.2.1', '2.3.0'] |
| 17 | ['2.2.1', '2.3.0'] |
| 18 | ['2.2.1', '2.3.0'] |
| Appium Version | Platform |
|----------------|----------|
| 1.21.0 | Android Emulator|
| 1.22.3 **(default)** | Android Emulator|
| 2.0.0 | Android Emulator|
| 2.1.3 | Android Emulator|
| 1.22.3 **(default)** | iOS Simulator |
| 2.0.0 | iOS Simulator|
| 2.1.3 | iOS Simulator|

## 2. Web Testing on Android <!-- and iOS -->
For mobile web testing, LambdaTest supports various Android <!--and iOS device--> versions, ensuring that your web applications are responsive and compatible with different browsers and devices. Below are the supported versions for web testing.
Expand All @@ -89,30 +73,14 @@ The following table lists the Android versions supported for web testing, along

| Android Versions | Appium Versions (Android) |
|------------------|-----------------------------------------|
| 7 | [`1.17.0`, `1.17.1`, `1.18.0`, `1.19.1`, `1.20.0`, `1.20.1`, `1.20.2`, `1.21.0`, `1.22.0`, `1.22.1`, `1.22.2`, `1.22.3` **(default)**] |
| 7.1 | [`1.17.0`, `1.17.1`, `1.18.0`, `1.19.1`, `1.20.0`, `1.20.1`, `1.20.2`, `1.21.0`, `1.22.0`, `1.22.1`, `1.22.2`, `1.22.3` **(default)**] |
| 8 | [`1.17.0`, `1.17.1`, `1.18.0`, `1.19.0`, `1.19.1`, `1.20.0`, `1.20.1`, `1.20.2`, `1.21.0`, `1.22.0`, `1.22.1`, `1.22.2`, `1.22.3` **(default)**] |
| 8.1 | [`1.17.0`, `1.17.1`, `1.18.0`, `1.19.1`, `1.20.0`, `1.20.1`, `1.20.2`, `1.21.0`, `1.22.0`, `1.22.1`, `1.22.2`, `1.22.3` **(default)**] |
| 9 | [`1.17.0`, `1.17.1`, `1.18.0`, `1.19.0`, `1.19.1`, `1.20.0`, `1.20.1`, `1.20.2`, `1.21.0`, `1.22.0`, `1.22.1`, `1.22.2`, `1.22.3` **(default)**] |
| 10 | [`1.17.0`, `1.17.1`, `1.18.0`, `1.19.0`, `1.19.1`, `1.20.0`, `1.20.1`, `1.20.2`, `1.21.0`, `1.22.0`, `1.22.1`, `1.22.2`, `1.22.3` **(default)**] |
| 11 | [`1.17.0`, `1.17.1`, `1.18.0`, `1.19.0`, `1.19.1`, `1.20.0`, `1.20.1`, `1.20.2`, `1.21.0`, `1.22.0`, `1.22.1`, `1.22.2`, `1.22.3` **(default)**] |
| 12 | [`1.17.0`, `1.17.1`, `1.18.0`, `1.19.0`, `1.19.1`, `1.20.0`, `1.20.1`, `1.20.2`, `1.21.0`, `1.22.0`, `1.22.1`, `1.22.2`, `1.22.3` **(default)**, `2.0.1`, `2.1.0`, `2.1.1`, `2.1.2`, `2.1.3`, `2.2.0`, `2.2.1`, `2.2.2`, `2.2.3`, `2.3.0`, `2.4.0`, `2.4.1`, `2.5.0`, `2.5.1`, `2.5.2`, `2.5.3`, `2.5.4`, `2.6.0`] |
| 13 | [`1.17.0`, `1.17.1`, `1.18.0`, `1.19.0`, `1.19.1`, `1.20.0`, `1.20.1`, `1.20.2`, `1.21.0`, `1.22.0`, `1.22.1`, `1.22.2`, `1.22.3`, `2.0.1`, `2.1.0`, `2.1.1`, `2.1.2`, `2.1.3`, `2.2.0`, `2.2.1`, `2.2.2`, `2.2.3`, `2.3.0`, `2.4.0`, `2.4.1`, `2.5.0`, `2.5.1`, `2.5.2`, `2.5.3`, `2.5.4`, `2.6.0` **(default)**] |
| 14 | [`1.17.0`, `1.17.1`, `1.18.0`, `1.19.0`, `1.19.1`, `1.20.0`, `1.20.1`, `1.20.2`, `1.21.0`, `1.22.0`, `1.22.1`, `1.22.2`, `1.22.3`, `2.0.1`, `2.1.0`, `2.1.1`, `2.1.2`, `2.1.3`, `2.2.0`, `2.2.1`, `2.2.2`, `2.2.3`, `2.3.0`, `2.4.0`, `2.4.1`, `2.5.0`, `2.5.1`, `2.5.2`, `2.5.3`, `2.5.4`, `2.6.0` **(default)**] |
| 15 | [`1.22.3`, `2.0.1`, `2.1.0`, `2.2.0`, `2.3.0`, `2.4.0`, `2.5.0`, `2.6.0` **(default)**] |

<!-- ### 2.2 Supported iOS Versions for Web Testing
The following table lists the iOS versions supported for web testing, along with the corresponding Appium versions.
| iOS Versions | Appium Versions (iOS) |
|--------------|-----------------------------------------|
| 8.1 | ['1.12.1', '1.17.0', '1.22.3', '2.6.0'] |
| 10.3 | ['1.12.1', '1.17.0', '1.22.3', '2.6.0'] |
| 11.0 | ['1.12.1', '1.17.0', '1.22.3', '2.6.0'] |
| 12.0 | ['1.12.1', '1.17.0', '1.22.3', '2.6.0'] |
| 13.0 | ['1.12.1', '1.17.0', '1.22.3', '2.6.0'] |
| 14.1 | ['1.12.1', '1.17.0', '1.22.3', '2.6.0'] |
| 15.0 | ['1.12.1', '1.17.0', '1.22.3', '2.6.0'] |
| 16.0 | ['1.12.1', '1.17.0', '1.22.3', '2.6.0'] |
| 17.0 | ['1.12.1', '1.17.0', '1.22.3', '2.6.0'] |
| 18.0 | ['1.12.1', '1.17.0', '1.22.3', '2.6.0'] | -->
| 7 | ['1.17.0', '1.17.1', '1.18.0', '1.19.1', '1.20.0', '1.20.1', '1.20.2', '1.21.0', '1.22.0', '1.22.1', '1.22.2', '1.22.3' **(default)**] |
| 7.1 | ['1.17.0', '1.17.1', '1.18.0', '1.19.1', '1.20.0', '1.20.1', '1.20.2', '1.21.0', '1.22.0', '1.22.1', '1.22.2', '1.22.3' **(default)**] |
| 8 | ['1.17.0', '1.17.1', '1.18.0', '1.19.0', '1.19.1', '1.20.0', '1.20.1', '1.20.2', '1.21.0', '1.22.0', '1.22.1', '1.22.2', '1.22.3' **(default)**] |
| 8.1 | ['1.17.0', '1.17.1', '1.18.0', '1.19.1', '1.20.0', '1.20.1', '1.20.2', '1.21.0', '1.22.0', '1.22.1', '1.22.2', '1.22.3' **(default)**] |
| 9 | ['1.17.0', '1.17.1', '1.18.0', '1.19.0', '1.19.1', '1.20.0', '1.20.1', '1.20.2', '1.21.0', '1.22.0', '1.22.1', '1.22.2', '1.22.3' **(default)**] |
| 10 | ['1.17.0', '1.17.1', '1.18.0', '1.19.0', '1.19.1', '1.20.0', '1.20.1', '1.20.2', '1.21.0', '1.22.0', '1.22.1', '1.22.2', '1.22.3' **(default)**] |
| 11 | ['1.17.0', '1.17.1', '1.18.0', '1.19.0', '1.19.1', '1.20.0', '1.20.1', '1.20.2', '1.21.0', '1.22.0', '1.22.1', '1.22.2', '1.22.3' **(default)**] |
| 12 | ['1.17.0', '1.17.1', '1.18.0', '1.19.0', '1.19.1', '1.20.0', '1.20.1', '1.20.2', '1.21.0', '1.22.0', '1.22.1', '1.22.2', '1.22.3' **(default)**, '2.0.1', '2.1.0', '2.1.1', '2.1.2', '2.1.3', '2.2.0', '2.2.1', '2.2.2', '2.2.3', '2.3.0', '2.4.0', '2.4.1', '2.5.0', '2.5.1', '2.5.2', '2.5.3', '2.5.4', '2.6.0'] |
| 13 | ['1.17.0', '1.17.1', '1.18.0', '1.19.0', '1.19.1', '1.20.0', '1.20.1', '1.20.2', '1.21.0', '1.22.0', '1.22.1', '1.22.2', '1.22.3', '2.0.1', '2.1.0', '2.1.1', '2.1.2', '2.1.3', '2.2.0', '2.2.1', '2.2.2', '2.2.3', '2.3.0', '2.4.0', '2.4.1', '2.5.0', '2.5.1', '2.5.2', '2.5.3', '2.5.4', '2.6.0' **(default)**] |
| 14 | ['1.17.0', '1.17.1', '1.18.0', '1.19.0', '1.19.1', '1.20.0', '1.20.1', '1.20.2', '1.21.0', '1.22.0', '1.22.1', '1.22.2', '1.22.3', '2.0.1', '2.1.0', '2.1.1', '2.1.2', '2.1.3', '2.2.0', '2.2.1', '2.2.2', '2.2.3', '2.3.0', '2.4.0', '2.4.1', '2.5.0', '2.5.1', '2.5.2', '2.5.3', '2.5.4', '2.6.0' **(default)**] |
| 15 | ['1.22.3', '2.0.1', '2.1.0', '2.2.0', '2.3.0', '2.4.0', '2.5.0', '2.6.0' **(default)**] |
4 changes: 3 additions & 1 deletion docs/xcui-supported-capibilities.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ import {YOUR_LAMBDATEST_USERNAME, YOUR_LAMBDATEST_ACCESS_KEY} from "@site/src/co

This document provide details about the features and capabilities supported for XCUI Framework on LambdaTest.

> The capabilities listed in this document are also supported for [Virtual Devices](/support/docs/app-automation-on-emulators-simulators/)
| Capability Name | Data Type | Description |
|------|-----------|-------------|
| app | String | Enter the app id generated while uploading the app to the platform. Example:`lt://APP123456789123456789` |
Expand All @@ -59,7 +61,7 @@ This document provide details about the features and capabilities supported for
| build | String | To set the Espresso build name. Example: `build: My Espresso Build`. |
| geoLocation | String | Set the geolocation country code if you want to enable the same in your test. Example - `geoLocation: FR`|
| tunnel, tunnelName | Boolean | To activate the tunnel mode, pass the value as `tunnel: true` and provide the name of your tunnel as `tunnelName: NewTunnel` |
| resignApp | Boolean | Set this to `false` if you want to to prevent the apps from being re-signed. The app should be built for enterprise distribution. |
| resignApp <br /> <br />Not supported in **Virtual Devices** | Boolean | Set this to `false` if you want to to prevent the apps from being re-signed. The app should be built for enterprise distribution. |

:::caution Important
You can either use **GeoLocation** or **Tunnel** in single execute command. They both are mutually exclusive.
Expand Down
29 changes: 4 additions & 25 deletions docs/xcui-xml-report.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,40 +44,22 @@ import {YOUR_LAMBDATEST_USERNAME, YOUR_LAMBDATEST_ACCESS_KEY} from "@site/src/co
})
}}
></script>

---

## Introduction
---

XML reports provide a detailed summary of test execution, allowing you to better understand your test outcomes. This document aims to guide you through the process of retrieving XML reports for XCUI tests executed on the LambdaTest platform.

## Objective
---
### By the end of this document, you should be able to:

1. Fetch XML reports for non-shard XCUI builds.

2. Fetch XML reports for shard builds, both for individual shards and all shards collectively.


> This feature is also supported for [Virtual Devices](/support/docs/app-automation-on-emulators-simulators/)
## XML report APIs
----

**Non-shard build :**
### Non-shard build
To fetch the XML report for a `non-shard` build, you can use the following cURL command:


<div className="lambdatest__codeblock">
<CodeBlock className="language-bash">
{`curl --location "https://mobile-api.lambdatest.com/mobile-automation/api/v1/framework/builds/<build_id>/report/?encoder=false" \
--header 'Authorization: Basic <Base64 Authentication>'`}
</CodeBlock>
</div>


**Shard build (For single shard):**
### Shard build (For single shard)
To fetch the XML report for a `single shard` in a shard build,use:

<div className="lambdatest__codeblock">
Expand All @@ -87,8 +69,7 @@ To fetch the XML report for a `single shard` in a shard build,use:
</CodeBlock>
</div>


**Shard build (For all the shards):**
### Shard build (For all the shards)
To fetch the XML reports for `all shards` in a shard build, use:

<div className="lambdatest__codeblock">
Expand All @@ -98,8 +79,6 @@ To fetch the XML reports for `all shards` in a shard build, use:
</CodeBlock>
</div>



:::note
- Authenticate the API using your LambdaTest username and access key, and replace `build_id`, `job_id` and `shard_id` for which you want to fetch report.
- It is recommended to run the sharding test(via HyperExecute CLI) in the verbose mode i.e. with the **--verbose** flag. This allows the shard ID(task ID) and build ID(Job ID) to be displayed in the logs and then they can be used to fetch the above reports.
Expand Down
Loading