Skip to content

Commit 1bf4cf7

Browse files
authored
Improve LambdaTest support (#966)
1 parent b33e655 commit 1bf4cf7

File tree

2 files changed

+30
-15
lines changed

2 files changed

+30
-15
lines changed

scripts/selenium.ts

+26-15
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ import "../lib/selenium-keepalive.js";
4141

4242
type Task = ListrTaskWrapper<any, any, any>;
4343

44+
const collectorVersion = (
45+
await fs.readJson(new URL("./package.json", import.meta.url))
46+
).version;
47+
4448
const secrets = await getSecrets();
4549

4650
const testenv = process.env.NODE_ENV === "test";
@@ -358,14 +362,16 @@ const buildDriver = async (
358362
for (const [osName, osVersion] of getOsesToTest(service, os)) {
359363
const capabilities = new Capabilities();
360364

365+
const commonConfig = {
366+
name: `mdn-bcd-collector: ${prettyName(browser, version, os)}`,
367+
build: `mdn-bcd-collector v${collectorVersion}`,
368+
project: "mdn-bcd-collector",
369+
};
370+
361371
// Set test name
362-
const testName = `mdn-bcd-collector: ${prettyName(browser, version, os)}`;
363-
capabilities.set("name", testName);
364-
if (service === "saucelabs") {
365-
capabilities.set("sauce:options", {
366-
name: testName,
367-
});
368-
}
372+
capabilities.set("name", commonConfig.name);
373+
capabilities.set("build", commonConfig.build);
374+
capabilities.set("project", commonConfig.project);
369375

370376
capabilities.set(Capability.BROWSER_NAME, Browser[browser.toUpperCase()]);
371377
capabilities.set(Capability.BROWSER_VERSION, version.split(".")[0]);
@@ -375,20 +381,25 @@ const buildDriver = async (
375381
if (browser !== "safari") {
376382
osCaps.osVersion = osVersion;
377383
}
378-
capabilities.set("bstack:options", osCaps);
379-
} else if (service === "saucelabs") {
384+
capabilities.set("bstack:options", {...commonConfig, ...osCaps});
385+
} else {
380386
// Remap target OS for Safari x.0 vs. x.1 on SauceLabs
381387
if (browser === "safari") {
382388
capabilities.set("platformName", getSafariOS(version));
383389
} else {
384390
capabilities.set("platformName", `${osName} ${osVersion}`);
385391
}
386-
} else {
387-
// LambdaTest
388-
capabilities.set("LT:Options", {
389-
name: testName,
390-
platformName: `${osName} ${osVersion}`,
391-
});
392+
393+
if (service === "saucelabs") {
394+
capabilities.set("sauce:options", commonConfig);
395+
} else if (service === "lambdatest") {
396+
capabilities.set("LT:options", {
397+
...commonConfig,
398+
platformName: capabilities.get("platformName"),
399+
w3c: true,
400+
plugin: "node_js-webdriverio",
401+
});
402+
}
392403
}
393404

394405
// Allow mic, camera, geolocation and notifications permissions

secrets.sample.json

+4
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@
1212
"username": "",
1313
"key": "",
1414
"region": ""
15+
},
16+
"lambdatest": {
17+
"username": "",
18+
"key": ""
1519
}
1620
}
1721
}

0 commit comments

Comments
 (0)