diff --git a/.changeset/native-network-interceptor-adapters.md b/.changeset/native-network-interceptor-adapters.md new file mode 100644 index 00000000..60152ee2 --- /dev/null +++ b/.changeset/native-network-interceptor-adapters.md @@ -0,0 +1,6 @@ +--- +'@wdio/selenium-devtools': minor +'@wdio/nightwatch-devtools': minor +--- + +Capture a native app's network in the Network tab through the appium-interceptor plugin, as the WebdriverIO service does. When the session's capabilities set `appium:intercept: true` and Appium runs with `--use-plugins=appium-interceptor`, each request the plugin's proxy recorded is listed with method, URL, status, headers and bodies, in live and trace mode, and lands in the per-test trace of the test that made it. A new session, including one that replaces the previous one mid-run, gets its own listener. Without the plugin the session runs as before and a warning is logged. diff --git a/.changeset/native-network-interceptor.md b/.changeset/native-network-interceptor.md new file mode 100644 index 00000000..603d285c --- /dev/null +++ b/.changeset/native-network-interceptor.md @@ -0,0 +1,5 @@ +--- +'@wdio/devtools-service': minor +--- + +Capture a native app's network in the Network tab through the appium-interceptor plugin. A native Appium session has no document and no BiDi network events, so its requests were never visible. When the session sets `appium:intercept: true` and Appium runs with `--use-plugins=appium-interceptor`, the service now lists each request the plugin's proxy recorded, with method, URL, status, headers and bodies, in live and trace mode. Without the plugin the session runs as before and a warning is logged. diff --git a/CLAUDE.md b/CLAUDE.md index e06da11a..533471c9 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -274,7 +274,7 @@ Documented divergences from the conventions above. They exist today as debt to b - **Network has three sources, and the page's Resource Timing is the floor.** BiDi (all four adapters) and Nightwatch's Chrome performance log are driver-side and carry headers and status. The page collector carries two: its patched `fetch`/`XMLHttpRequest` (the only source with bodies) and the document's Resource Timing buffer (`script/src/collectors/resourceTiming.ts`): every load with timing phases and size, a status on Chromium only, never headers. Resource Timing is the only network source a browser without BiDi has, which is Safari and every Appium session (Appium's BiDi reference lists `session.*` alone). The collector reads the buffer at construction, which is what covers loads made before a `