@@ -106,15 +106,16 @@ impl SeleniumManager for GridManager {
106106 }
107107
108108 fn request_driver_version ( & mut self ) -> Result < String , Error > {
109- let major_browser_version_binding = self . get_major_browser_version ( ) ;
110- let major_browser_version = major_browser_version_binding. as_str ( ) ;
109+ let is_nightly = self . is_nightly ( self . get_driver_version ( ) ) ;
110+ let major_driver_version_binding = self . get_major_driver_version ( ) ;
111+ let major_driver_version = major_driver_version_binding. as_str ( ) ;
111112 let cache_path = self . get_cache_path ( ) ?;
112113 let mut metadata = get_metadata ( self . get_logger ( ) , & cache_path) ;
113114
114115 match get_driver_version_from_metadata (
115116 & metadata. drivers ,
116117 self . driver_name ,
117- major_browser_version ,
118+ major_driver_version ,
118119 ) {
119120 Some ( driver_version) => {
120121 self . log . trace ( format ! (
@@ -135,8 +136,12 @@ impl SeleniumManager for GridManager {
135136 . into_iter ( )
136137 . filter ( |r| {
137138 r. assets . iter ( ) . any ( |url| {
138- url. browser_download_url . contains ( GRID_RELEASE )
139- && !url. browser_download_url . contains ( SNAPSHOT )
139+ if is_nightly {
140+ url. browser_download_url . contains ( SNAPSHOT )
141+ } else {
142+ url. browser_download_url . contains ( GRID_RELEASE )
143+ && !url. browser_download_url . contains ( SNAPSHOT )
144+ }
140145 } )
141146 } )
142147 . collect ( ) ;
@@ -155,15 +160,20 @@ impl SeleniumManager for GridManager {
155160
156161 let index_release =
157162 driver_url. rfind ( GRID_RELEASE ) . unwrap ( ) + GRID_RELEASE . len ( ) + 1 ;
158- let driver_version = parse_version (
159- driver_url. as_str ( ) [ index_release..] . to_string ( ) ,
160- self . get_logger ( ) ,
161- ) ?;
163+ let driver_version = if is_nightly {
164+ let index_jar = driver_url. rfind ( GRID_EXTENSION ) . unwrap ( ) - 1 ;
165+ driver_url. as_str ( ) [ index_release..index_jar] . to_string ( )
166+ } else {
167+ parse_version (
168+ driver_url. as_str ( ) [ index_release..] . to_string ( ) ,
169+ self . get_logger ( ) ,
170+ ) ?
171+ } ;
162172
163173 let driver_ttl = self . get_ttl ( ) ;
164174 if driver_ttl > 0 {
165175 metadata. drivers . push ( create_driver_metadata (
166- major_browser_version ,
176+ major_driver_version ,
167177 self . driver_name ,
168178 & driver_version,
169179 driver_ttl,
0 commit comments