appwright
Version:
E2E mobile app testing done right, with the Playwright test runner
32 lines (31 loc) • 1.19 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.getProviderClass = getProviderClass;
exports.createDeviceProvider = createDeviceProvider;
const browserstack_1 = require("./browserstack");
const local_1 = require("./local");
const emulator_1 = require("./emulator");
const lambdatest_1 = require("./lambdatest");
function getProviderClass(provider) {
switch (provider) {
case "browserstack":
return browserstack_1.BrowserStackDeviceProvider;
case "lambdatest":
return lambdatest_1.LambdaTestDeviceProvider;
case "emulator":
return emulator_1.EmulatorProvider;
case "local-device":
return local_1.LocalDeviceProvider;
default:
throw new Error(`Unknown device provider: ${provider}`);
}
}
function createDeviceProvider(project) {
const provider = project.use.device?.provider;
const appBundleId = project.use.appBundleId;
if (!provider) {
throw new Error("Device provider is not specified in the configuration.");
}
const ProviderClass = getProviderClass(provider);
return new ProviderClass(project, appBundleId);
}
;