Skip to content

Commit d7ae19b

Browse files
committed
[rb] add support to Firefox Options for environment capability
1 parent 411d877 commit d7ae19b

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

‎rb/CHANGES

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
4.1.0 (2021-11-18)
1+
4.1.0 (2021-11-22)
22
=========================
33

44
DevTools:

‎rb/lib/selenium/webdriver/firefox/options.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,12 @@ class Options < WebDriver::Options
2525

2626
KEY = 'moz:firefoxOptions'
2727

28-
# see: https://firefox-source-docs.mozilla.org/testing/geckodriver/Capabilities.html
28+
# see: https://developer.mozilla.org/en-US/docs/Web/WebDriver/Capabilities/firefoxOptions
2929
CAPABILITIES = {binary: 'binary',
3030
args: 'args',
3131
log: 'log',
3232
prefs: 'prefs',
33+
env: 'env',
3334
android_package: 'androidPackage',
3435
android_activity: 'androidActivity',
3536
android_device_serial: 'androidDeviceSerial',
@@ -62,6 +63,7 @@ def initialize(log_level: nil, **opts)
6263

6364
@options[:args] ||= []
6465
@options[:prefs] ||= {}
66+
@options[:env] ||= {}
6567
@options[:log] ||= {level: log_level} if log_level
6668

6769
process_profile(@options.delete(:profile))

‎rb/spec/unit/selenium/webdriver/firefox/options_spec.rb

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ module Firefox
4343
args: %w[foo bar],
4444
binary: '/foo/bar',
4545
prefs: {foo: 'bar'},
46+
env: {'FOO' => 'bar'},
4647
foo: 'bar',
4748
profile: profile,
4849
log_level: :debug,
@@ -55,6 +56,7 @@ module Firefox
5556
expect(opts.args.to_a).to eq(%w[foo bar])
5657
expect(opts.binary).to eq('/foo/bar')
5758
expect(opts.prefs[:foo]).to eq('bar')
59+
expect(opts.env['FOO']).to eq('bar')
5860
expect(opts.instance_variable_get('@options')[:foo]).to eq('bar')
5961
expect(opts.profile).to eq(profile)
6062
expect(opts.log_level).to eq(:debug)
@@ -90,6 +92,11 @@ module Firefox
9092
options.prefs[:foo] = 'bar'
9193
expect(options.prefs[:foo]).to eq('bar')
9294
end
95+
96+
it 'adds an ENV' do
97+
options.env['FOO'] = 'bar'
98+
expect(options.env['FOO']).to eq('bar')
99+
end
93100
end
94101

95102
describe '#log_level=' do
@@ -211,6 +218,7 @@ module Firefox
211218
args: %w[foo bar],
212219
binary: '/foo/bar',
213220
prefs: {foo: 'bar'},
221+
env: {'FOO' => 'bar'},
214222
foo: 'bar',
215223
profile: profile,
216224
log_level: :debug,
@@ -236,6 +244,7 @@ module Firefox
236244
key => {'args' => %w[foo bar],
237245
'binary' => '/foo/bar',
238246
'prefs' => {'foo' => 'bar'},
247+
'env' => {'FOO' => 'bar'},
239248
'profile' => 'encoded_profile',
240249
'log' => {'level' => 'debug'},
241250
'foo' => 'bar',

0 commit comments

Comments
 (0)