@@ -106,15 +106,16 @@ impl SeleniumManager for GridManager {
106
106
}
107
107
108
108
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 ( ) ;
111
112
let cache_path = self . get_cache_path ( ) ?;
112
113
let mut metadata = get_metadata ( self . get_logger ( ) , & cache_path) ;
113
114
114
115
match get_driver_version_from_metadata (
115
116
& metadata. drivers ,
116
117
self . driver_name ,
117
- major_browser_version ,
118
+ major_driver_version ,
118
119
) {
119
120
Some ( driver_version) => {
120
121
self . log . trace ( format ! (
@@ -135,8 +136,12 @@ impl SeleniumManager for GridManager {
135
136
. into_iter ( )
136
137
. filter ( |r| {
137
138
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
+ }
140
145
} )
141
146
} )
142
147
. collect ( ) ;
@@ -155,15 +160,20 @@ impl SeleniumManager for GridManager {
155
160
156
161
let index_release =
157
162
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
+ } ;
162
172
163
173
let driver_ttl = self . get_ttl ( ) ;
164
174
if driver_ttl > 0 {
165
175
metadata. drivers . push ( create_driver_metadata (
166
- major_browser_version ,
176
+ major_driver_version ,
167
177
self . driver_name ,
168
178
& driver_version,
169
179
driver_ttl,
0 commit comments