A chrome custom tab is a chrome browser instance on an Android device. Appium tries to get available contexts by checking browser/webview processes on the device/application. It means even when the chrome custom tab has multiple tabs/windows, Appium probably can find a chrome instance (process) and attach to it.

To switch to another tab on the chrome instance, you need to manage the session as general WebDriver browser inside WebView context in Appium.

For example, when you have a a window_handle name named tab inside the chrome instance, you can switch to the tab as the below. (in Ruby)

 # Change the context to WebView (Attach to chromedriver session) driver.set_context('WEBVIEW_XXXX')  # Get available tabs/windows int he chrome instance driver.window_handles  # Change the tab/window in the "chrome" instance driver.switch_to.window('a window_handle name')  

It requires an extra step, but newer chrome browsers (and custom tab) behave so.


This free site is ad-supported. Learn more