TypeScript selenium

7 TypeScript code examples are found related to "selenium".
Example 1
Source File: selenium-server.ts    From web with MIT License 7 votes vote down vote up
export async function startSeleniumServer(drivers: { [browser: string]: selenium.DriverOptions }) {
  let server: selenium.ChildProcess;

  try {
    await selenium.install({ drivers });
  } catch (err) {
    console.error('Error occurred when installing selenium.');
    throw err;
  }

  try {
    server = await selenium.start({ drivers });
  } catch (err) {
    console.error('Error occurred when starting selenium.');
    throw err;
  }

  return server;
}
Example 2
Source File: seleniumLauncher.ts    From web with MIT License 7 votes vote down vote up
export function seleniumLauncher(args: SeleniumLauncherArgs) {
  if (!args?.driverBuilder) {
    throw new Error(`Selenium launcher requires a driverBuilder property.`);
  }

  if (!(args?.driverBuilder instanceof Builder)) {
    throw new Error(`driverBuild must be a Builder`);
  }

  return new SeleniumLauncher(args.driverBuilder);
}
Example 3
Source File: seleniumLauncher.test.ts    From web with MIT License 7 votes vote down vote up
async function startSeleniumServer() {
  let server: selenium.ChildProcess;

  try {
    await selenium.install({
      drivers: {
        chrome: { version: 'latest' },
        firefox: { version: 'latest' },
      },
    });
  } catch (err) {
    console.error('Error occurred when installing selenium.');
    throw err;
  }

  try {
    server = await selenium.start({
      drivers: {
        chrome: { version: 'latest' },
        firefox: { version: 'latest' },
      },
      seleniumArgs: ['--port', '8888'],
    });
  } catch (err) {
    console.error('Error occurred when starting selenium.');
    console.log(err);
    throw err;
  }

  return server;
}
Example 4
Source File: webdriverLauncher.test.ts    From web with MIT License 7 votes vote down vote up
async function startSeleniumServer() {
  let server;

  try {
    await selenium.install({
      drivers: {
        chrome: { version: 'latest' },
        firefox: { version: 'latest' },
      },
    });
  } catch (err) {
    console.error('Error occurred when installing selenium.');
    throw err;
  }

  try {
    server = await selenium.start({
      drivers: {
        chrome: { version: 'latest' },
        firefox: { version: 'latest' },
      },
    });
  } catch (err) {
    console.error('Error occurred when starting selenium.');
    throw err;
  }

  return server;
}
Example 5
Source File: seleniumMock.ts    From Assistive-Webdriver with MIT License 6 votes vote down vote up
useSeleniumMock = () => {
  const host = "127.0.0.1";
  let server: Server;
  let port: number;
  let app;
  let routingFn: AsyncFnMock<void, [Koa.Context, () => Promise<any>]>;

  beforeAll(async () => {
    app = new Koa();
    app.use(async (ctx, next) => {
      if (routingFn) {
        await routingFn(ctx, next);
      } else {
        await next();
      }
    });
    server = app.listen(0, host);
    await new Promise((resolve, reject) =>
      server.on("listening", resolve).on("error", reject)
    );
    port = (server.address() as AddressInfo).port;
  });

  beforeEach(() => {
    routingFn = asyncFnMock("seleniumMock");
  });

  afterEach(async () => {
    const getConnections = promisify(server.getConnections.bind(server));
    await waitFor(async () => 0 == (await getConnections()));
  });

  afterAll(async () => {
    await new Promise(resolve => server.close(resolve));
  });

  return {
    async seleniumAnswerRequest(
      method: string,
      url: string,
      responseBody: ((ctx: Koa.Context) => Promise<any>) | Record<string, any>
    ) {
      const call = await routingFn.waitForCall();
      const ctx = call.args[0];
      expect(ctx.method).toBe(method);
      expect(ctx.url).toBe(url);
      if (typeof responseBody === "function") {
        ctx.body = await responseBody(ctx);
      } else {
        ctx.body = responseBody;
      }
      call.result.value.mockResolve();
    },
    getSeleniumTCPRedirection(
      vmPort = DEFAULT_VM_PORT_WEBDRIVER
    ): PortRedirection {
      return {
        hostAddress: host,
        hostPort: port,
        vmPort
      };
    }
  };
}
Example 6
Source File: selenium-webdriver-click-fix.ts    From scion-microfrontend-platform with Eclipse Public License 2.0 6 votes vote down vote up
/**
 * Repairs clicking DOM elements contained in an iframe part of a shadow DOM.
 */
export function installSeleniumWebDriverClickFix(): void {
  const fix = new SeleniumWebDriverClickFix();
  beforeAll(() => fix.install());
  afterAll(() => fix.uninstall());
}
Example 7
Source File: seleniumHelper.ts    From javascript-opensdk with Apache License 2.0 6 votes vote down vote up
public static buildSeleniumCommand(cmdName: string): Command {
    // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
    return new SeleniumCommandNamespace.Command(cmdName) as Command;
  }