diff --git a/rb/lib/selenium/webdriver/bidi/network.rb b/rb/lib/selenium/webdriver/bidi/network.rb index 5cebd8967f2e1..cf028727c0dd2 100644 --- a/rb/lib/selenium/webdriver/bidi/network.rb +++ b/rb/lib/selenium/webdriver/bidi/network.rb @@ -124,6 +124,10 @@ def provide_response(**args) ) end + def set_cache_behavior(behavior, *contexts) + @bidi.send_cmd('network.setCacheBehavior', cacheBehavior: behavior, contexts: contexts) + end + def on(event, &) event = EVENTS[event] if event.is_a?(Symbol) @bidi.add_callback(event, &) diff --git a/rb/sig/lib/selenium/webdriver/bidi/network.rbs b/rb/sig/lib/selenium/webdriver/bidi/network.rbs index de3bbd1994d56..e660f684d9ffd 100644 --- a/rb/sig/lib/selenium/webdriver/bidi/network.rbs +++ b/rb/sig/lib/selenium/webdriver/bidi/network.rbs @@ -28,6 +28,8 @@ module Selenium def provide_response: -> Hash[nil, nil] + def set_cache_behavior: (String behavior, Array[BrowsingContext]) -> Hash[nil, nil] + def on: (Symbol event) { (?) -> untyped } -> Hash[nil, nil] end end diff --git a/rb/spec/integration/selenium/webdriver/bidi/network_spec.rb b/rb/spec/integration/selenium/webdriver/bidi/network_spec.rb index 7c2b63f4770dc..2819b0eafc0ab 100644 --- a/rb/spec/integration/selenium/webdriver/bidi/network_spec.rb +++ b/rb/spec/integration/selenium/webdriver/bidi/network_spec.rb @@ -176,6 +176,23 @@ class BiDi expect(source).to include('Hello World!') end end + + it 'sets the cache to bypass' do + reset_driver!(web_socket_url: true) do |driver| + browsing_context = BrowsingContext.new(driver).create + network = described_class.new(driver.bidi) + network.set_cache_behavior('bypass', browsing_context) + expect(network.set_cache_behavior('bypass', browsing_context)).to be_a(Hash) + end + end + + it 'sets the cache to default' do + reset_driver!(web_socket_url: true) do |driver| + browsing_context = BrowsingContext.new(driver).create + network = described_class.new(driver.bidi) + expect(network.set_cache_behavior('default', browsing_context)).to be_a(Hash) + end + end end end end