Skip to content

Commit d922246

Browse files
Merge branch 'stage' into smartui-xcui-updates
2 parents 0fec9aa + f621d8a commit d922246

21 files changed

+878
-169
lines changed
50.5 KB
Loading
103 KB
Loading

docs/apis-for-app-testing.md

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -87,28 +87,28 @@ Shown below is the response to the above cURL request.
8787

8888
## Generate publicly shareable build and test links
8989

90-
To generate public shareable build link, run the below cURL command.
90+
To generate public **shareable build link**, run the below cURL command.
9191

9292
<div className="lambdatest__codeblock">
9393
<CodeBlock className="language-bash">
94-
{`curl -X POST 'https://api.lambdatest.com/lshs/api/v1.0/share-item/generate-sharable-link' \
95-
-H 'Content-Type: application/json' \
96-
--user 'username:password' \
97-
-d '{
98-
"entityIds": ["123456"],
99-
"entityType": "App Automation Build",
100-
"expiresAt": 7
101-
}'`}
94+
{`curl 'https://api.lambdatest.com/lshs/api/v1.0/share-item/generate-sharable-link' \
95+
-H 'Content-Type: application/json' \
96+
-u "${YOUR_LAMBDATEST_USERNAME()}:${YOUR_LAMBDATEST_ACCESS_KEY()}" \
97+
--data-raw '{"entityIds":["buildID"],"entityType":"App Automation Build","expiresAt":7}'`}
10298
</CodeBlock>
10399
</div>
104100

105-
To generate public shareable test link, run the below cURL command.
101+
102+
To generate public **shareable test link**, run the below cURL command.
106103

107104
<div className="lambdatest__codeblock">
108105
<CodeBlock className="language-bash">
109106
{`curl 'https://api.lambdatest.com/lshs/api/v1.0/share-item/generate-sharable-link' \
110-
-H 'authorization: Bearer <Bearer Token>' \
111-
--data-raw '{"entityIds":["APPTESaBCDefGHI5JlMnOPQ"],"entityType":"App Automation Test","expiresAt":7}'`}
107+
-H 'Content-Type: application/json' \
108+
-u "${YOUR_LAMBDATEST_USERNAME()}:${YOUR_LAMBDATEST_ACCESS_KEY()}" \
109+
--data-raw '{"entityIds":["testID"],"entityType":"App Automation Test","expiresAt":7}'
110+
`}
111+
112112
</CodeBlock>
113113
</div>
114114

@@ -117,6 +117,11 @@ To generate public shareable test link, run the below cURL command.
117117
| Test | `entityIds` <br/> <br/> `entityType` <br/> <br/> `expiresAt` | For tests, pass `entityIds` as the test id and pass `entityType` as "App Automation Test" <br/> `expiresAt` is the number of days after which the shareable test link will expire '|
118118
| Build | `entityIds` <br/> <br/> `entityType` <br/> <br/> `expiresAt` | For builds, pass `entityIds` as the build id and pass `entityType` as "App Automation Build" <br/> `expiresAt` is the number of days after which the shareable build link will expire '|
119119

120+
:::note
121+
The shareable links are valid for a period of 7, 15, or 30 days, after which they will expire.
122+
123+
:::
124+
120125
>That’s all! In case you have any questions or need any additional information, you could reach out at our <span className="doc__lt" onClick={() => window.openLTChatWidget()}>**24X7 Chat Support**</span> or mail us directly at [email protected].
121126
122127
<nav aria-label="breadcrumbs">

docs/app-settings.md

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ site_name: LambdaTest
1111
slug: app-settings/
1212
---
1313

14+
import AndroidDeviceTag from '../src/component/androidDevice';
15+
import IOSDeviceTag from '../src/component/iosDevice';
16+
1417
<script type="application/ld+json"
1518
dangerouslySetInnerHTML={{ __html: JSON.stringify({
1619
"@context": "https://schema.org",
@@ -35,33 +38,49 @@ slug: app-settings/
3538
}}
3639
></script>
3740

38-
# App Settings in Real Device Cloud
41+
# App Settings in Real Device Cloud
3942

4043
App settings play a crucial role in testing the environment for mobile applications. These settings, provided by LambdaTest, offer developers a range of capabilities to enhance testing procedures and ensure comprehensive validation of their apps functionality.
4144

4245
<img loading="lazy" src={require('../assets/images/mobile-app-testing/app-settings.webp').default} alt="Real " className="doc_img" width="1366" height="629"/>
4346

44-
## Image Injection
47+
## Disable app resinging <AndroidDeviceTag value="Android Device" /> <IOSDeviceTag value="iOS Device" />
48+
49+
Enable the Disable App Resigning feature to use biometrics and image injection without needing to re-sign the app after updates. This simplifies development and testing by bypassing the app resigning process.
50+
51+
## Biometric Authentication <AndroidDeviceTag value="Android Device" /> <IOSDeviceTag value="iOS Device" />
52+
53+
Enable the Biometric Authentication feature to effortlessly test your biometric authentication-reliant applications on designated remote Lambdatest devices. This functionality enables the emulation of diverse biometric authentication techniques such as fingerprint scanning, facial recognition and others. Leveraging this feature ensures thorough validation of your applications' security and functionality across a spectrum of realistic usage scenarios.
54+
55+
Check out our detailed [support documentation](https://www.lambdatest.com/support/docs/biometric-authentication/) to learn in detail about the Biometric supported APIs and much more.
56+
57+
## Image Injection <AndroidDeviceTag value="Android Device" /> <IOSDeviceTag value="iOS Device" />
4558

4659
Enable the Image Injection feature to capture images, QR codes, and barcode scans seamlessly within your app using LambdaTest devices. Our approach utilizes Sensor Instrumentation to seamlessly integrate your app with various mobile sensors, such as the camera. By enabling Image Injection for a specific session, LambdaTest seamlessly injects camera code modules into your app, effectively mocking or overriding the Android or iOS SDK used in your app.
4760

4861
Check out our detailed [support documentation](https://www.lambdatest.com/support/docs/camera-image-injection/) to learn in detail about the image injection feature.
4962

50-
## Biometric Authentication
63+
## Default Network Logs <AndroidDeviceTag value="Android Device" /> <IOSDeviceTag value="iOS Device" />
5164

52-
Enable this setting to effortlessly test your biometric authentication-reliant applications on designated remote Lambdatest devices. This functionality enables the emulation of diverse biometric authentication techniques such as fingerprint scanning, facial recognition and others. Leveraging this feature ensures thorough validation of your applications' security and functionality across a spectrum of realistic usage scenarios.
65+
Enable the Default Network Logs feature to seamlessly initiate network log capturing at the beginning of each session within your application. By enabling this setting at the app level, you prioritize the logging of network activities over device logs, ensuring comprehensive monitoring of network interactions right from the start.
5366

54-
Check out our detailed [support documentation](https://www.lambdatest.com/support/docs/biometric-authentication/) to learn in detail about the Biometric supported APIs and much more.
67+
## Language and Local <AndroidDeviceTag value="Android Device" /> <IOSDeviceTag value="iOS Device" />
68+
Enable the Language & Locale feature to first select the language for the application, and then choose the locale. Once enabled, the language cannot be changed during the session.
5569

56-
## Disable Screenshot Block (only Android)
70+
## Disable Screenshot Block <AndroidDeviceTag value="Android Device" />
5771

58-
Enable this setting to conduct uninterrupted testing of your application's performance, even when screenshot capture is restricted within your app. This tool facilitates testing in both app-live and app automation scenarios, ensuring seamless evaluation of your applications.
72+
Enable the Disable Screenshot Block feature to conduct uninterrupted testing of your application's performance, even when screenshot capture is restricted within your app. This tool facilitates testing in both app-live and app automation scenarios, ensuring seamless evaluation of your applications.
5973

6074
Check out our detailed [support documentation](https://www.lambdatest.com/support/docs/disable-screenshot-block/) to learn in detail about disable screenshot block feature.
6175

62-
## Default Network Logs
76+
## App Arguments <IOSDeviceTag value="iOS Device" />
77+
Enable the App Arguments feature to provide custom arguments before launching the app, allowing you to configure specific settings or behaviors. These arguments are passed to the app at startup, enabling you to control app modes, enable debugging, or customize other options based on your needs.
78+
79+
80+
81+
82+
6383

64-
Enable this feature to seamlessly initiate network log capturing at the beginning of each session within your application. By enabling this setting at the app level, you prioritize the logging of network activities over device logs, ensuring comprehensive monitoring of network interactions right from the start.
6584

6685

6786
<nav aria-label="breadcrumbs">

docs/appium-visual-regression.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
id: appium-visual-regression
33
title: Getting Started With Visual Regression Testing Using Appium On SmartUI Real Devices (NodeJS)
4-
sidebar_label: Appium
4+
sidebar_label: Appium Hooks
55
description: Explore our Appium Visual Regression support documentation for step-by-step guidance! Conduct visual testing, manage apps, and ensure your mobile apps are flawless before launch.
66
keywords:
77
- Visual Regression

docs/biometric-authentication.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,10 @@ To enable biometric authentication feature in your automation script, set the ca
108108
DesiredCapabilities capabilities = new DesiredCapabilities();
109109
capabilities.setcapability("enableBiometricsAuthentication",true)
110110
```
111+
:::note
112+
Explicitly set the `autoAcceptAlerts` capability to false in order to run biometric tests on iOS devices.
113+
:::
114+
111115

112116
### Using Lambda-Hook
113117

docs/deep-dive-into-hyperexecute-yaml.md

Lines changed: 44 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -622,29 +622,48 @@ The uploadArtefact flag is not currently supported for tests running with the **
622622
***
623623

624624
### `globalPre`
625-
> Currently, only **Linux OS** is supported
626-
627625
The `globalPre` flag allows you to define a pre-execution step that runs once before any of your tasks starts. This flag ensures that all necessary setup tasks, such as installing dependencies, configuring environments, or initializing resources, are completed before test execution begins.
628626

629627
#### Functionality
630628
- Runs before any test execution starts, ensuring the environment is properly configured.
631629
- Executes on a separate machine (VM) or the local machine, based on the [test discovery mode](/support/docs/deep-dive-into-hyperexecute-yaml/#mode) selected.
632630
- Useful for setup tasks, such as fetching credentials, initializing databases, or downloading required files.
633631

632+
#### Limitations
633+
- This feature is supported in YAML version 0.1 and 0.2 only.
634+
- `remote` mode is not supported for **XCUI** and **Espresso** framework jobs. Default mode for these frameworks is `local`.
635+
634636
```yaml title="hyperexecute.yaml"
635637
globalPre:
636638
mode: remote #local or remote
637639
commands:
638640
- "echo 'Setting up environment'"
639641
- "apt-get update && apt-get install -y curl"
640642
- "curl -X POST https://api.example.com/init"
643+
runson: win
644+
cache: true
645+
```
646+
647+
:::info
648+
You can also use `beforeAll` as an alias for the `globalPre` command:
649+
650+
```yaml
651+
beforeAll:
652+
commands:
653+
- "apt-get update && apt-get install -y curl"
654+
mode: remote
655+
runson: win
656+
cache: true
641657
```
658+
:::
642659

643660
#### Parameters
644661
| Parameter | Type | Description |
645662
|-----------|------|-------------|
646-
| mode | string | Defines where the pre-step commands will be executed. <br /> Options: [local or remote](/support/docs/deep-dive-into-hyperexecute-yaml/#mode). |
663+
| mode | string | Defines where the pre-step commands will be executed. <br /> Options: [local or remote](/support/docs/deep-dive-into-hyperexecute-yaml/#mode). Default `mode` is `remote`.|
647664
| commands | list | List of shell commands to execute before test execution begins. |
665+
| runson | string | It specifies the operating system on which all the task would run in case of `remote mode`. By default, it is set to `linux`. |
666+
| cache | boolean | It is used to cache the payload after all commands have executed. It is useful in cases like: <br /> &nbsp;&nbsp;&nbsp; - If you want to made some modification in the payload at runtime by executing some set of commands. <br /> &nbsp;&nbsp;&nbsp; - If the payload is fetched from git source. By caching the payload, git rate limiting can be avoided as the payload will only be fetched once per job with `cache: true`. |
648667

649668
#### Difference between `globalPre` and `pre` flags
650669
| Scenario | globalPre | pre |
@@ -657,29 +676,45 @@ globalPre:
657676
***
658677

659678
### `globalPost`
660-
> Currently, only **Linux OS** is supported
661-
662679
The `globalPost` flag defines a post-execution step that runs once after all tasks have completed. This step ensures that cleanup tasks, such as removing temporary files, logging results, or notifying external systems, are performed after test execution.
663680

664681
#### Functionality
665682
- Runs after all test execution is completed, ensuring final cleanup and reporting.
666683
- Executes on a separate machine (VM) or the local machine, based on the mode selected.
667684
- Useful for cleanup tasks, such as deleting test artifacts, summarizing reports, or deallocating cloud resources.
668685

686+
#### Limitations
687+
- This feature is supported in YAML version 0.1 and 0.2 only.
688+
- `remote` mode is not supported for **XCUI** and **Espresso** framework jobs. Default mode for these frameworks is `local`.
689+
669690
```yaml title="hyperexecute.yaml"
670691
globalPost:
671692
mode: remote #local or remote
672693
commands:
673694
- "echo 'Cleaning up test environment'"
674695
- "rm -rf /tmp/test-results"
675696
- "curl -X POST https://api.example.com/cleanup"
697+
runson: linux
676698
```
677699

700+
:::info
701+
You can also use `afterAll` as an alias for the `globalPost` command:
702+
703+
```yaml
704+
afterAll:
705+
commands:
706+
- "curl -X POST https://api.example.com/cleanup"
707+
mode: local
708+
runson: linux
709+
```
710+
:::
711+
678712
#### Parameters
679713
| Parameter | Type | Description |
680714
|-----------|------|-------------|
681-
| mode | string | Defines where the post-step commands will be executed. <br /> Options: [local or remote](/support/docs/deep-dive-into-hyperexecute-yaml/#mode). |
715+
| mode | string | Defines where the post-step commands will be executed. <br /> Options: [local or remote](/support/docs/deep-dive-into-hyperexecute-yaml/#mode). Default `mode` is `remote`. |
682716
| commands | list | List of shell commands to execute after test execution completes. |
717+
| runson | string | It specifies the operating system on which all the task would run in case of `remote mode`. By default, it is set to `linux`. |
683718

684719
#### Difference between `globalPost` and `post` flags
685720
| Scenario | globalPost | post |
@@ -1346,9 +1381,10 @@ if your test loads jquery static library multiple times and for some reason it i
13461381

13471382
> **Note**: These cached resources are not yet shared across VMs. So, each VM has its own copy of cache.
13481383

1384+
<!--
13491385
***
13501386

1351-
### `afterAll`
1387+
### `afterAll`
13521388
It is used to run commands after the job has finished. Currently only local directive is allowed, means that all the commands would be run on the same host on which HyperExecute CLI was run. Running commands in `afterAll` on HyperExecute VMs(remote commands) is not yet supported. Users will have access to all the artifacts when these commands would be run.
13531389
```yaml
13541390
afterAll:
@@ -1359,7 +1395,7 @@ afterAll:
13591395

13601396
For instance you want to further process the artifacts and create a custom PDF. You can use `afterAll` for this purpose wherein custom commands can be invoked. Other use cases can be in case you :
13611397
- Want to run some commands after the job is finished.
1362-
- Want to run these commands from the same host from which hyperexecute-cli is run.
1398+
- Want to run these commands from the same host from which hyperexecute-cli is run. -->
13631399

13641400
<!-- ***
13651401
## `beforeAll`

docs/hyperexecute-yaml-parameters.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ The **HyperExecute YAML** file serves as the foundational component for test exe
162162
| [postDirectives](/support/docs/deep-dive-into-hyperexecute-yaml/#postdirectives) | Map |Similar to post with option to retry. |
163163
| [alwaysRunPostSteps](/support/docs/deep-dive-into-hyperexecute-yaml/#alwaysrunpoststeps) | Boolean | Execute the Post Steps in every scenario case |
164164
| [cacheTestURL](/support/docs/deep-dive-into-hyperexecute-yaml/#cachetesturl) | Boolean |It enables users to cache static test files. |
165-
| [afterAll](/support/docs/deep-dive-into-hyperexecute-yaml/#afterall) | Map |It is used to run commands after the job has finished. |
165+
<!-- | [afterAll](/support/docs/deep-dive-into-hyperexecute-yaml/#afterall) | Map |It is used to run commands after the job has finished. | -->
166166
| [project](/support/docs/deep-dive-into-hyperexecute-yaml/#project) | String | Segregate data at a project/repo level |
167167
| [slackChannel](/support/docs/deep-dive-into-hyperexecute-yaml/#slackchannel) | String | Allows you to receive notifications of your Job updates directly in your preferred Slack channel. |
168168
| [afterEachScenario](/support/docs/deep-dive-into-hyperexecute-yaml/#aftereachscenario) | List of Strings | Allows you to trigger your define tasks after each test scenario. |

docs/install-apps-from-app-center.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
id: install-apps-from-app-center
33
title: How to Test Apps Installed via App Center?
44
hide_title: true
5-
sidebar_label: App Center
5+
sidebar_label: App Center (Deprecating)
66
description: Learn how to test apps installed from App Center on LambdaTest for optimal performance on real Android and iOS devices.
77
keywords:
88
- install apps from app center
@@ -36,7 +36,11 @@ slug: install-apps-from-app-center/
3636
}}
3737
></script>
3838

39-
# How to Test Apps Installed via App Center?
39+
# How to Test Apps Installed via App Center?
40+
41+
:::warning note
42+
This method of uploading applications will be deprecated on [31st March 2025](https://learn.microsoft.com/en-us/appcenter/retirement).
43+
:::
4044

4145
LambdaTest enables developers to test their mobile applications and websites across a range of real devices and browsers. It allows you to install apps directly from the App Center to test them on real android or iOS devices, ensuring that they perform well in actual user environments.
4246

docs/kaneai-ci-cd-automation.md

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,17 @@ Open the test run to view its URL. Copy the Test Run ID from the URL. This ID wi
6868
A list of test instances with various configurations will be displayed for each test run.
6969
:::
7070

71+
72+
### Step 3: Configure the API Call
73+
Replace `<TestRunID>` with the actual ID from the URL and set additional optional parameters:
74+
75+
- **concurrency :** Defaults to 1 if not specified.
76+
- **title :** Assign a unique job title; a random one will be generated if omitted.
77+
- **region :** Choose a region such as eastus or centralindia.
78+
- **tunnel :** Add the parameter and tunnel name if you want to run using LambdaTest Tunnel.
79+
- **accessibility :** Set as true if you want to run accessibility test on all your tests in the test run. (Could potentially slow the execution down if set as true)
80+
- **replaced_url :** To be used to dynamically replace any pattern URL in test cases with the replacement URL for entire test run.
81+
7182
#### Example API Call:
7283

7384
```yaml
@@ -78,11 +89,26 @@ curl --location 'https://test-manager-api.lambdatest.com/api/atm/v1/hyperexecute
7889
"test_run_id": "YOUR_TEST_RUN_ID", #enter test run id
7990
"concurrency": 1, # Optional, Default 1
8091
"title": "UNIQUE_BUILD_NAME", #Optional
81-
"region": "YOUR_DESIRED_REGION" #eastus, centralindia
92+
"region": "YOUR_DESIRED_REGION", #eastus, centralindia
93+
"tunnel": "tunnel-name", #Optional to be used if running via tunnel
94+
"accessibility": false, #Optional
95+
"replaced_url": [
96+
{
97+
"pattern_url": "TEST_URL_1",
98+
"replacement_url": "REPLACED_TEST_URL_1"
99+
},
100+
{
101+
"pattern_url": "TEST_URL_2",
102+
"replacement_url": "REPLACED_TEST_URL_2"
103+
},
104+
{
105+
"pattern_url": "TEST_URL_3",
106+
"replacement_url": "REPLACED_TEST_URL_3"
107+
}
108+
] #Optional to be used to dynamically replace any pattern URL in test cases with the replacement URL
82109
}'
83110
```
84111

85-
86112
#### Sample API Response:
87113

88114
The API response contains the job ID for both jobs created for desktop web tests as well as mobile tests on real devices. Here is a sample response for a test run which contains both app and web test cases:
@@ -97,15 +123,6 @@ The API response contains the job ID for both jobs created for desktop web tests
97123
}
98124
```
99125

100-
### Step 3: Configure the API Call
101-
Replace `<TestRunID>` with the actual ID from the URL and set additional optional parameters:
102-
103-
- **Concurrency :** Defaults to 1 if not specified.
104-
- **Title :** Assign a unique job title; a random one will be generated if omitted.
105-
- **Region :** Choose a region such as eastus or centralindia.
106-
107-
Confirm that the job title is unique to avoid conflicts. Select a region if you require a specific allocation for your devices.
108-
109126

110127
### Step 4: Authenticate and Trigger the Job
111128
- Provide your LambdaTest username and access key for Basic Authentication.

0 commit comments

Comments
 (0)