Skip to content

docs(app-automation): fix broken HyperExecute CLI flags and SmartUI visual regression nav - #3430

Open
chaitanyas-maker wants to merge 1 commit into
LambdaTest:stagefrom
chaitanyas-maker:docs/xcui-espresso-cli-flags-and-smartui-nav
Open

docs(app-automation): fix broken HyperExecute CLI flags and SmartUI visual regression nav#3430
chaitanyas-maker wants to merge 1 commit into
LambdaTest:stagefrom
chaitanyas-maker:docs/xcui-espresso-cli-flags-and-smartui-nav

Conversation

@chaitanyas-maker

Copy link
Copy Markdown
Contributor

Raised from the Slack thread on the XCUI sharding page. Reported by Rishabh Singh (CLI flags) and Shyamal Makwana (naming and Espresso/XCUI inconsistency).

1. HyperExecute CLI credential flags were broken

The reported page (Sharding for XCUI) documented --u / --k. The CLI is cobra/pflag based and exposes -u, --user and -k, --key. I downloaded the current CLI and confirmed --u is rejected outright:

$ ./hyperexecute --u my_user_name --k xyz123abc --verbose -i hyperexecute.yaml
Error: unknown flag: --u

While checking, I found the Espresso sharding page had a different but worse variant, -user / -key. That one does not error. pflag reads -user as shorthand -u with value ser, then treats the real username as a command:

$ ./hyperexecute -user my_user_name -key xyz123abc --verbose -i hyperexecute.yaml
Error: unknown command "my_user_name" for "HyperExecute"

Both now use -u / -k, verified to parse (they reach authentication rather than failing at flag parsing).

This was the full extent of the problem. I scanned every HyperExecute invocation in docs/ and static/docs/: these two pages (plus their static/docs/ mirrors) were the only ones out of step. The other 314 invocations already use the valid --user / --key. The -apiKey on the Katalon page belongs to katalonc, not HyperExecute, so it is correct as-is and left alone.

2. Sidebar said "XCUI" instead of a visual regression name

The XCUI visual regression page showed up in the nav as just XCUI.

sidebars.js already had label: "SmartUI Visual Regression" (set in Feb 2026), but it never took effect. Docusaurus resolves a doc item label as:

label: sidebarLabel ?? item.label ?? title   // plugin-content-docs/lib/props.js

Frontmatter sidebar_label wins over the sidebars.js label, so the earlier fix was a silent no-op. Removing the frontmatter override lets each sidebar use its own context-appropriate label:

Location Before After
XCUI Testing XCUI SmartUI Visual Regression
SmartUI > Native Apps XCUI XCUITest

3. Espresso visual regression was missing from the Espresso nav

To answer the question in the thread directly: the Espresso page exists and the support is real. It is a ~600 line guide, and the SDK it documents (io.github.lambdatest:lambdatest-espresso:1.0.1) is published on Maven Central and is the current release. Nothing needs to be built.

The inconsistency was purely navigation. The page was only reachable from SmartUI > Native Apps, while the XCUI equivalent was linked from both SmartUI and XCUI Testing. Added the matching entry, so both sections now end with "SmartUI Visual Regression".

Still open: capability RD/VD badges

The third point in the thread, that Espresso Supported Capabilities lacks the Real Device / Virtual Device badges XCUI has, is not in this PR.

It is real: XCUI badges nearly every capability, Espresso badges exactly one (networkProfile). The components are already imported in the Espresso page, so it is a small edit. 18 of Espresso 22 capabilities also appear in the XCUI table, so the badges could be mirrored.

I have left it out because those badges are product facts about Android emulator support, and there is no source of truth in the repo to derive them from. Mirroring iOS badges onto Android would be guessing. Happy to apply them as soon as someone confirms which Espresso capabilities work on virtual devices.

🤖 Generated with Claude Code

https://claude.ai/code/session_01DdZjipHk3bGHmZBvwoTXvi

…av labels

Three fixes, all verified against the real CLI and the installed Docusaurus.

1. HyperExecute CLI credentials flags.

   The XCUI sharding page documented `--u` / `--k`. The CLI is cobra/pflag
   based and exposes `-u, --user` and `-k, --key`, so `--u` is rejected
   outright:

       $ ./hyperexecute --u my_user_name --k xyz123abc ...
       Error: unknown flag: --u

   The Espresso sharding page documented `-user` / `-key`, which is worse
   because it does not error. pflag reads `-user` as shorthand `-u` with
   the value `ser`, then treats the real username as a command:

       $ ./hyperexecute -user my_user_name -key xyz123abc ...
       Error: unknown command "my_user_name" for "HyperExecute"

   Both now use `-u` / `-k`, which parse correctly (verified: they reach
   authentication instead of failing at flag parsing). A scan of docs/ and
   static/docs/ confirms these were the only two pages out of step; the
   remaining 314 invocations already use `--user` / `--key`. The `-apiKey`
   in the Katalon page belongs to `katalonc`, not HyperExecute, and is left
   alone.

2. SmartUI visual regression sidebar label.

   The XCUI visual regression page appeared in the sidebar as just "XCUI".
   sidebars.js already set `label: "SmartUI Visual Regression"`, but that
   had no effect: Docusaurus resolves a doc item's label as

       label: sidebarLabel ?? item.label ?? title

   (plugin-content-docs/lib/props.js), so the frontmatter `sidebar_label`
   won. Removing the frontmatter override lets each sidebar supply its own
   context-appropriate label: "SmartUI Visual Regression" under XCUI
   Testing, and "XCUITest" under SmartUI > Native Apps.

3. Espresso visual regression was missing from the Espresso nav.

   The page exists and is complete, but was only reachable from
   SmartUI > Native Apps, while the XCUI equivalent was also linked from
   XCUI Testing. Added the matching entry so both frameworks are
   discoverable the same way.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DdZjipHk3bGHmZBvwoTXvi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant