ChronoATX
Language
Request License / Free Trial

© 2026 ChronoATX. All rights reserved.

CHRONOATX KNOWLEDGE BASE

Frequently Asked Questions (FAQ)

Find answers to common questions about ChronoATX features, cross-platform automation, setup, licensing, and security.

A

ChronoATX is a next-generation, full-stack automated testing platform that enables seamless cross-platform testing across Web (browser), Desktop (Windows/macOS), and Mobile (iOS/Android) using a single script.

While tools like Playwright and Selenium are Web-only, and Appium is dedicated to mobile, ChronoATX can automate an entire end-to-end user journey within a single scenario—from Web login operations to detecting and interacting with desktop OS authentication dialogs, and verifying two-factor authentication and data synchronization on mobile apps. Furthermore, compared to conventional high-cost commercial test automation tools, it can significantly reduce annual licensing costs (with proven cost reductions of up to 70%).

Published: 2026.09.30 View Details
A

ChronoATX offers a “1-Month Free Trial” that lets you evaluate all features with zero restrictions.

For official adoption, we provide annual “Professional” and “Enterprise” licensing models tailored to your project scale and the number of execution devices. Rather than one-time purchases or node-locked licenses, our flexible plans scale alongside your team’s development needs to maximize your ROI.

Published: 2026.09.30 View Details
A

An Appium 2.x environment is required, along with either the Android SDK (for physical devices or emulators) or Xcode / iOS WebDriverAgent (for physical devices or simulators).

From the ChronoATX VS Code extension, you can connect to mobile devices within the same workspace and automate interactions using the same unified API methods as Web and Desktop (e.g., Mobile.ClickAsync, Mobile.InputAsync).

Published: 2026.09.30 View Details
A

Yes, QA professionals with no programming experience can intuitively create tests.

ChronoATX features an “Intelligent Recorder” that converts on-screen actions into scripts in real time. Simply perform standard operations in your browser or on desktop interfaces, and highly readable test code is generated automatically. Subsequent fine-tuning and data binding can also be performed effortlessly via the VS Code extension.

Published: 2026.09.30 View Details
A

Yes, it can be fully utilized in completely offline and internal closed network environments.

ChronoATX is designed as a portable solution and does not enforce connections to external clouds. Because test data and test scripts are never sent to external servers, it can be securely deployed and operated even in enterprise environments handling sensitive data or personal information, such as financial institutions, healthcare organizations, and defense-related sectors.

Published: 2026.09.30 View Details
A

Self-healing is a technology that allows tests to continue executing without interruption by automatically deducing and locating alternative elements, even when UI updates or HTML structure changes occur in the target application (such as DOM hierarchy shifts, attribute renaming, or modified CSS classes).

ChronoATX employs multi-dimensional matching that combines text labels, accessibility trees, and visual recognition. This prevents test breakage caused by UI revisions—a common challenge in traditional scripts reliant on XPath or fixed coordinates—and reduces script maintenance overhead by up to 60%.

Published: 2026.09.30 View Details
A

Yes, ChronoATX provides full integration with CI/CD environments.

We provide a lightweight CLI binary called “ChronoRunner” that supports headless execution. By integrating it into workflows such as GitHub Actions, Jenkins, or GitLab CI, you can schedule and run automated regression tests on pull requests or nightly builds. Once the tests are complete, HTML reports, screenshots, and execution videos are automatically generated.

Published: 2026.09.30 View Details
A

No, fixed-duration delays using await Task.Delay(…) are generally unnecessary and not recommended.

The timing of HTML parsing completion (DOMContentLoaded) and subsequent DOM re-rendering triggered by asynchronous communication (Ajax / Fetch) are distinct. Relying on fixed-second delays like Task.Delay(5000) causes test failures (flakiness) due to network latency and wastes test execution time.

The ChronoATX Runtime provides four smart waiting APIs that detect asynchronous operations driven by events and states. Choosing the right API for your scenario ensures fast, resilient test automation.

## 4 Approaches to Asynchronous Waiting
### 1. Wait For Network Idle
Use case: Waiting for all concurrent asynchronous API requests to complete (no network traffic for 500 ms or more) after performing actions like search, filtering, or page navigation.


// 企業名を入力して検索
await Web.ClickLinkAsync("依頼先");
await Web.InputByLabelAsync("企業名 / 業種 / 地域", "sell");
await Web.PressKeyAsync("Enter");

// ❌ 以前の書き方: 固定時間待機
// await Task.Delay(5000);

// ⭕ 推奨: 通信が完了した瞬間に即座に次へ進む
await Web.WaitForNetworkIdleAsync();
await Web.ClickButtonAsync("詳細を見る");

### 2. Wait For Specific API Response (Wait For Response)
Use case: Accurately waiting for a specific backend API response (e.g., HTTP 200) after actions like saving, signing in, or updating data.


// 方式 A: 操作後に特定の API レスポンス完了を待つ
await Web.ClickButtonAsync("サインイン");
await Web.WaitForResponseAsync("/api/auth/login", 200);

// 方式 B: レスポンスが極めて速い場合の競合(取りこぼし)を防ぐトリガー実行
await Web.RunAndWaitForResponseAsync(
    async () => await Web.ClickButtonAsync("保存する"),
    "/api/v1/products",
    expectedStatus: 200
);

### 3. Wait For Loading Disappearance / Specific Text Appearance (Wait For Text / Hidden)
Use case: Waiting for a “Processing…” spinner or overlay backdrop to disappear, or waiting for a new status text to appear.


// 「処理中...」やローディング遮蔽幕が消えるまで待機
await Web.ClickButtonAsync("提出する");
await Web.WaitForTextHiddenAsync("処理中...");

// 特定のステータス文字列が表示されるまで待機(デフォルト最大30秒)
await Web.WaitForTextAsync("発送待ち");

### 4. Custom Condition Polling (Wait Until)
Use case: Waiting for combined conditions or custom business logic and DOM state transitions.


// いずれかの完了ステータスが表示されるまで最大 15 秒間ポーリング
await Web.WaitUntilAsync(async () => {
    return await Web.IsTextVisibleAsync("受領済み") || await Web.IsTextVisibleAsync("完了");
}, timeoutMs: 15000, pollIntervalMs: 200);

### Best Practices (Notes)
Clicking newly appeared buttons or links: ChronoATX action APIs such as ClickButtonAsync and InputByLabelAsync include built-in Auto-waiting until the target element becomes visible and actionable. In most scenarios, you can interact with elements directly without writing explicit wait commands.

Assertions and verification: Verification methods like VerifyTextAsync and VerifyLabelValueAsync include a built-in 5-second self-healing retry mechanism. You can safely remove any Task.Delay calls placed immediately before assertions.

Published: 2026.08.20 View Details
A

When clicking elements such as <div> や <span>, there are two approaches depending on whether the target element contains display text.

1. When the <div> contains display text (Recommended)
You can directly use await Web.ClickButtonAsync(“Text”) or await Web.ClickLinkAsync(“Text”).

ChronoATX’s click APIs come with a built-in 3-stage automatic fallback mechanism:

A) Prioritizes searching for [<button> tags or elements with the role=”button” attribute
B) Searches for <a> tags
C) Final fallback: Automatically identifies and fires a click on any DOM element containing the specified text (<div>, <span>, <li>, etc.)


// 例: <div class="card-btn">ホーム</div> をクリックする場合
await Web.ClickButtonAsync("ホーム");

2. When the <div> does not contain text (Icons only, or specified via CSS selectors)
Combine and use Web.FindAsync() with ClickAsync().


// CSS セレクターで対象の div を取得してクリック
var myDiv = await Web.FindAsync("div.icon-close");
await myDiv.ClickAsync();

// 1 行で記述することも可能です
await (await Web.FindAsync("div.card-active")).ClickAsync();
Published: 2026.08.20 View Details
SUPPORT & CONTACT

Didn't find what you were looking for?

Our engineering team is here to assist with technical queries, PoCs, and trial deployments.