@@ -42,60 +42,70 @@ async function computeDownloadUrls(opts) {
4242 // 2.44.0 would be `patch`, 2.44 `minor`, 2 `major` as per semver
4343
4444 const downloadUrls = {
45- selenium : util . format (
46- urls . selenium ,
47- opts . seleniumBaseURL ,
48- opts . seleniumVersion . replace ( / ( \d + \. \d + ) \. \d + / , '$1' ) ,
49- opts . seleniumVersion
50- ) ,
45+ selenium :
46+ opts . seleniumFullURL ||
47+ util . format (
48+ urls . selenium ,
49+ opts . seleniumBaseURL ,
50+ opts . seleniumVersion . replace ( / ( \d + \. \d + ) \. \d + / , '$1' ) ,
51+ opts . seleniumVersion
52+ ) ,
5153 } ;
5254 if ( opts . drivers . chrome ) {
5355 await resolveLatestVersion ( opts , 'chrome' , opts . drivers . chrome . baseURL + '/LATEST_RELEASE' ) ;
5456 if ( opts . drivers . chrome . version < 2.23 ) {
5557 mac32 = true ;
5658 }
57- downloadUrls . chrome = util . format (
58- urls . chrome ,
59- opts . drivers . chrome . baseURL ,
60- opts . drivers . chrome . version ,
61- getChromeDriverArchitecture ( opts . drivers . chrome . version , opts . drivers . chrome . arch )
62- ) ;
59+ downloadUrls . chrome =
60+ opts . drivers . chrome . fullURL ||
61+ util . format (
62+ urls . chrome ,
63+ opts . drivers . chrome . baseURL ,
64+ opts . drivers . chrome . version ,
65+ getChromeDriverArchitecture ( opts . drivers . chrome . version , opts . drivers . chrome . arch )
66+ ) ;
6367 }
6468 if ( opts . drivers . ie ) {
65- downloadUrls . ie = util . format (
66- urls . ie ,
67- opts . drivers . ie . baseURL ,
68- opts . drivers . ie . version . slice ( 0 , opts . drivers . ie . version . lastIndexOf ( '.' ) ) ,
69- getIeDriverArchitecture ( opts . drivers . ie . arch ) ,
70- opts . drivers . ie . version
71- ) ;
69+ downloadUrls . ie =
70+ opts . drivers . ie . fullURL ||
71+ util . format (
72+ urls . ie ,
73+ opts . drivers . ie . baseURL ,
74+ opts . drivers . ie . version . slice ( 0 , opts . drivers . ie . version . lastIndexOf ( '.' ) ) ,
75+ getIeDriverArchitecture ( opts . drivers . ie . arch ) ,
76+ opts . drivers . ie . version
77+ ) ;
7278 }
7379 if ( opts . drivers . firefox ) {
7480 await resolveLatestVersion ( opts , 'firefox' , 'https://api.github.com/repos/mozilla/geckodriver/releases/latest' ) ;
75- downloadUrls . firefox = util . format (
76- urls . firefox ,
77- opts . drivers . firefox . baseURL ,
78- getFirefoxDriverDirectory ( opts . drivers . firefox . version ) ,
79- getFirefoxDriverName ( opts . drivers . firefox . version ) ,
80- getFirefoxDriverVersionForUrl ( opts . drivers . firefox . version ) ,
81- getFirefoxDriverArchitecture ( opts . drivers . firefox . version , opts . drivers . firefox . arch )
82- ) ;
81+ downloadUrls . firefox =
82+ opts . drivers . firefox . fullURL ||
83+ util . format (
84+ urls . firefox ,
85+ opts . drivers . firefox . baseURL ,
86+ getFirefoxDriverDirectory ( opts . drivers . firefox . version ) ,
87+ getFirefoxDriverName ( opts . drivers . firefox . version ) ,
88+ getFirefoxDriverVersionForUrl ( opts . drivers . firefox . version ) ,
89+ getFirefoxDriverArchitecture ( opts . drivers . firefox . version , opts . drivers . firefox . arch )
90+ ) ;
8391 }
8492 if ( opts . drivers . edge ) {
85- downloadUrls . edge = getEdgeDriverUrl ( opts . drivers . edge . version ) ;
93+ downloadUrls . edge = opts . drivers . edge . fullURL || getEdgeDriverUrl ( opts . drivers . edge . version ) ;
8694 }
8795 if ( opts . drivers . chromiumedge ) {
8896 await resolveLatestVersion (
8997 opts ,
9098 'chromiumedge' ,
9199 'https://msedgewebdriverstorage.blob.core.windows.net/edgewebdriver/LATEST_STABLE'
92100 ) ;
93- downloadUrls . chromiumedge = util . format (
94- urls . chromiumedge ,
95- opts . drivers . chromiumedge . baseURL ,
96- opts . drivers . chromiumedge . version ,
97- getChromiumEdgeDriverArchitecture ( opts . drivers . chromiumedge . arch )
98- ) ;
101+ downloadUrls . chromiumedge =
102+ opts . drivers . chromiumedge . fullURL ||
103+ util . format (
104+ urls . chromiumedge ,
105+ opts . drivers . chromiumedge . baseURL ,
106+ opts . drivers . chromiumedge . version ,
107+ getChromiumEdgeDriverArchitecture ( opts . drivers . chromiumedge . arch )
108+ ) ;
99109 }
100110
101111 return downloadUrls ;
0 commit comments