Skip to content
Merged

Stage #3096

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
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
25 changes: 25 additions & 0 deletions docs/kane-ai-drag-drop.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,23 @@ You can author a drag step in two ways:
- **Natural Language (NL)** — describe the drag in plain English (e.g. `drag "Card A" to "Column B"`).
- **Manual Interaction** — perform the gesture on the device or browser viewport and have it captured as a step.

## Drag and Drop vs Click and Drag

KaneAI supports two distinct drag interactions. They look similar but behave differently, and they are **not interchangeable**:

- **Drag and Drop** — the element is first **long-pressed** to pick it up, and only then moved to the target. This is the standard gesture for moving items between containers and works on **all platforms**.
- **Click and Drag** — the element is pressed and moved **immediately, without any long press**. This is how interactions such as sliders, canvas drawing, and element resizing work, and it is available on **Desktop Web only**.

| | Drag and Drop | Click and Drag |
| --- | --- | --- |
| **Gesture** | Long press on the element first, then move it to the target | Press and move in one continuous motion — no long press |
| **Platforms** | Desktop Web, Android App, iOS App, Mobile Web | Desktop Web only |
| **Typical scenarios** | Kanban cards, list reordering, container-to-container transfer | Sliders, canvas drawing, element resizing, range selection |

:::note
If a drag step fails on an element that doesn't respond to a long press (for example a slider thumb or a canvas), the element likely expects **Click and Drag** rather than Drag and Drop. Click and Drag has its own constraints — see [Limitations](#limitations).
:::


## Supported Platforms

Expand Down Expand Up @@ -190,13 +207,21 @@ Use Manual Interaction to adjust date-range sliders, resize chart panels, and re
- **Cross-context dragging** — drags between iframes or shadow DOMs are not supported.
- **Multi-element dragging** — cannot drag multiple elements simultaneously.
- **Advanced NL** (e.g., `drag X up by 50px`, offset-based reorder) — on the roadmap; currently rejected with a graceful error.
- **Click and Drag via NL** — not supported as a natural language test step; supported only via Manual Interaction. Desktop Web only.
- **Click and Drag speed** — executes slowly by design so the dragged element stays in focus during the movement; faster execution could cause the element to lose focus mid-drag.
- **NL slider authoring** — not supported. Use Manual Interaction.
- **NL confirmation gestures** (slide-to-confirm) — not supported. Use Manual Interaction.
- **Drag and drop on canvas-based elements via NL** — canvas elements rely on custom rendering; use Manual Interaction.
- **Editing manual drag steps** — source/target locators and step-level config can be edited; the drag vector and gesture timing are immutable to preserve replay fidelity.

## FAQs

**What is the difference between Drag and Drop and Click and Drag?**
Drag and Drop long-presses the element to pick it up before moving it, and works on all platforms. Click and Drag presses and moves the element immediately without a long press, and is available on Desktop Web only. See [Drag and Drop vs Click and Drag](#drag-and-drop-vs-click-and-drag).

**Why is my Click and Drag step slow?**
This is expected. Click and Drag executes deliberately slowly to keep the dragged element in focus throughout the movement — a faster gesture could cause the element to lose focus mid-drag and fail the step.

**Can I author a slider drag with natural language?**
No. Sliders have moving targets that NL cannot resolve reliably. Use Manual Interaction to capture the slider gesture directly. The captured step replays at ≥ 95% success rate across devices.

Expand Down
14 changes: 9 additions & 5 deletions docs/kaneai-scroll-until-mobile.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ keywords:
- scroll until element
- natural language commands
- mobile scrolling
- horizontal scrolling
- nested container scrolling
url: https://www.testmuai.com/support/docs/kaneai-scroll-until-mobile/
site_name: TestMu AI
slug: kaneai-scroll-until-mobile/
Expand Down Expand Up @@ -95,6 +97,8 @@ Clearly specify what the agent should find and what action to perform once found
| Button Interaction | `Scroll until Submit button and click on it.` |
| Subsection Navigation | `Scroll inside a subsection until date input field and click on it.` |
| Dropdown Selection | `Scroll inside the dropdown until 'New option' and select it.` |
| Horizontal Scrolling (Mobile App) | `Scroll right inside the carousel until 'Best Sellers' is visible.` |
| Nested Container (Mobile App) | `Scroll inside the reviews section until 'Load more' button and click on it.` |

---

Expand All @@ -106,12 +110,12 @@ Please be aware of the following constraints in the current version.

### Mobile App Authoring

:::tip Now Supported
Mobile app authoring now supports **horizontal scrolling** and **scrolling inside nested containers** (element scrolling). You can scroll left or right — for example inside carousels — and scroll within specific container elements such as dropdowns, lists, and subsections instead of only the main viewport.
:::

- **Scroll Limit**:
Maximum of **20 scroll attempts** are performed. If the element is not found, the action fails.
- **Horizontal Scrolling**:
❌ Not supported (only vertical scrolling is available).
- **Nested Containers**:
❌ Scrolling inside specific container elements is not supported; only the main viewport can be scrolled.
- **Directional Extremes**:
❌ Commands such as *“Scroll to top”* or *“Scroll to bottom”* are not supported.

Expand All @@ -137,7 +141,7 @@ If you encounter execution issues, refer to the table below:
|------------------------|-----------------|----------|
| Maximum Scroll Limit Reached | Element is beyond 20 scrolls or not present | Verify element visibility and ensure it appears within 20 scrolls |
| Element Not Found | Non-interactable or plain text element (Mobile Browser) | Target a button, link, or input field instead |
| Scroll Timeout | Element is inside a nested container (App Agent) | Use manual scroll steps if element is not in the main viewport |
| Scroll Timeout | Element is inside a nested container that was not specified in the command | Name the container in the instruction (e.g., "Scroll inside the reviews section until ...") |
| Command Not Recognized | Usage of IDs, XPaths, or attributes | Rewrite using visible text or element type (e.g., "button") |

---
Expand Down
22 changes: 22 additions & 0 deletions docs/kaneai-test-run-instance-view.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ keywords:
- root cause analysis
- test debugging
- test manager
- auto-heal visibility
- share test run
url: https://www.testmuai.com/support/docs/kaneai-test-run-instance-view/
site_name: TestMu AI
slug: kaneai-test-run-instance-view/
Expand Down Expand Up @@ -90,6 +92,12 @@ Steps that include sub-actions - such as loops, conditionals, or JavaScript snip

<img loading="lazy" src={require('../assets/images/kane-ai/features/new-test-run-instance/test-run-instance-quick-view.png').default} alt="test-instance-steps-panel" className="doc_img"/>

#### Auto-Heal Visibility

When [Auto-Heal](/support/docs/kaneai-auto-heal/) recovers a step during execution, that step displays an **auto-heal indicator** icon next to its execution duration in the steps panel. This gives you clear, step-level visibility into exactly which steps were healed in a run — without digging through execution logs.

<img loading="lazy" src={require('../assets/images/kane-ai/features/new-test-run-instance/test-run-instance-auto-heal-step.png').default} alt="auto-heal-indicator-on-step" className="doc_img"/>

#### Autoplay Steps

Click the **Autoplay Steps** button at the top of the steps panel to automatically walk through each step in sequence. As each step is highlighted, the center panel updates to show the corresponding screenshot captured during execution. This provides a visual replay of the entire test execution without needing to click through each step manually.
Expand Down Expand Up @@ -173,6 +181,20 @@ Click the **View tests** button in the top-right corner to open a panel listing

<img loading="lazy" src={require('../assets/images/kane-ai/features/new-test-run-instance/test-run-instance-tests-listing.png').default} alt="navigate-between-tests" className="doc_img"/>

## Share a Test Run Instance

You can share a test run instance page publicly with stakeholders — including people who do not have a <BrandName /> account. Click the **Share** icon in the top-right corner of the instance view to open the share dialog.

<img loading="lazy" src={require('../assets/images/kane-ai/features/new-test-run-instance/test-run-instance-share.png').default} alt="share-test-run-instance" className="doc_img"/>

The share dialog provides the following options:

- **Expiry Duration** - Choose how long the shared link remains accessible (for example, **View: 7 Days**). After the link expires, it can no longer be opened.
- **Email ID(s)** - Enter one or more email addresses and click **Invite** to send the link directly, with an optional **Message** for context.
- **Copy Link** - Copy a shareable link to the clipboard and distribute it yourself.

Anyone with an active shared link can view the test run instance — including the steps, screenshots, and execution details — until the link expires.

---

## Limitations
Expand Down
Loading