Skip to content

Commit e69d5c5

Browse files
authored
[rb][BiDi] Add Browser context activate command (#15365)
Add activate method to browser context
1 parent ef4b82b commit e69d5c5

File tree

3 files changed

+18
-0
lines changed

3 files changed

+18
-0
lines changed

rb/lib/selenium/webdriver/bidi/browsing_context.rb

+5
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,11 @@ def set_viewport(context_id: nil, width: nil, height: nil, device_pixel_ratio: n
104104
def handle_user_prompt(context_id, accept: true, text: nil)
105105
@bidi.send_cmd('browsingContext.handleUserPrompt', context: context_id, accept: accept, text: text)
106106
end
107+
108+
def activate(context_id: nil)
109+
context_id ||= @bridge.window_handle
110+
@bidi.send_cmd('browsingContext.activate', context: context_id)
111+
end
107112
end
108113
end # BiDi
109114
end # WebDriver

rb/sig/lib/selenium/webdriver/bidi/browsing_context.rbs

+2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ module Selenium
1010

1111
def handle_user_prompt: (String context, bool accept, String text) -> untyped
1212

13+
def activate: (String? context_id) -> Hash[nil, nil]
14+
1315
def navigate: (String url, String? context_id) -> void
1416

1517
def set_viewport: (String context_id, Integer width, Integer height, Float device_pixel_ratio) -> Hash[nil, nil]

rb/spec/integration/selenium/webdriver/bidi/browsing_context_spec.rb

+11
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,17 @@ class BiDi
115115
expect(driver.page_source).to include('goodbye')
116116
end
117117
end
118+
119+
it 'activates a browser context' do
120+
reset_driver!(web_socket_url: true) do |driver|
121+
browsing_context = described_class.new(driver)
122+
browsing_context.create
123+
124+
expect(driver.execute_script('return document.hasFocus();')).to be_falsey
125+
browsing_context.activate
126+
expect(driver.execute_script('return document.hasFocus();')).to be_truthy
127+
end
128+
end
118129
end
119130
end # BiDi
120131
end # WebDriver

0 commit comments

Comments
 (0)