File tree Expand file tree Collapse file tree
integration/selenium/webdriver/spec_support Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -94,8 +94,8 @@ def self.for(*args)
9494 # @return [Logger]
9595 #
9696
97- def self . logger
98- @logger ||= WebDriver ::Logger . new
97+ def self . logger ( ** opts )
98+ @logger ||= WebDriver ::Logger . new ( 'Selenium' , ** opts )
9999 end
100100 end # WebDriver
101101end # Selenium
Original file line number Diff line number Diff line change @@ -48,9 +48,10 @@ class Logger
4848 #
4949 # @param [String] progname Allow child projects to use Selenium's Logger pattern
5050 #
51- def initialize ( progname = 'Selenium' )
51+ def initialize ( progname = 'Selenium' , ignored : nil )
5252 @logger = create_logger ( progname )
53- @ignored = [ ]
53+ @ignored = Array ( ignored )
54+ @first_warning = false
5455 end
5556
5657 #
@@ -94,6 +95,13 @@ def ignore(id)
9495 # @yield see #deprecate
9596 #
9697 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+
97105 id = Array ( id )
98106 return if ( @ignored & id ) . any?
99107
Original file line number Diff line number Diff line change @@ -28,7 +28,6 @@ def initialize
2828 @create_driver_error_count = 0
2929
3030 populate_from_bazel_target
31- WebDriver . logger
3231
3332 @driver = ENV . fetch ( 'WD_SPEC_DRIVER' , :chrome ) . to_sym
3433 @driver_instance = nil
Original file line number Diff line number Diff line change 2222module Selenium
2323 module WebDriver
2424 describe Logger do
25- subject ( :logger ) { Logger . new ( 'Selenium' ) }
25+ subject ( :logger ) { Logger . new ( 'Selenium' , ignored : [ :logger_info ] ) }
2626
2727 around do |example |
2828 debug = $DEBUG
@@ -37,6 +37,12 @@ module WebDriver
3737 msg = /WARN NotSelenium message/
3838 expect { other_logger . warn ( 'message' ) } . to output ( msg ) . to_stdout_from_any_process
3939 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
4046 end
4147
4248 describe '#level' do
@@ -79,6 +85,12 @@ module WebDriver
7985 end
8086
8187 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+
8294 it 'logs with String' do
8395 expect { logger . warn "String Value" } . to output ( /WARN Selenium String Value/ ) . to_stdout_from_any_process
8496 end
Original file line number Diff line number Diff line change @@ -43,7 +43,7 @@ def with_env(hash)
4343 c . define_derived_metadata do |meta |
4444 meta [ :aggregate_failures ] = true
4545 end
46- Selenium ::WebDriver . logger
46+ Selenium ::WebDriver . logger ( ignored : [ :logger_info ] )
4747
4848 c . include Selenium ::WebDriver ::UnitSpecHelper
4949
You can’t perform that action at this time.
0 commit comments