Skip to content

Commit 9ffeebc

Browse files
committed
2 parents a4b61f2 + 94ffb76 commit 9ffeebc

File tree

14 files changed

+706
-82
lines changed

14 files changed

+706
-82
lines changed
178 KB
Loading
121 KB
Loading
173 KB
Loading
125 KB
Loading
5.51 MB
Binary file not shown.

docs/bug-tracking-tools.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,10 @@ import TabItem from '@theme/TabItem';
121121
<div className="download_btn mb-10">
122122
<a href="https://www.lambdatest.com/support/docs/taiga-integration/">Taiga Integration With LambdaTest</a>
123123
</div>
124+
125+
<div className="download_btn mb-10">
126+
<a href="https://www.lambdatest.com/support/docs/servicenow-integration/">ServiceNow Integration With LambdaTest</a>
127+
</div>
124128
:::info Note
125129

126130
If your favourite Bug Tracking tool is not in the list above mentioned, you can just give us a <span className="doc\_\_lt" onClick={() => window.openLTChatWidget()}>**shout**</span> and we will have it ready shortly for you.
Lines changed: 197 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,197 @@
1+
---
2+
id: camera-image-injection-vd
3+
title: Camera Image Injection Testing on Virtual Devices
4+
sidebar_label: Camera Image Injection (Virtual Devices)
5+
description: Learn how to automate camera injection testing on a virtual device cloud using LambdaTest.
6+
keywords:
7+
- test image capture on virtual devices
8+
- qr code scanner testing
9+
- barcode scanning on virtual device cloud
10+
- lambdaTest virtual device testing
11+
- mobile app testing qr code
12+
- lambdatest capture code
13+
- simulate camera features online
14+
url: https://www.lambdatest.com/support/docs/camera-image-injection-on-virtual-devices/
15+
site_name: LambdaTest
16+
slug: camera-image-injection-on-virtual-devices/
17+
---
18+
19+
import CodeBlock from '@theme/CodeBlock';
20+
import {YOUR_LAMBDATEST_USERNAME, YOUR_LAMBDATEST_ACCESS_KEY} from "@site/src/component/keys";
21+
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": "Camera Image Injection Testing on Virtual Devices",
43+
"item": "https://www.lambdatest.com/support/docs/camera-image-injection-on-virtual-devices/"
44+
}]
45+
})
46+
}}
47+
></script>
48+
---
49+
The camera image injection feature on LambdaTest lets you test key camera-based functionalities such as image capture, QR code scanning, and barcode scanning across a wide range of Android emulators using Appium framework.
50+
51+
## How It Works?
52+
---
53+
54+
LambdaTest uses sensor instrumentation to integrate with native mobile sensors. When the image injection feature is enabled during a test session, LambdaTest injects a custom camera module into the mobile app using this sensor instrumentation. This module simulates the behavior of the camera by overriding the Android SDK, allowing you to validate how your mobile app handles camera input.
55+
56+
### Key Features
57+
---
58+
59+
- Works across various Android emulators.
60+
- Enables testing of image capture, barcode, and QR code scanning.
61+
- Integrates smoothly into standard app testing workflows.
62+
63+
## Supported Camera APIs
64+
---
65+
66+
Below given is the list of camera APIs which are supported for image injection feature. Please ensure that your mobile app uses these APIs only to enable image injection.
67+
68+
<Tabs className="docs__val">
69+
70+
<TabItem value="powershell" label="Android >= version 9" default>
71+
72+
<div className="lambdatest__codeblock">
73+
| Supported APIs |
74+
|----------------|
75+
| `CameraX` API is used. <br />📕 For details, please check [CameraX documentation](https://developer.android.com/training/camerax). |
76+
| `Camera` API is used. <br />📕 For details, please check [Camera documentation](https://developer.android.com/training/camera-deprecated).|
77+
| `Camera2` API is used. <br />📕 For details, please check [Camera2 documentation](https://developer.android.com/training/camera2).|
78+
| `ACTION_IMAGE_CAPTURE` is standard intent action that can be sent to have the camera application capture an image and return it. <br /><br />📕 For details, please check [MediaStore documentation](https://developer.android.com/reference/android/provider/MediaStore).|
79+
</div>
80+
81+
</TabItem>
82+
</Tabs>
83+
84+
## Using Camera Image Injection for Android
85+
---
86+
87+
Follow the below steps to automate camera injection testing on Android emulators with Appium:
88+
89+
### Step 1: Upload an Image
90+
---
91+
Use the following cURL command to upload an image of your choice to the LambdaTest cloud. Only JPG, JPEG, and PNG formats are supported, with a maximum file size of 10 MB.
92+
93+
<div className="lambdatest__codeblock">
94+
<CodeBlock className="language-bash">
95+
{`curl -u "${ YOUR_LAMBDATEST_USERNAME()}:${ YOUR_LAMBDATEST_ACCESS_KEY()}" -X POST "https://mobile-mgm.lambdatest.com/mfs/v1.0/media/upload" -F "media_file=@"/Users/macuser/Downloads/sampleimage.jpg"" -F "type="image"" -F "custom_id="SampleImage""`}
96+
</CodeBlock>
97+
</div>
98+
99+
The response to the above cURL command will be a JSON object containing a `media_url` in the format `lt://MEDIA123456789123456789`, as shown below.
100+
101+
```js
102+
{
103+
"media_url":"lt://MEDIA123456789123456789",
104+
"name":"sampleimage.jpg",
105+
"status":"success",
106+
"custom_id":"SampleImage"
107+
}
108+
```
109+
110+
### Step 2: Enable Image injection
111+
---
112+
You can enable image injection in your mobile app using `appium` capability. Simply add `"enableImageInjection": true` capability in your automation script. Enabling this capability will trigger the sensor instrumentation in your mobile app. Now, add the media URL `"media": "lt://MEDIA123456789123456789"` capability. However, this capability is now optional and can instead be provided via LambdaHook, as described in Step 3.
113+
114+
<Tabs className="docs__val">
115+
116+
<TabItem value="python" label="Python" default>
117+
<div className="lambdatest__codeblock">
118+
<CodeBlock className="language-python">
119+
{`desired_capabilities = {
120+
"enableImageInjection": true,
121+
"media": "lt://MEDIAf446d4170cd946aa9ec307d10cb679b9", #Add media_url here (optional)
122+
"isRealMobile"=false,
123+
}`}
124+
</CodeBlock>
125+
</div>
126+
</TabItem>
127+
128+
129+
<TabItem value="JavaScript" label="JavaScript" default>
130+
<div className="lambdatest__codeblock">
131+
<CodeBlock className="language-javascript">
132+
{`DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
133+
desiredCapabilities.setCapability("enableImageInjection", "true");
134+
desiredCapabilities.setCapability("isRealMobile", false);`}
135+
</CodeBlock>
136+
</div>
137+
</TabItem>
138+
</Tabs>
139+
140+
### Step 3: Inject an Image
141+
---
142+
Refer to the code snippets below to inject an image. Ensure the image is injected before your mobile app activates the camera, as the camera will only capture the most recently injected image.
143+
144+
145+
<Tabs className="docs__val">
146+
147+
<TabItem value="python" label="Python" default>
148+
<div className="lambdatest__codeblock">
149+
<CodeBlock className="language-python">
150+
{`driver.execute_script("lambda-image-injection=media_url") #Add media_url here`}
151+
</CodeBlock>
152+
</div>
153+
</TabItem>
154+
155+
156+
<TabItem value="JavaScript" label="JavaScript" default>
157+
<div className="lambdatest__codeblock">
158+
<CodeBlock className="language-javascript">
159+
{`driver.execute_script("lambda-image-injection=media_url") //Add media_url here`}
160+
</CodeBlock>
161+
</div>
162+
</TabItem>
163+
</Tabs>
164+
165+
:::info
166+
167+
**Use Case**: This feature allows you to inject multiple images at different points within a single test. Each new image injected using this process will replace the image injected in the previous step.
168+
169+
:::
170+
171+
### Step 4: Capture the Desired Image
172+
---
173+
First, add the logic to inject the uploaded image in your test script. Then, add the logic to tap the camera button in the mobile app. Make sure to inject the image before clicking the camera, as only the most recently injected image will appear on the app screen.
174+
175+
176+
> 📕 Check the documentation to [automate camera image injection testing on real devices](/support/docs/camera-image-injection/).
177+
178+
179+
<nav aria-label="breadcrumbs">
180+
<ul className="breadcrumbs">
181+
<li className="breadcrumbs__item">
182+
<a className="breadcrumbs__link" target="_self" href="https://www.lambdatest.com">
183+
Home
184+
</a>
185+
</li>
186+
<li className="breadcrumbs__item">
187+
<a className="breadcrumbs__link" target="_self" href="https://www.lambdatest.com/support/docs/">
188+
Support
189+
</a>
190+
</li>
191+
<li className="breadcrumbs__item breadcrumbs__item--active">
192+
<span className="breadcrumbs__link">
193+
Camera Image Injection
194+
</span>
195+
</li>
196+
</ul>
197+
</nav>
Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
---
2+
id: hyperexecute-mcp-server-release-notes-1-0-0
3+
title: Version 1.0.0
4+
hide_title: false
5+
sidebar_label: Version 1.0.0
6+
description: Version 1.0.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-mcp-server-release-notes-1-0-0/
13+
site_name: LambdaTest
14+
slug: hyperexecute-mcp-server-release-notes-1-0-0/
15+
---
16+
17+
<script type="application/ld+json"
18+
dangerouslySetInnerHTML={{ __html: JSON.stringify({
19+
"@context": "https://schema.org",
20+
"@type": "BreadcrumbList",
21+
"itemListElement": [{
22+
"@type": "ListItem",
23+
"position": 1,
24+
"name": "Home",
25+
"item": "https://www.lambdatest.com"
26+
},{
27+
"@type": "ListItem",
28+
"position": 2,
29+
"name": "Support",
30+
"item": "https://www.lambdatest.com/support/docs/"
31+
},{
32+
"@type": "ListItem",
33+
"position": 3,
34+
"name": "Version",
35+
"item": "https://www.lambdatest.com/support/docs/hyperexecute-mcp-server-release-notes-1-0-0/"
36+
}]
37+
})
38+
}}
39+
></script>
40+
41+
42+
# MCP LambdaTest Release Notes
43+
44+
## Version 1.0.0 - Major Release
45+
46+
### 🎉 What's New
47+
48+
#### Rebranding & Package Updates
49+
50+
- **MCP Hyperexecute** is now **MCP LambdaTest** to better reflect our expanded capabilities
51+
- Updated package name to `mcp-lambdatest` on NPM
52+
- Stable 1.0.0 release with comprehensive feature set
53+
54+
#### Transport Support
55+
56+
- **STDIO Transport**: Available via NPM package for local installations
57+
- **StreamableHTTP Transport**: Replaces deprecated SSE transport for remote connections
58+
- Enhanced connection reliability and performance
59+
60+
#### Enhanced Migration Tools
61+
62+
- Expanded migration capabilities for easier transition to LambdaTest platform
63+
- Improved app upload functionality for mobile testing
64+
- Resolved template loading and asset management for migration tools
65+
66+
#### Security & Reliability Improvements
67+
68+
- Enhanced authentication mechanisms
69+
- Improved credential handling and validation
70+
- Better security practices for remote connections
71+
- Fixed MCP resource loading issues for capabilities mapping and hooks executor
72+
- Updated webpack configuration to properly copy JSON assets during build process
73+
74+
### 🔧 Connection Configuration
75+
76+
#### ⚠️ Breaking Changes
77+
78+
The previous SSE-based connection method has been **removed**:
79+
80+
```
81+
❌ OLD (No longer supported):
82+
http://mcp.lambdatest.com/hyperexecute?&username=[your-lt-username]&accessKey=[your-lt-access-key]
83+
```
84+
85+
#### ✅ Connection Methods
86+
87+
**Option 1: Remote MCP Server (StreamableHTTP)**
88+
89+
```json
90+
{
91+
"mcpServers": {
92+
"mcp-lambdatest-remote": {
93+
"disabled": false,
94+
"timeout": 60,
95+
"command": "npx",
96+
"args": [
97+
"mcp-remote@latest",
98+
"https://mcp.lambdatest.com/mcp",
99+
"--header",
100+
"username:<LT_USERNAME>",
101+
"--header",
102+
"accessKey:<LT_ACCESSKEY>"
103+
],
104+
"transportType": "streamableHTTP"
105+
}
106+
}
107+
}
108+
```
109+
110+
**Option 2: Local STDIO Server (NPM Package)**
111+
112+
```json
113+
{
114+
"mcpServers": {
115+
"mcp-lambdatest-stdio": {
116+
"disabled": false,
117+
"timeout": 100,
118+
"command": "npx",
119+
"args": ["-y", "mcp-lambdatest", "--transport=stdio"],
120+
"env": {
121+
"LT_USERNAME": "<LT_USERNAME>",
122+
"LT_ACCESS_KEY": "<LT_ACCESSKEY>"
123+
},
124+
"transportType": "stdio"
125+
}
126+
}
127+
}
128+
```
129+
130+
### 🚀 Getting Started
131+
132+
1. **Choose your connection method** (Remote or Local STDIO)
133+
2. **Update your configuration** with the new format above
134+
3. **Replace credentials** with your LambdaTest username and access key
135+
4. **Verify connection** by asking your AI assistant to list available MCP tools
136+
5. **Start using** LambdaTest tools directly within your AI assistant
137+
138+
### 📋 Available Tools
139+
140+
#### HyperExecute Tools
141+
142+
- **generateHyperExecuteYAML**: Generate YAML configurations for your test projects
143+
- **answerHyperExecuteQuery**: Get answers from HyperExecute documentation
144+
- **getHyperExecuteJobInfo**: Fetch detailed job information
145+
- **getHyperExecuteJobSessions**: Retrieve job session details
146+
147+
#### Migration Tools
148+
149+
- **upload_app**: Upload mobile applications for testing
150+
151+
### 🔗 Compatibility
152+
153+
This release is compatible with:
154+
155+
- Cline (Claude Dev)
156+
- Any MCP-compatible AI assistant
157+
- Both local and remote deployment scenarios
158+
159+
### 📞 Support
160+
161+
For questions or issues with the connection methods, please refer to our documentation or contact LambdaTest support.
162+
163+
---
164+
165+
**Note**: Make sure to update your configurations to use the new connection methods as the old SSE-based approach is no longer supported.

docs/hyperexecute-release-notes.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,12 @@ HyperExecute is an AI Native Test Orchestration Cloud Platform, enabling test au
4949
|----------------|--------------|
5050
| [Version 0.2.249](/support/docs/hyperexecute-cli-release-notes-0-2-249) | January 13, 2025|
5151

52+
### MCP releases
53+
#### May, 2025
54+
| Release Number | Release Date |
55+
|----------------|--------------|
56+
| [Version 1.0.0](/support/docs/hyperexecute-mcp-server-release-notes-1-0-0) | May 28, 2025|
57+
5258
### 2025 releases
5359
#### April, 2025
5460
| Release Number | Release Date |

0 commit comments

Comments
 (0)