MCPcopy Index your code
hub / github.com/ampproject/amphtml / createDriver

Function createDriver

build-system/tasks/e2e/describes-e2e.js:116–151  ·  view source on GitHub ↗

* * @param {BrowserNameDef} browserName * @param {!string[]} args * @param {string=} deviceName * @return {!WebDriver}

(browserName, args, deviceName)

Source from the content-addressed store, hash-verified

114 * @return {!WebDriver}
115 */
116function createDriver(browserName, args, deviceName) {
117 switch (browserName) {
118 case 'firefox':
119 const firefoxOptions = new firefox.Options();
120 firefoxOptions.addArguments(...args);
121 firefoxOptions.windowSize({
122 width: DEFAULT_E2E_INITIAL_RECT.width,
123 height: DEFAULT_E2E_INITIAL_RECT.height,
124 });
125 return new Builder()
126 .forBrowser('firefox')
127 .setFirefoxOptions(firefoxOptions)
128 .build();
129
130 case 'chrome':
131 const loggingPrefs = new logging.Preferences();
132 loggingPrefs.setLevel(logging.Type.PERFORMANCE, logging.Level.ALL);
133
134 const chromeOptions = new chrome.Options();
135 chromeOptions.setLoggingPrefs(loggingPrefs);
136 chromeOptions.addArguments(...args);
137 if (process.env.CHROME_BIN) {
138 chromeOptions.setChromeBinaryPath(process.env.CHROME_BIN);
139 }
140 if (deviceName) {
141 chromeOptions.setMobileEmulation({deviceName});
142 }
143 return new Builder()
144 .forBrowser('chrome')
145 .setChromeOptions(chromeOptions)
146 .build();
147
148 case 'safari':
149 return new Builder().forBrowser('safari').build();
150 }
151}
152
153/**
154 * Configure chrome args.

Callers 1

createSeleniumFunction · 0.85

Calls 1

buildMethod · 0.45

Tested by

no test coverage detected