Skip to content

Commit 23366d7

Browse files
authored
Merge pull request LambdaTest#2414 from Private1647/stage
Scroll, Rename & GPS features
2 parents 3d5bc0b + 6d52972 commit 23366d7

File tree

9 files changed

+358
-1
lines changed

9 files changed

+358
-1
lines changed
186 KB
Loading
79.5 KB
Loading
82 KB
Loading
84.7 KB
Loading

docs/getting-started-with-kane-ai.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ import TabItem from '@theme/TabItem';
4343
></script>
4444
Testing shouldn’t slow innovation. KaneAI makes test automation as natural as writing a To Do list with no steep learning curves, no endless script maintenance.
4545

46-
Which KaneAI you can:
46+
With KaneAI you can:
4747

4848
- **Go from ideas to scripts in seconds** – Turn Jira tickets, PRDs, or plain text into ready-to-run test cases.
4949

docs/kaneai-gps-location.md

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
---
2+
id: kaneai-gps-location
3+
title: GPS location mocking for Mobile App Authoring
4+
hide_title: false
5+
sidebar_label: GPS Location
6+
description: Learn how to use GPS Location Override feature in KaneAI for testing location-based mobile app functionalities
7+
keywords:
8+
- lambdatest automation
9+
- lambdatest kaneai
10+
- kaneai mobile app
11+
- gps location
12+
- location override
13+
- geolocation testing
14+
url: https://www.lambdatest.com/support/docs/kaneai-gps-location/
15+
site_name: LambdaTest
16+
slug: kaneai-gps-location/
17+
---
18+
19+
<script type="application/ld+json"
20+
dangerouslySetInnerHTML={{ __html: JSON.stringify({
21+
"@context": "https://schema.org",
22+
"@type": "BreadcrumbList",
23+
"itemListElement": [{
24+
"@type": "ListItem",
25+
"position": 1,
26+
"name": "LambdaTest",
27+
"item": "https://www.lambdatest.com"
28+
},{
29+
"@type": "ListItem",
30+
"position": 2,
31+
"name": "Support",
32+
"item": "https://www.lambdatest.com/support/docs/"
33+
},{
34+
"@type": "ListItem",
35+
"position": 3,
36+
"name": "GPS location",
37+
"item": "https://www.lambdatest.com/support/docs/kaneai-gps-location/"
38+
}]
39+
})
40+
}}
41+
></script>
42+
43+
> This document provides detailed instructions for utilizing GPS Location Override feature in KaneAI's mobile app testing. It covers how to set GPS coordinates during session initialization to test location-based application behavior accurately.
44+
45+
## Overview
46+
47+
Testing location-based application behavior (such as geo-restricted content, regional UI, compliance flows, or location-aware features) is challenging when device GPS coordinates are dynamic or tied to the physical location of the tester.
48+
49+
The GPS Location Override feature solves this problem by allowing users to explicitly define latitude and longitude values during session initialization. This ensures consistent, repeatable, and deterministic testing of location-dependent scenarios on supported mobile devices.
50+
51+
## How To Use
52+
53+
### Select GPS location while Authoring App Test
54+
55+
While creating a test session, go to Advanced Settings and enable GPS location mocking option. Either include the location Coordinates or search for a particular location from the map. Ensure the coordinates fall within the allowed ranges:
56+
57+
- Longitude: -180 to 180
58+
- Latitude: -90 to 90
59+
60+
<img loading="lazy" src={require('../assets/images/kane-ai/features/gps/gps-advanced-settings.jpg').default} alt="gps-enabled" className="doc_img"/>
61+
62+
### Start the Session
63+
64+
1. Launch the session after providing the coordinates
65+
2. The device GPS location is mocked at session start
66+
3. The configured location remains active for the entire session of the test being authored.
67+
68+
69+
### Verify the Applied Location
70+
71+
GPS coordinates can be verified
72+
- Inside the running session by clicing Advanced Settings
73+
- On the Session Summary page after execution
74+
- During Edit Test, the coordinates used in authoring would be autoselected in playground
75+
76+
<img loading="lazy" src={require('../assets/images/kane-ai/features/gps/gps-in-session.png').default} alt="GPS-in-session" className="doc_img"/>
77+
78+
## Limitations
79+
80+
- GPS override is applied only during authoring session initialization
81+
- GPS coordinates cannot be changed while the session is running
82+
- Replay/Edit sessions reuse GPS values from the original session
83+
- Currently not supported for Mobile Browser sessions
84+
85+
## Troubleshooting
86+
87+
### Invalid Latitude or Longitude Error
88+
89+
**Issue:** Session fails to start due to a validation error.
90+
91+
**Cause:**
92+
- Longitude is less than -180 or greater than 180
93+
- Latitude is less than -90 or greater than 90
94+
95+
**Resolution:**
96+
- Verify that latitude and longitude values are within valid ranges
97+
- Ensure values are passed as valid numbers or numeric strings
98+
99+
100+
### Feature Not Working in Mobile Browser
101+
102+
**Issue:** GPS override Currently not suported for mobile browser testing.
103+
104+
**Reason:**
105+
- GPS Location Override is not currently supported for Mobile Browser sessions
106+
107+
**Workaround:**
108+
- Use Mobile App testing for GPS-dependent scenarios
109+
110+
---
111+
112+
> Have any feedback or request? Reach out to us via [[email protected]](mailto:[email protected]) and we would be happy to hear from you.

docs/kaneai-rename-instructions.md

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
---
2+
id: kaneai-rename-instructions
3+
title: Rename Slash Command Steps
4+
hide_title: false
5+
sidebar_label: Rename Steps
6+
description: Learn how to rename test steps in KaneAI for API, JS, Database, Network Assertion and Visual Comparison instructions
7+
keywords:
8+
- lambdatest automation
9+
- lambdatest kaneai
10+
- kaneai test steps
11+
- rename instructions
12+
- test step management
13+
- slash commands
14+
url: https://www.lambdatest.com/support/docs/kaneai-rename-instructions/
15+
site_name: LambdaTest
16+
slug: kaneai-rename-instructions/
17+
---
18+
19+
<script type="application/ld+json"
20+
dangerouslySetInnerHTML={{ __html: JSON.stringify({
21+
"@context": "https://schema.org",
22+
"@type": "BreadcrumbList",
23+
"itemListElement": [{
24+
"@type": "ListItem",
25+
"position": 1,
26+
"name": "LambdaTest",
27+
"item": "https://www.lambdatest.com"
28+
},{
29+
"@type": "ListItem",
30+
"position": 2,
31+
"name": "Support",
32+
"item": "https://www.lambdatest.com/support/docs/"
33+
},{
34+
"@type": "ListItem",
35+
"position": 3,
36+
"name": "GPS location",
37+
"item": "https://www.lambdatest.com/support/docs/kaneai-rename-instructions/"
38+
}]
39+
})
40+
}}
41+
></script>
42+
43+
Rename test steps for API, JS, Database, Network Assertion and Visual Comparison to improve clarity and consistency without affecting functionality.
44+
45+
---
46+
47+
## Overview
48+
49+
The **Rename Test Steps** feature allows users to change a test step’s name without changing how it works.
50+
51+
**Benefits:**
52+
- Improves readability of test steps
53+
- No impact on execution or instruction logic
54+
- Renamed step name stays even if instruction changes later
55+
- Works for Web and Mobile slash command instructions
56+
- The step names are updated even in the execution command logs.
57+
58+
---
59+
60+
## How to Use
61+
62+
1. Ensure the authoring session is running and the relevant step is visible.
63+
2. Pause the session. Renaming only works in "DRAFT" session state after session is Paused.
64+
3. Click on the step name to make it editable.
65+
4. Enter the new name and press **Enter** or click outside to save.
66+
5. Resume the session.
67+
68+
> **Note:** Only the step name changes; the instruction logic and behavior remain the same.
69+
70+
71+
<img loading="lazy" src={require('../assets/images/kane-ai/features/rename-instructions/rename_instruction.jpg').default} alt="rename instructions" className="doc_img"/>
72+
73+
---
74+
75+
## Limitations
76+
77+
- Supported instruction types:
78+
- **Web:** API, DB, JS, Visual comparison, Network assertion
79+
- **Mobile:** API, DB, JS, Visual comparison
80+
- Only the **step name** can be updated (max 255 characters)
81+
- Renaming inside Modules is not supported
82+
- Step rename history is not versioned
83+
- Special characters `{}` appear as `{{}}` in the generated code
84+
85+
<img loading="lazy" src={require('../assets/images/kane-ai/features/rename-instructions/summary_page.jpg').default} alt="rename summary page" className="doc_img"/>
86+
87+
---
88+
89+
## Troubleshooting
90+
91+
| Issue | Cause | Solution |
92+
|-------|-------|---------|
93+
| Step name not updated | Save action missed | Re-edit and save |
94+
| Step name resets after refresh | Network/session issue | Refresh page and retry |
95+
96+
---
97+
98+
> Have any feedback or request? Reach out to us via [[email protected]](mailto:[email protected]) and we would be happy to hear from you.

docs/kaneai-scroll-until-mobile.md

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
---
2+
id: kaneai-scroll-until-mobile
3+
title: Scroll Until Element for Mobile Authoring
4+
hide_title: false
5+
sidebar_label: Scroll Until Element
6+
description: Learn how to use Scroll Until Element feature in KaneAI to automate scrolling using natural language commands for mobile app testing
7+
keywords:
8+
- lambdatest automation
9+
- lambdatest kaneai
10+
- kaneai mobile app
11+
- scroll until element
12+
- natural language commands
13+
- mobile scrolling
14+
url: https://www.lambdatest.com/support/docs/kaneai-scroll-until-mobile/
15+
site_name: LambdaTest
16+
slug: kaneai-scroll-until-mobile/
17+
---
18+
19+
<script type="application/ld+json"
20+
dangerouslySetInnerHTML={{ __html: JSON.stringify({
21+
"@context": "https://schema.org",
22+
"@type": "BreadcrumbList",
23+
"itemListElement": [{
24+
"@type": "ListItem",
25+
"position": 1,
26+
"name": "LambdaTest",
27+
"item": "https://www.lambdatest.com"
28+
},{
29+
"@type": "ListItem",
30+
"position": 2,
31+
"name": "Support",
32+
"item": "https://www.lambdatest.com/support/docs/"
33+
},{
34+
"@type": "ListItem",
35+
"position": 3,
36+
"name": "Scroll Until Element",
37+
"item": "https://www.lambdatest.com/support/docs/kaneai-scroll-until-mobile/"
38+
}]
39+
})
40+
}}
41+
></script>
42+
43+
> This document provides a comprehensive guide on using the Scroll Until Element feature in KaneAI. It covers how to define scroll actions using simple natural language commands, eliminating the need for manual coordinate-based scripting for mobile app testing.
44+
45+
---
46+
47+
## Overview
48+
49+
In modern mobile and web applications, important elements are often located below the fold or deep within long, scrollable pages. Writing custom scroll logic or managing scroll coordinates manually can be fragile, difficult to maintain, and time-consuming.
50+
51+
The **Scroll Until Element** feature allows users to automate scrolling using **natural language commands**. Instead of controlling how to scroll, users simply describe the element they want to reach.
52+
53+
This feature helps by:
54+
- **Automatically locating elements** by scrolling until the target becomes visible
55+
- **Reducing complexity** by removing the need for technical selectors or manual scroll logic
56+
57+
---
58+
59+
## How-To Guide
60+
61+
### Identify the Target
62+
63+
Determine the element you need to reach based on its **visual representation**.
64+
65+
In natural language mode, elements can be referenced using:
66+
- Visible text (e.g., *"Login button"*)
67+
- Element type (e.g., *"input field"*)
68+
69+
> **Note:**
70+
> Natural language commands do **not** support technical selectors such as IDs, XPaths, or CSS attributes.
71+
> Always describe what is visibly present on the screen.
72+
73+
---
74+
75+
### Formulate the Command
76+
77+
Enter your command into the test editor using **action-oriented language**.
78+
Clearly specify what the agent should find and what action to perform once found.
79+
80+
**Examples:**
81+
- `"Scroll until search bar is visible and click on it."`
82+
- `"Scroll down until element with text 'Shipping Policy' is visible."`
83+
- `"Scroll inside a subsection until date input field and click on it."`
84+
85+
86+
---
87+
88+
## Use Cases
89+
90+
| Scenario | Example Natural Language Command |
91+
|--------|--------------------------------|
92+
| Visibility Check | `Scroll until search bar is visible and click on it.` |
93+
| Text Search | `Scroll down until element with text XYZ is visible.` |
94+
| Button Interaction | `Scroll until Submit button and click on it.` |
95+
| Subsection Navigation | `Scroll inside a subsection until date input field and click on it.` |
96+
| Dropdown Selection | `Scroll inside the dropdown until 'New option' and select it.` |
97+
98+
---
99+
100+
## Limitations
101+
102+
Please be aware of the following constraints in the current version.
103+
104+
---
105+
106+
### Mobile App Authoring
107+
108+
- **Scroll Limit**:
109+
Maximum of **20 scroll attempts** are performed. If the element is not found, the action fails.
110+
- **Horizontal Scrolling**:
111+
❌ Not supported (only vertical scrolling is available).
112+
- **Nested Containers**:
113+
❌ Scrolling inside specific container elements is not supported; only the main viewport can be scrolled.
114+
- **Directional Extremes**:
115+
❌ Commands such as *“Scroll to top”* or *“Scroll to bottom”* are not supported.
116+
117+
---
118+
119+
### Mobile Browser Authoring
120+
121+
- **Element Eligibility**:
122+
Applicable **only to interactable elements** (buttons, links, dropdowns, inputs).
123+
❌ Plain text or static labels are not supported.
124+
- **Native Popups**:
125+
❌ Scrolling inside native browser popups or system alerts is not supported.
126+
- **Horizontal Scrolling**:
127+
❌ Not supported.
128+
129+
---
130+
131+
## Troubleshooting
132+
133+
If you encounter execution issues, refer to the table below:
134+
135+
| Error Message / Behavior | Potential Cause | Solution |
136+
|------------------------|-----------------|----------|
137+
| Maximum Scroll Limit Reached | Element is beyond 20 scrolls or not present | Verify element visibility and ensure it appears within 20 scrolls |
138+
| Element Not Found | Non-interactable or plain text element (Mobile Browser) | Target a button, link, or input field instead |
139+
| Scroll Timeout | Element is inside a nested container (App Agent) | Use manual scroll steps if element is not in the main viewport |
140+
| Command Not Recognized | Usage of IDs, XPaths, or attributes | Rewrite using visible text or element type (e.g., "button") |
141+
142+
---
143+
144+
> Have any feedback or request? Reach out to us via [[email protected]](mailto:[email protected]) and we would be happy to hear from you.

sidebars.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1354,6 +1354,7 @@ module.exports = {
13541354
"kaneai-upload-and-download-files",
13551355
"kaneai-totp",
13561356
"kaneai-database",
1357+
"kaneai-rename-instructions",
13571358
],
13581359
},
13591360
{
@@ -1377,6 +1378,8 @@ module.exports = {
13771378
"kane-ai-mobile-app-capabilities",
13781379
"kane-ai-deeplink-support",
13791380
"kaneai-network-throttling",
1381+
"kaneai-gps-location",
1382+
"kaneai-scroll-until-mobile",
13801383
],
13811384
},
13821385
],

0 commit comments

Comments
 (0)