OLD | NEW |
1 /* | 1 /* |
2 * This file is part of Adblock Plus <https://adblockplus.org/>, | 2 * This file is part of Adblock Plus <https://adblockplus.org/>, |
3 * Copyright (C) 2006-present eyeo GmbH | 3 * Copyright (C) 2006-present eyeo GmbH |
4 * | 4 * |
5 * Adblock Plus is free software: you can redistribute it and/or modify | 5 * Adblock Plus is free software: you can redistribute it and/or modify |
6 * it under the terms of the GNU General Public License version 3 as | 6 * it under the terms of the GNU General Public License version 3 as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
8 * | 8 * |
9 * Adblock Plus is distributed in the hope that it will be useful, | 9 * Adblock Plus is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
12 * GNU General Public License for more details. | 12 * GNU General Public License for more details. |
13 * | 13 * |
14 * You should have received a copy of the GNU General Public License | 14 * You should have received a copy of the GNU General Public License |
15 * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. | 15 * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. |
16 */ | 16 */ |
17 | 17 |
18 "use strict"; | 18 "use strict"; |
19 | 19 |
20 const webdriver = require("selenium-webdriver"); | 20 const webdriver = require("selenium-webdriver"); |
21 const chrome = require("selenium-webdriver/chrome"); | 21 const chrome = require("selenium-webdriver/chrome"); |
22 const {ensureChromium} = require("../../adblockpluscore/test/runners/" + | 22 const {ensureChromium} = require("../../adblockpluscore/test/runners/" + |
23 "chromium_download"); | 23 "chromium_download"); |
24 | 24 |
| 25 // We need to require the chromedriver, |
| 26 // otherwise on Windows the chromedriver path is not added to process.env.PATH. |
| 27 require("chromedriver"); |
| 28 |
25 exports.platform = "chrome"; | 29 exports.platform = "chrome"; |
26 exports.ensureBrowser = ensureChromium; | 30 exports.ensureBrowser = ensureChromium; |
27 | 31 |
28 // The Chromium version is a build number, quite obscure. | 32 // The Chromium version is a build number, quite obscure. |
29 // Chromium 63.0.3239.x is 508578 | 33 // Chromium 63.0.3239.x is 508578 |
30 // Chromium 65.0.3325.0 is 530368 | 34 // Chromium 65.0.3325.0 is 530368 |
31 // We currently want Chromiun 63, as we still support it and that's the | 35 // We currently want Chromiun 63, as we still support it and that's the |
32 // loweset version that supports WebDriver. | 36 // loweset version that supports WebDriver. |
33 exports.oldestCompatibleVersion = 508578; | 37 exports.oldestCompatibleVersion = 508578; |
34 | 38 |
35 exports.getDriver = function(browserBinary, devenvPath) | 39 exports.getDriver = function(browserBinary, devenvPath) |
36 { | 40 { |
37 let options = new chrome.Options() | 41 let options = new chrome.Options() |
38 .setChromeBinaryPath(browserBinary) | 42 .setChromeBinaryPath(browserBinary) |
39 .addArguments("--no-sandbox") | 43 .addArguments("--no-sandbox") |
40 .addArguments(`load-extension=${devenvPath}`); | 44 .addArguments(`load-extension=${devenvPath}`); |
41 | 45 |
42 return new webdriver.Builder() | 46 return new webdriver.Builder() |
43 .forBrowser("chrome") | 47 .forBrowser("chrome") |
44 .setChromeOptions(options) | 48 .setChromeOptions(options) |
45 .build(); | 49 .build(); |
46 }; | 50 }; |
OLD | NEW |