@eyeo/get-browser-binary 0.20.0 → 0.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/RELEASE_NOTES.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Unreleased
2
2
 
3
+ # 0.20.1
4
+
5
+ - test: Fixes enabling developer mode (!131)
6
+
3
7
  # 0.20.0
4
8
 
5
9
  - Enable developer mode for incognito tests (!126)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eyeo/get-browser-binary",
3
- "version": "0.20.0",
3
+ "version": "0.20.1",
4
4
  "description": "Install browser binaries and matching webdrivers",
5
5
  "repository": {
6
6
  "type": "git",
package/src/chromium.js CHANGED
@@ -28,6 +28,8 @@ import {download, getMajorVersion, checkVersion, checkPlatform, errMsg,
28
28
  snapshotsBaseDir, platformArch, checkExtensionPaths} from "./utils.js";
29
29
 
30
30
  async function enableDeveloperMode(driver) {
31
+ const currentHandle = await driver.getWindowHandle();
32
+
31
33
  await driver.switchTo().newWindow("window");
32
34
  await driver.navigate().to("chrome://extensions");
33
35
  await driver.executeScript(() => {
@@ -39,6 +41,9 @@ async function enableDeveloperMode(driver) {
39
41
  if (!devModeToggle.checked)
40
42
  devModeToggle.click();
41
43
  });
44
+
45
+ await driver.close();
46
+ await driver.switchTo().window(currentHandle);
42
47
  }
43
48
 
44
49
  /**
package/src/edge.js CHANGED
@@ -32,11 +32,18 @@ import {download, killDriverProcess, wait, getMajorVersion, checkVersion,
32
32
  let {platform} = process;
33
33
 
34
34
  async function enableDeveloperMode(driver) {
35
+ const currentHandle = await driver.getWindowHandle();
36
+ await driver.switchTo().newWindow("window");
35
37
  await driver.navigate().to("edge://extensions/");
36
- const devModeToggle = driver.findElement(By.id("developer-mode"));
37
38
 
38
- if (!devModeToggle.checked)
39
- devModeToggle.click();
39
+ await driver.executeScript(() => {
40
+ const devModeToggle = document.getElementById("developer-mode");
41
+ if (!devModeToggle.checked)
42
+ devModeToggle.click();
43
+ });
44
+
45
+ await driver.close();
46
+ await driver.switchTo().window(currentHandle);
40
47
  }
41
48
 
42
49
  /**
@@ -244,9 +251,10 @@ export class Edge extends Browser {
244
251
  }
245
252
  }, 30000, `${errMsg.driverStart}: msedgedriver`, 1000);
246
253
 
247
- // Developer mode needs to be enabled
254
+ // From Edge 134 on, developer mode needs to be enabled
248
255
  // for custom extensions to work properly
249
- await enableDeveloperMode(driver);
256
+ if (versionNumber >= 134)
257
+ await enableDeveloperMode(driver);
250
258
 
251
259
  return driver;
252
260
  }
@@ -261,7 +269,7 @@ export class Edge extends Browser {
261
269
  continue;
262
270
 
263
271
  for (let button of await elem.findElements(By.css("button"))) {
264
- text = await elem.getAttribute("innerHTML");
272
+ text = await button.getAttribute("outerHTML");
265
273
  if (!text.includes("Details"))
266
274
  continue;
267
275
 
package/test/browsers.js CHANGED
@@ -224,6 +224,11 @@ for (let browser of Object.keys(BROWSERS)) {
224
224
 
225
225
  it("runs", async function() {
226
226
  driver = await BROWSERS[browser].getDriver(version);
227
+ const url = await driver.getCurrentUrl();
228
+ // check that default automation tab is in focus:
229
+ // data;, (chromium) and about:blank (firefox)
230
+ expect(url).toEqual(expect.stringMatching(/^(data:,|about:blank)$/));
231
+
227
232
  await basicUrlTest(driver, browser);
228
233
 
229
234
  let browserVersion =