Skip to content

Commit 0744895

Browse files
authored
Merge pull request #1122 from surishubham/main
HypeExecute Release Notes and VD docs
2 parents 5ee06e9 + c522dfb commit 0744895

10 files changed

+472
-411
lines changed
522 KB
Loading

docs/hyperexecute-appium-testing.md

Lines changed: 91 additions & 359 deletions
Large diffs are not rendered by default.
Lines changed: 208 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,208 @@
1+
---
2+
id: hyperexecute-appium-virtual-device
3+
title: Appium Testing - Virtual Device On HyperExecute
4+
sidebar_label: Appium - Virtual Device
5+
description: Maximize Appium test execution with HyperExecute – Explore LambdaTest's support documentation for seamless automation testing.
6+
keywords:
7+
- appium
8+
- java
9+
- lambdatest java
10+
- framework on lambdatest
11+
- testng
12+
- app testing
13+
- virtual devices
14+
image: /assets/images/og-images/appium-testing-og-image.jpg
15+
url: https://www.lambdatest.com/support/docs/hyperexecute-appium-virtual-device/
16+
site_name: LambdaTest
17+
slug: hyperexecute-appium-virtual-device/
18+
---
19+
20+
import CodeBlock from '@theme/CodeBlock';
21+
import {YOUR_LAMBDATEST_USERNAME, YOUR_LAMBDATEST_ACCESS_KEY} from "@site/src/component/keys";
22+
import Tabs from '@theme/Tabs';
23+
import TabItem from '@theme/TabItem';
24+
25+
<script type="application/ld+json"
26+
dangerouslySetInnerHTML={{ __html: JSON.stringify({
27+
"@context": "https://schema.org",
28+
"@type": "BreadcrumbList",
29+
"itemListElement": [{
30+
"@type": "ListItem",
31+
"position": 1,
32+
"name": "Home",
33+
"item": "https://www.lambdatest.com"
34+
},{
35+
"@type": "ListItem",
36+
"position": 2,
37+
"name": "Support",
38+
"item": "https://www.lambdatest.com/support/docs/"
39+
},{
40+
"@type": "ListItem",
41+
"position": 3,
42+
"name": "Getting Started With Appium Testing on LambdaTest",
43+
"item": "https://www.lambdatest.com/support/docs/hyperexecute-appium-virtual-device/"
44+
}]
45+
})
46+
}}
47+
></script>
48+
This page outlines how to execute your Appium tests on HyperExecute using TestNG with YAML 0.2
49+
> HyperExecute uses [YAML 0.2](/support/docs/hyperexecute-yaml-version0.2/) to perform the tests using Appium.
50+
51+
## Prerequisites
52+
53+
To run the Tests on HyperExecute from your Local System, you are required:
54+
55+
- [HyperExecute YAML](/support/docs/hyperexecute-yaml-version0.2/) file which contains all the necessary instructions.
56+
- [HyperExecute CLI](/support/docs/hyperexecute-cli-run-tests-on-hyperexecute-grid/) in order to initiate a test execution Job .
57+
- Your lambdatest [Username and Access key](/support/docs/hyperexecute-how-to-get-my-username-and-access-key/)
58+
- Setup the Environmental Variable
59+
- Ensure you have Appium’s [Java client library](https://github.com/appium/java-client) installed.
60+
- Access to an **Android** app (.apk or .aab file)
61+
62+
:::tip Sample repo
63+
All the code samples in this documentation can be found on **LambdaTest's Github Repository**. You can either download or clone the repository to quickly run your tests. <a href="https://github.com/LambdaTest/hyperexecute-appium-testng/tree/android-emulator" className="github__anchor"><img loading="lazy" src={require('../assets/images/icons/github.png').default} alt="Image" className="doc_img"/> View on GitHub</a>
64+
:::
65+
> If you do not have any **.apk** file, you can run your sample tests on LambdaTest by using our sample :link: [Android app](https://prod-mobile-artefacts.lambdatest.com/assets/docs/proverbial_android.apk)
66+
67+
### Download HyperExecute CLI
68+
69+
The *HyperExecute CLI* is used for triggering tests on HyperExecute. It is recommend to download the HyperExecute CLI binary on the host system to perform the tests on HyperExecute. The CLI download site for various platforms is displayed below:
70+
71+
| Platform | HyperExecute CLI download location |
72+
| ---------| --------------------------- |
73+
| Windows | https://downloads.lambdatest.com/hyperexecute/windows/hyperexecute.exe |
74+
| macOS | https://downloads.lambdatest.com/hyperexecute/darwin/hyperexecute |
75+
| Linux | https://downloads.lambdatest.com/hyperexecute/linux/hyperexecute |
76+
77+
### Setup Environment Variable
78+
Export the environment variables *LT_USERNAME* and *LT_ACCESS_KEY* that are available in the [LambdaTest Profile page](https://accounts.lambdatest.com/detail/profile).
79+
Run the below mentioned commands in the terminal to setup the CLI and the environment variables.
80+
81+
<Tabs className="docs__val">
82+
83+
<TabItem value="bash" label="Linux / MacOS" default>
84+
85+
<div className="lambdatest__codeblock">
86+
<CodeBlock className="language-bash">
87+
{`export LT_USERNAME="${ YOUR_LAMBDATEST_USERNAME()}"
88+
export LT_ACCESS_KEY="${ YOUR_LAMBDATEST_ACCESS_KEY()}"`}
89+
</CodeBlock>
90+
</div>
91+
92+
</TabItem>
93+
94+
<TabItem value="powershell" label="Windows" default>
95+
96+
<div className="lambdatest__codeblock">
97+
<CodeBlock className="language-powershell">
98+
{`set LT_USERNAME="${ YOUR_LAMBDATEST_USERNAME()}"
99+
set LT_ACCESS_KEY="${ YOUR_LAMBDATEST_ACCESS_KEY()}"`}
100+
</CodeBlock>
101+
</div>
102+
103+
</TabItem>
104+
</Tabs>
105+
106+
## Steps to Run Your Test
107+
108+
### Step 1: Upload your Application
109+
Upload your <b>_android_</b> application (.apk file) to the LambdaTest servers using our <b>REST API</b>. You need to provide your <b>Username</b> and <b>AccessKey</b> in the format `Username:AccessKey` in the <b>cURL</b> command for authentication. Make sure to add the path of the <b>appFile</b> in the cURL request. Here is an example cURL request to upload your app using our REST API:
110+
111+
<Tabs className="docs__val">
112+
<TabItem value="file" label="App file" default>
113+
114+
<Tabs className="docs__val">
115+
<TabItem value="macos-file" label="Linux / MacOS" default>
116+
117+
<div className="lambdatest__codeblock">
118+
<CodeBlock className="language-bash">
119+
{`curl -u "${ YOUR_LAMBDATEST_USERNAME()}:${ YOUR_LAMBDATEST_ACCESS_KEY()}" --location --request POST 'https://manual-api.lambdatest.com/app/upload/virtualDevice' --form 'name="Android_App"' --form 'appFile=@"<RELATIVE_PATH_OF_YOUR_APP>"'
120+
`}
121+
</CodeBlock>
122+
</div>
123+
124+
</TabItem>
125+
126+
<TabItem value="windows-file" label="Windows" default>
127+
<div className="lambdatest__codeblock">
128+
<CodeBlock className="language-powershell">
129+
{`curl -u "${ YOUR_LAMBDATEST_USERNAME()}:${ YOUR_LAMBDATEST_ACCESS_KEY()}" -X POST "https://manual-api.lambdatest.com/app/upload/virtualDevice" -F "appFile=@"<RELATIVE_PATH_OF_YOUR_APP>""
130+
`}
131+
</CodeBlock>
132+
</div>
133+
</TabItem>
134+
</Tabs>
135+
136+
</TabItem>
137+
<TabItem value="url" label="App URL" default>
138+
139+
<Tabs className="docs__val">
140+
<TabItem value="macos-url" label="Linux / MacOS" default>
141+
142+
<div className="lambdatest__codeblock">
143+
<CodeBlock className="language-bash">
144+
{`curl -u "${ YOUR_LAMBDATEST_USERNAME()}:${ YOUR_LAMBDATEST_ACCESS_KEY()}" \\
145+
--location --request POST 'https://manual-api.lambdatest.com/app/upload/virtualDevice' \\
146+
--form 'name="Android_App"' \\
147+
--form 'url="https://prod-mobile-artefacts.lambdatest.com/assets/docs/proverbial_android.apk"'`}
148+
</CodeBlock>
149+
</div>
150+
151+
</TabItem>
152+
153+
<TabItem value="windows-url" label="Windows" default>
154+
<div className="lambdatest__codeblock">
155+
<CodeBlock className="language-powershell">
156+
{`curl -u "${ YOUR_LAMBDATEST_USERNAME()}:${ YOUR_LAMBDATEST_ACCESS_KEY()}" --location --request POST "https://manual-api.lambdatest.com/app/upload/virtualDevice" --header "Content-Type: application/x-www-form-urlencoded" --data-urlencode "url=:https://prod-mobile-artefacts.lambdatest.com/assets/docs/proverbial_android.apk" --data-urlencode "name=Proverbial_App"`}
157+
</CodeBlock>
158+
</div>
159+
</TabItem>
160+
</Tabs>
161+
162+
</TabItem>
163+
</Tabs>
164+
165+
> 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.
166+
167+
### Step 2: Configure your Test Script
168+
Write Your Automation Script in the client language of your choice from the ones supported by Appium. An automation script for the sample applications have been provided below.
169+
170+
Here is a sample automation script in Java for the sample app downloaded above. Ensure to update the `app_url`, `username` and `accesskey` in the below code.
171+
172+
```java reference title="AndroidEmulator.java"
173+
https://github.com/LambdaTest/hyperexecute-appium-testng/blob/android-emulator/src/main/java/AndroidEmulator.java
174+
```
175+
176+
### Step 3: Update your XML file
177+
Create `.XML` file in order to run your test and define device capabilities. Please find sample code below for the same.
178+
179+
```xml reference title="android-emulator.xml"
180+
https://github.com/LambdaTest/hyperexecute-appium-testng/blob/android-emulator/src/test/java/android-emulator.xml
181+
```
182+
183+
### Step 4: Configure YAML and Execute your Script
184+
```yaml reference title="android-emulator.yaml"
185+
https://github.com/LambdaTest/hyperexecute-appium-testng/blob/android-emulator/yaml/hyp-android-emulator.yaml
186+
```
187+
188+
<!-- > The ```region``` parameter specifies the region or location where the Appium tests will be executed. Our platform supports the following three regions:
189+
- ap (Asia-Pacific)
190+
- us (United States)
191+
- eu (European Union) -->
192+
193+
### Step 5: Execute your Test Suite
194+
> **NOTE :** In case of MacOS, if you get a permission denied warning while executing CLI, simply run **`chmod u+x ./hyperexecute`** to allow permission. In case you get a security popup, allow it from your **System Preferences****Security & Privacy****General tab**.
195+
196+
Run the below command in your terminal at the root folder of the project:
197+
198+
```bash
199+
./hyperexecute --config RELATIVE_PATH_OF_YOUR_YAML_FILE
200+
```
201+
202+
OR use this command if you have not exported your username and access key in the step 2.
203+
204+
<div className="lambdatest__codeblock">
205+
<CodeBlock className="language-bash">
206+
{`./hyperexecute --user ${ YOUR_LAMBDATEST_USERNAME()} --key ${ YOUR_LAMBDATEST_ACCESS_KEY()} --config RELATIVE_PATH_OF_YOUR_YAML_FILE `}
207+
</CodeBlock>
208+
</div>

docs/hyperexecute-espresso-testing.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,7 @@ framework:
284284
```
285285

286286
To download these artifacts in your local machine, you can pass the `--download-artifacts` and `--download-report` flag with the CLI command to execute the tests as shown in the next step.
287+
287288
## Step 7: Execute your Test Suite
288289

289290
> **NOTE :** In case of MacOS, if you get a permission denied warning while executing CLI, simply run **`chmod u+x ./hyperexecute`** to allow permission. In case you get a security popup, allow it from your **System Preferences** → **Security & Privacy** → **General tab**.
@@ -304,10 +305,6 @@ OR use this command if you have not exported your username and access key in the
304305

305306
> Visit the [HyperExecute Dashboard](https://hyperexecute.lambdatest.com/hyperexecute) and check your Job status.
306307

307-
<!-- <img loading="lazy" src={require('../assets/images/hyperexecute/frameworks/espresso/espresso-he.webp').default} alt="cmd" width="768" height="373" className="doc_img"/> -->
308-
309-
<!-- <img loading="lazy" src={require('../assets/images/hyperexecute/frameworks/espresso/espress-he-app.webp').default} alt="cmd" width="768" height="373" className="doc_img"/> -->
310-
311308
:::tip Troubleshoot Guide
312309

313310
If you are stumbling upon errors during Espresso test execution, then refer to the [**Espresso Troubleshoot**](/support/docs/troubleshoot-espresso-tests/#sharded-espresso-errors) guide for detailed explanations to your common errors.

docs/hyperexecute-maestro-testing.md

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ You can use your own project to configure and test it. For demo purposes, we are
6363

6464
:::tip Sample repo
6565
Download or Clone the code sample for the Maestro framework from the LambdaTest GitHub repository to run the tests on the HyperExecute.
66-
<a href="https://github.com/LambdaTest/maestro-sample-test" className="github__anchor"><img loading="lazy" src={require('../assets/images/icons/github.png').default} alt="Image" className="doc_img"/> View on GitHub</a>
66+
<a href="https://github.com/LambdaTest/hyperexecute-maestro-sample-test" className="github__anchor"><img loading="lazy" src={require('../assets/images/icons/github.png').default} alt="Image" className="doc_img"/> View on GitHub</a>
6767
:::
6868

6969
## Step 2: Setup the CLI in your Test Suite
@@ -129,19 +129,31 @@ Enter your local path of the code repository instead of `<YOUR_LOCAL_APP_PATH>`
129129
Enter your `APP_ID` in the YAML file that you have fetched in the above step.
130130

131131
<Tabs className="docs__val">
132-
<TabItem value="android" label="Android" default>
132+
<TabItem value="android-rd" label="Android-Real Device" default>
133133

134134
```yaml reference title="hyperexecute.yaml"
135-
https://github.com/LambdaTest/maestro-sample-test/blob/main/yaml/maestro.yaml
135+
https://github.com/LambdaTest/hyperexecute-maestro-sample-test/blob/main/yaml/maestro.yaml
136136
```
137137
</TabItem>
138138

139-
<TabItem value="ios" label="iOS-Simulator" default>
139+
<TabItem value="android-emu" label="Android-Emulator" default>
140+
141+
> To enable this for your organizaton, connect with us through our <span className="doc\_\_lt" onClick={() => window.openLTChatWidget()}>**24/7 chat support**</span> or drop us an email to [[email protected]](mailto:[email protected]).
142+
143+
```yaml reference title="hyperexecute.yaml"
144+
https://github.com/LambdaTest/hyperexecute-maestro-sample-test/blob/android-emulator/yaml/maestro.yaml
145+
```
146+
</TabItem>
147+
148+
<TabItem value="ios-simu" label="iOS-Simulator" default>
149+
> To enable this for your organizaton, connect with us through our <span className="doc\_\_lt" onClick={() => window.openLTChatWidget()}>**24/7 chat support**</span> or drop us an email to [[email protected]](mailto:[email protected]).
150+
140151

141152
```yaml reference title="hyperexecute.yaml"
142-
https://github.com/LambdaTest/maestro-sample-test/blob/ios-simulator/maestro.yaml
153+
https://github.com/LambdaTest/hyperexecute-maestro-sample-test/blob/ios-simulator/maestro.yaml
143154
```
144155
</TabItem>
156+
145157
</Tabs>
146158

147159
## Step 5: Execute your Test Suite
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
id: hyperexecute-release-notes-2-6-0
3+
title: Version 2.6.0
4+
hide_title: false
5+
sidebar_label: Version 2.6.0
6+
description: Version 2.6.0
7+
keywords:
8+
- LambdaTest Hyperexecute
9+
- LambdaTest Hyperexecute help
10+
- LambdaTest Hyperexecute documentation
11+
- FAQs
12+
url: https://www.lambdatest.com/support/docs/hyperexecute-release-notes-2-6-0/
13+
site_name: LambdaTest
14+
slug: hyperexecute-release-notes-2-6-0/
15+
---
16+
17+
import NewReleaseTag from '../src/component/newRelease.js';
18+
import EnhancementTag from '../src/component/enhancementTag';
19+
import BugFixTag from '../src/component/bugFixTag';
20+
21+
<script type="application/ld+json"
22+
dangerouslySetInnerHTML={{ __html: JSON.stringify({
23+
"@context": "https://schema.org",
24+
"@type": "BreadcrumbList",
25+
"itemListElement": [{
26+
"@type": "ListItem",
27+
"position": 1,
28+
"name": "Home",
29+
"item": "https://www.lambdatest.com"
30+
},{
31+
"@type": "ListItem",
32+
"position": 2,
33+
"name": "Support",
34+
"item": "https://www.lambdatest.com/support/docs/"
35+
},{
36+
"@type": "ListItem",
37+
"position": 3,
38+
"name": "Version",
39+
"item": "https://www.lambdatest.com/support/docs/hyperexecute-release-notes-2-6-0/"
40+
}]
41+
})
42+
}}
43+
></script>
44+
## Label-Based Filtering for Test History
45+
This feature addresses the challenge of managing and tracking test runs as development teams scale and test suites grow more complex. By allowing you to group and filter tests based on custom labels, it simplifies test result tracking, reporting, and team collaboration.
46+
47+
Some of the specific benefits of the Test History Labels feature include:
48+
49+
- Quickly identifying and grouping similar test runs (e.g., all regression tests, all tests for a particular environment).
50+
- Simplifying the process of retrieving test runs for a specific sprint, feature, or environment.
51+
- Enhancing overall test management and organization for development teams.
52+
53+
<img loading="lazy" src={require('../assets/images/hyperexecute/release-notes/test-history-label.gif').default} alt="Image" className="doc_img"/>
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
id: hyperexecute-release-notes-2-6-2
3+
title: Version 2.6.2
4+
hide_title: false
5+
sidebar_label: Version 2.6.2
6+
description: Version 2.6.2
7+
keywords:
8+
- LambdaTest Hyperexecute
9+
- LambdaTest Hyperexecute help
10+
- LambdaTest Hyperexecute documentation
11+
- FAQs
12+
url: https://www.lambdatest.com/support/docs/hyperexecute-release-notes-2-6-2/
13+
site_name: LambdaTest
14+
slug: hyperexecute-release-notes-2-6-2/
15+
---
16+
17+
import NewReleaseTag from '../src/component/newRelease.js';
18+
import EnhancementTag from '../src/component/enhancementTag';
19+
import BugFixTag from '../src/component/bugFixTag';
20+
21+
<script type="application/ld+json"
22+
dangerouslySetInnerHTML={{ __html: JSON.stringify({
23+
"@context": "https://schema.org",
24+
"@type": "BreadcrumbList",
25+
"itemListElement": [{
26+
"@type": "ListItem",
27+
"position": 1,
28+
"name": "Home",
29+
"item": "https://www.lambdatest.com"
30+
},{
31+
"@type": "ListItem",
32+
"position": 2,
33+
"name": "Support",
34+
"item": "https://www.lambdatest.com/support/docs/"
35+
},{
36+
"@type": "ListItem",
37+
"position": 3,
38+
"name": "Version",
39+
"item": "https://www.lambdatest.com/support/docs/hyperexecute-release-notes-2-6-2/"
40+
}]
41+
})
42+
}}
43+
></script>
44+
## Support for Appium and Maestro Android Emulator
45+
HyperExecute now supports the Appium and the Maestro Android Emulator, providing enhanced flexibility for mobile application testing on Android emulators.
46+
47+
### Key Features:
48+
- **Streamlined Emulator Integration**: Perform testing on virtual devices without requiring physical hardware, reducing setup complexity.
49+
- **Parallel Execution :** Run multiple tests simultaneously on virtual devices using HyperExecute’s parallelism to speed up test cycles and reduce execution time for functional and UI tests.
50+
- **Customizable Capabilities:** Define emulator configurations such as device name, platform version, and orientation directly within your test files.
51+
52+
To execute tests using the Android Emulator, add the following configurations to your `hyperexecute.yaml`:
53+
```yaml
54+
framework:
55+
args:
56+
isRealMobile: false
57+
```
58+
59+
> Refer to our detailed documentation for [Appium](/support/docs/hyperexecute-appium-virtual-device/) and [Maestro](/support/docs/hyperexecute-maestro-testing/) on configuring and running tests with Android emulators.
60+
61+
## New Version Release for Beta and Dev Edge Browser
62+
HyperExecute expands its support for the latest versions of dev and beta browsers for the Windows platform. With this expanded compatibility, you can streamline your testing process and deliver exceptional user experiences with confidence!
63+
64+
- **Dev version:** 132.0.2957.11
65+
- **Beta version:** 132.0.2957.11

0 commit comments

Comments
 (0)