Skip to content

fix(service): do not drain a page a native session does not have - #371

Merged
vishnuv688 merged 2 commits into
mainfrom
fix/350-no-page-drain-on-native
Sep 8, 2026
Merged

fix(service): do not drain a page a native session does not have#371
vishnuv688 merged 2 commits into
mainfrom
fix/350-no-page-drain-on-native

Conversation

@vishnuv688

@vishnuv688 vishnuv688 commented Sep 8, 2026

Copy link
Copy Markdown
Member

What & why

Type of change

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Polish (an improvement to an existing feature)
  • Breaking change (existing behavior changes for users)
  • Documentation
  • Internal (build, CI, dependencies, tooling)

Packages touched

  • shared (types and contracts)
  • core (framework-agnostic capture/reporting)
  • elements (published element/snapshot API — @wdio/elements)
  • service (WebdriverIO adapter)
  • nightwatch-devtools (Nightwatch adapter)
  • selenium-devtools (Selenium adapter)
  • selenium-devtools-py (Selenium Python adapter)
  • backend (server)
  • app (UI)
  • script (page-injected runtime)
  • trace (Trace mode)

Notes for reviewers

Screenshots / recordings

@greptile-apps

greptile-apps Bot commented Sep 8, 2026

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

The PR appears safe to merge; the previous mobile-web trace-loss finding is fully addressed and no new actionable failures were established.

Summary

  • Native app sessions now avoid page-side trace, snapshot, settling, performance, and viewport operations that require a document.
  • Appium browser sessions retain DOM trace capture, web snapshots, document settling, and page viewport metadata.
  • Tests cover native Android/iOS, Appium Chrome/Safari, vendor capability bags, action snapshots, viewport selection, and trace drains.
  • The previous finding is fully fixed: Appium browser sessions are no longer excluded from page drains.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart TD
  A[WebdriverIO session] --> B{Appium session?}
  B -- No --> C[Desktop web capture]
  B -- Yes --> D{Capabilities name a browser?}
  D -- Yes --> E[Appium mobile-web capture]
  D -- No --> F[Native-app capture]
  C --> G[DOM drains, web snapshots, page viewport]
  E --> G
  F --> H[Skip DOM drains and use native page source/window size]
Loading

Comment thread packages/service/src/session.ts Outdated
@vishnuv688 vishnuv688 linked an issue Sep 8, 2026 that may be closed by this pull request
@vishnuv688
vishnuv688 merged commit 9a7e886 into main Sep 8, 2026
9 checks passed
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.

Wasted Appium round trips: captureTrace runs on native sessions

1 participant