Skip to content

[Req-81] Playwright-Selenium Dual-Driver Implementation#670

Open
nasif-z wants to merge 4 commits intoplaywright-asyncfrom
req-81-playwright-selenium-dual-driver
Open

[Req-81] Playwright-Selenium Dual-Driver Implementation#670
nasif-z wants to merge 4 commits intoplaywright-asyncfrom
req-81-playwright-selenium-dual-driver

Conversation

@nasif-z
Copy link
Collaborator

@nasif-z nasif-z commented Mar 3, 2026

Runtime Parameter: BROWSER_DRIVER

  • This runtime parameter can be set to the value of either playwright or selenium
  • Ensures all web actions in the test case will be executed through the chosen driver in this parameter, regardless of what was chosen in the steps
  • Example: test case contains steps all of which use selenium action - BROWSER_DRIVER is set to playwright - all those actions will be converted to playwright action internally by Node at runtime

Optional Parameter: browser driver

This works similarly to the runtime parameter above but this takes the highest priority when both parameters are in place. This is meant to override the driver preference only for certain actions, allowing the user to have fine-grained driver selection for their steps even when using the runtime parameter to set a global driver preference.

  • browser driver | optional parameter | playwright or selenium
  • The above row can be added to any web action and it will convert it to an action of the driver in the parameter
  • Example: if the action is selenium action - and if this optional parameter is set to playwright - the action will be converted to playwright action internally by Node

Seamless driver switching

  • Any browser launched with Selenium will be automatically connected to a Playwright instance in the background
  • Any browser launched with Playwright will be automatically connected to a Selenium instance in the background
  • This allows playwright action to run on Selenium-launched browsers and selenium action to run on Playwright-launched browsers
  • Only works on Chromium-based browsers since it uses Chrome DevTools Protocol (CDP) to establish a remote debugging bridge connection
  • Simplified diagram on how this works:
image

@nasif-z nasif-z requested a review from sazid March 3, 2026 05:50
@nasif-z nasif-z self-assigned this Mar 3, 2026
@nasif-z nasif-z added enhancement New feature or request action-web node-internals feature and removed enhancement New feature or request labels Mar 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant