Skip to content

Commit 14e1972

Browse files
committed
Accept :service_log_path for Chrome in Ruby. Fixes issue 3475.
1 parent 9ec7752 commit 14e1972

File tree

3 files changed

+20
-5
lines changed

3 files changed

+20
-5
lines changed

rb/lib/selenium/webdriver/chrome/bridge.rb

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ def initialize(opts = {})
1111
if opts.has_key?(:url)
1212
url = opts.delete(:url)
1313
else
14-
@service = Service.default_service
14+
@service = Service.default_service(*extract_service_args(opts))
1515
@service.start
1616

1717
url = @service.uri
@@ -102,6 +102,16 @@ def create_capabilities(opts)
102102
caps
103103
end
104104

105+
def extract_service_args(opts)
106+
args = []
107+
108+
if opts.has_key?(:service_log_path)
109+
args << "--log-path=#{opts.delete(:service_log_path)}"
110+
end
111+
112+
args
113+
end
114+
105115
end # Bridge
106116
end # Chrome
107117
end # WebDriver

rb/lib/selenium/webdriver/chrome/service.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@ def self.executable_path=(path)
2929
@executable_path = path
3030
end
3131

32-
def self.default_service
33-
new executable_path, PortProber.above(DEFAULT_PORT)
32+
def self.default_service(*extra_args)
33+
new executable_path, PortProber.above(DEFAULT_PORT), *extra_args
3434
end
3535

36-
def initialize(executable_path, port)
36+
def initialize(executable_path, port, *extra_args)
3737
@uri = URI.parse "http://#{Platform.localhost}:#{port}"
38-
server_command = [executable_path, "--port=#{port}"]
38+
server_command = [executable_path, "--port=#{port}", *extra_args]
3939

4040
@process = ChildProcess.build(*server_command)
4141
@socket_poller = SocketPoller.new Platform.localhost, port, START_TIMEOUT

rb/spec/unit/selenium/webdriver/chrome/bridge_spec.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,11 @@ module Chrome
117117

118118
Bridge.new(:http_client => http, :desired_capabilities => custom_caps, :args => %w[baz])
119119
end
120+
121+
it 'accepts :service_log_path' do
122+
Service.should_receive(:default_service).with("--log-path=/foo/bar")
123+
Bridge.new(:http_client => http, :service_log_path => "/foo/bar")
124+
end
120125
end
121126

122127
end # Chrome

0 commit comments

Comments
 (0)