You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Python: capture the native element tree per action in trace mode #570
On a native Appium session, the Python adapter's trace actions carry a screenshot and nothing else: no element list, no locators, an empty A11y tab. The WebdriverIO service, Selenium (Node.js) and Nightwatch read the app's page source on every native action capture in trace mode (#569 for the latter two), so their native traces carry the element tree. Python is the one ✕ in the capability matrix's "Native app element list and accessibility tree per action (trace mode)" row.
Why it happens
instrumentation.py takes no per-action snapshot on a native app: the action-snapshot path is gated off for native sessions, so only the row screenshot is recorded and no page source is read.
What a fix needs
Read GET /session/:id/source on each capturing command of a native session in trace mode, through the guarded executor so it renders no row and lands in no wait poll.
Build the snapshot text and element locators from it. Core's fromPageSource (serializeMobileSnapshot plus generateAllElementLocators) does this in TypeScript; Python cannot import core, so either mirror it (with mirror-vectors.json cases) or have the backend build it, as it already does for other trace content Python cannot produce.
Take the platform from the session capabilities (platformName, flat or under appium:options), as core's nativeAppOf does.
Activity