-
-
Notifications
You must be signed in to change notification settings - Fork 20
feat: enable webview context handling and command proxying in driver #131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: enable webview context handling and command proxying in driver #131
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR enables proper webview context handling and command proxying in the Appium Flutter Driver. It introduces context switching logic that determines when commands should be proxied to the underlying drivers (UIA2/XCUITest) versus handled natively, specifically for webview contexts.
- Adds webview context detection and proxying logic with proper state management
- Implements an "avoid proxy" list to handle specific commands that shouldn't be proxied in webview contexts
- Introduces proper proxy state management for webview vs native contexts
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
@timwy6 Can you please fix linting |
@mykola-mokhnach Thoughts? |
@timwy6 can you please add e2e test |
81bb019
to
6a9d0c2
Compare
Hi @saikrishna321 , |
## [1.3.0](v1.2.0...v1.3.0) (2025-08-18) ### Features * enable webview context handling and command proxying in driver ([#131](#131)) ([628bf35](628bf35))
🎉 This PR is included in version 1.3.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
This PR improves webview context switching by ensuring
proxyWebViewActive
is set correctly. This enables UIA2 to properly proxy webview commands to ChromeDriver on Android, while allowing XCUITest to handle both webview and native commands on iOS.It also adds an “avoid proxy” list (referenced from the Appium Flutter Driver repo) to better handle specific commands when in a webview context.
The changes have been tested thoroughly with Flutter, native, and webview contexts — including multiple context switches on both iOS and Android — with no issues observed.
This addresses the issue here: #118