File tree Expand file tree Collapse file tree 5 files changed +26
-7
lines changed
integration/selenium/webdriver/spec_support Expand file tree Collapse file tree 5 files changed +26
-7
lines changed Original file line number Diff line number Diff line change @@ -94,8 +94,8 @@ def self.for(*args)
94
94
# @return [Logger]
95
95
#
96
96
97
- def self . logger
98
- @logger ||= WebDriver ::Logger . new
97
+ def self . logger ( ** opts )
98
+ @logger ||= WebDriver ::Logger . new ( 'Selenium' , ** opts )
99
99
end
100
100
end # WebDriver
101
101
end # Selenium
Original file line number Diff line number Diff line change @@ -48,9 +48,10 @@ class Logger
48
48
#
49
49
# @param [String] progname Allow child projects to use Selenium's Logger pattern
50
50
#
51
- def initialize ( progname = 'Selenium' )
51
+ def initialize ( progname = 'Selenium' , ignored : nil )
52
52
@logger = create_logger ( progname )
53
- @ignored = [ ]
53
+ @ignored = Array ( ignored )
54
+ @first_warning = false
54
55
end
55
56
56
57
#
@@ -94,6 +95,13 @@ def ignore(id)
94
95
# @yield see #deprecate
95
96
#
96
97
def warn ( message , id : [ ] )
98
+ unless @first_warning
99
+ @first_warning = true
100
+ warn ( "Details on how to use and modify Selenium logger:\n " , id : [ :logger_info ] ) do
101
+ "https://selenium.dev/documentation/webdriver/troubleshooting/logging#ruby\n "
102
+ end
103
+ end
104
+
97
105
id = Array ( id )
98
106
return if ( @ignored & id ) . any?
99
107
Original file line number Diff line number Diff line change @@ -28,7 +28,6 @@ def initialize
28
28
@create_driver_error_count = 0
29
29
30
30
populate_from_bazel_target
31
- WebDriver . logger
32
31
33
32
@driver = ENV . fetch ( 'WD_SPEC_DRIVER' , :chrome ) . to_sym
34
33
@driver_instance = nil
Original file line number Diff line number Diff line change 22
22
module Selenium
23
23
module WebDriver
24
24
describe Logger do
25
- subject ( :logger ) { Logger . new ( 'Selenium' ) }
25
+ subject ( :logger ) { Logger . new ( 'Selenium' , ignored : [ :logger_info ] ) }
26
26
27
27
around do |example |
28
28
debug = $DEBUG
@@ -37,6 +37,12 @@ module WebDriver
37
37
msg = /WARN NotSelenium message/
38
38
expect { other_logger . warn ( 'message' ) } . to output ( msg ) . to_stdout_from_any_process
39
39
end
40
+
41
+ it 'does not log info from constructor' do
42
+ expect {
43
+ Logger . new ( 'Selenium' )
44
+ } . not_to output ( /.+/ ) . to_stdout_from_any_process
45
+ end
40
46
end
41
47
42
48
describe '#level' do
@@ -79,6 +85,12 @@ module WebDriver
79
85
end
80
86
81
87
describe '#warn' do
88
+ it 'logs info on first warning but not second' do
89
+ logger = Logger . new ( 'Selenium' )
90
+ expect { logger . warn ( 'first' ) } . to output ( /:logger_info/ ) . to_stdout_from_any_process
91
+ expect { logger . warn ( 'second' ) } . not_to output ( /:logger_info/ ) . to_stdout_from_any_process
92
+ end
93
+
82
94
it 'logs with String' do
83
95
expect { logger . warn "String Value" } . to output ( /WARN Selenium String Value/ ) . to_stdout_from_any_process
84
96
end
Original file line number Diff line number Diff line change @@ -43,7 +43,7 @@ def with_env(hash)
43
43
c . define_derived_metadata do |meta |
44
44
meta [ :aggregate_failures ] = true
45
45
end
46
- Selenium ::WebDriver . logger
46
+ Selenium ::WebDriver . logger ( ignored : [ :logger_info ] )
47
47
48
48
c . include Selenium ::WebDriver ::UnitSpecHelper
49
49
You can’t perform that action at this time.
0 commit comments