@@ -142,23 +142,32 @@ pub trait SeleniumManager {
142142 . browsers
143143 . push ( create_browser_metadata ( browser_name, & browser_version) ) ;
144144 write_metadata ( & metadata) ;
145- Some ( browser_version)
145+ if !browser_version. is_empty ( ) {
146+ Some ( browser_version)
147+ } else {
148+ None
149+ }
146150 }
147151 }
148152 }
149153
150- fn discover_driver_version ( & mut self ) -> String {
151- if self . get_browser_version ( ) . is_empty ( ) || self . is_browser_version_unstable ( ) {
154+ fn discover_driver_version ( & mut self ) -> Result < String , String > {
155+ let browser_version = self . get_browser_version ( ) ;
156+ if browser_version. is_empty ( ) || self . is_browser_version_unstable ( ) {
152157 match self . discover_browser_version ( ) {
153158 Some ( version) => {
154159 log:: debug!( "Detected browser: {} {}" , self . get_browser_name( ) , version) ;
155160 self . set_browser_version ( version) ;
156161 }
157162 None => {
158- log:: debug!(
163+ if self . is_browser_version_unstable ( ) {
164+ return Err ( format ! ( "Browser version '{browser_version}' not found" ) ) ;
165+ } else {
166+ log:: debug!(
159167 "The version of {} cannot be detected. Trying with latest driver version" ,
160168 self . get_browser_name( )
161- ) ;
169+ ) ;
170+ }
162171 }
163172 }
164173 }
@@ -170,7 +179,7 @@ pub trait SeleniumManager {
170179 self . get_driver_name( ) ,
171180 driver_version
172181 ) ;
173- driver_version
182+ Ok ( driver_version)
174183 }
175184
176185 fn is_browser_version_unstable ( & self ) -> bool {
@@ -183,7 +192,7 @@ pub trait SeleniumManager {
183192
184193 fn resolve_driver ( & mut self ) -> Result < PathBuf , Box < dyn Error > > {
185194 if self . get_driver_version ( ) . is_empty ( ) {
186- let driver_version = self . discover_driver_version ( ) ;
195+ let driver_version = self . discover_driver_version ( ) ? ;
187196 self . set_driver_version ( driver_version) ;
188197 }
189198
0 commit comments