Skip to content
Open
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
8 changes: 6 additions & 2 deletions docs/kane-ai-command-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,13 @@ If you prefer, you can also set custom wait timeouts directly in the step menu:

1. Click the step menu
2. Select **Step Timeout**
3. Enter your preferred timeout value (up to 300 seconds)
3. Enter your preferred timeout value (min 1 second, max 300 seconds)

Use custom wait timeout when dealing with slow page loads or dynamic content.
Use custom wait timeout when dealing with slow page loads or dynamic content. Step Timeout is a dynamic ceiling — the step proceeds as soon as the element is ready and only uses the extra time on genuinely slow loads.

:::note
Step Timeout is supported across **Web**, **Mobile Web**, and **App (Android and iOS)** testing.
:::

**When to Use Explicit & Custom Waits**

Expand Down
14 changes: 14 additions & 0 deletions docs/kaneai-app-test-writing-guidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,20 @@ Example:
- `Wait for 3 seconds`
- `Assert confirmation text is visible`

### Step Timeout (per-step wait)

By default, each App step waits up to **10 seconds** for its target element to appear. On slow-loading screens, you can override this on a **per-step** basis instead of adding fixed `wait` steps:

1. Click the **three-dot (⋯) menu** on the step.
2. Select **Step Timeout**.
3. Enter the timeout value in seconds (min **1**, max **300**) and save the step.

Step Timeout is a **dynamic ceiling** — the step proceeds as soon as the element is ready and only uses the extra time on genuinely slow loads. It applies to element-based interactions (Tap/Click, Type/Input, Search, Clear) and has no effect on fixed `wait` steps, assertions, or API steps. Leaving it unset keeps the default 10-second behavior.

:::note
Step Timeout is supported on KaneAI App automation for **Android and iOS** real devices, bringing App testing in line with Web and Mobile Web, which already support per-step timeouts.
:::

## Scroll and Wait Pattern

If scrolling is needed before performing an action:
Expand Down
6 changes: 5 additions & 1 deletion docs/kaneai-kb-dynamic-content-waits-and-page-state.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ For individual steps that need more time, set a custom timeout via the step menu

1. Click the **step menu** (three dots)
2. Select **Step Timeout**
3. Enter your timeout value (up to 300 seconds)
3. Enter your timeout value (min **1** second, max **300** seconds; default is **10** seconds when unset)

**When to use custom timeout:**
- Waiting for file uploads to complete
Expand All @@ -91,6 +91,10 @@ For individual steps that need more time, set a custom timeout via the step menu
Prefer **custom step timeout** over explicit waits when you're waiting for a specific element to appear. Custom timeouts are dynamic — they proceed as soon as the element is ready, while explicit waits always wait the full duration.
:::

:::note Supported platforms
Step Timeout is available for **Web**, **Mobile Web**, and **App (Android and iOS)** testing. It applies only to element-based interactions (click, type, search, clear); fixed `wait` steps and assertions are unaffected.
:::

## Real-World Dynamic Content Scenarios

### Scenario: Loading Spinner After Form Submit
Expand Down