Драматург - Испытайте разные среды и разные переменные

Я хочу использовать Playwright для проверки на веб-странице.

Система, над которой я работаю, имеет 4 разных среды, которые нам нужно развернуть, например, тестовые URL-адреса могут быть

www.test1.com www.test2.com www.test3.com www.test4.com

Первый вопрос: как настроить таргетинг на другую среду? В моей конфигурации драматурга у меня был baseUrl, но мне нужно его переопределить.

Кроме того, каждая среда имеет разные учетные данные для входа, как я могу создать и переопределить их в качестве параметров для каждой среды?

2 ответа

Поскольку драматург v1.13.0, Существует baseURLвариант доступен. Вы можете использовать это таким образом, вероятно

В вашей config.js файл, вы можете получить это

      import { PlaywrightTestConfig } from '@playwright/test';

const config: PlaywrightTestConfig = {
  use: {
    baseURL: process.env.URL,
  },
};
export default config;

Теперь в package.json файл, вы можете установить переменные среды в тестовых командах для различных env в scripts , нравится

      ...
"scripts": {
  "start": "node app.js",
  "test1": "URL=www.test1.com mocha --reporter spec",
  "test2": "URL=www.test2.com mocha --reporter spec",
  .
  .
},
...

Точно так же вы можете установить переменные среды для учетных данных входа в систему, а затем передать их в скрипт таким же образом, как и URL передается.

Другой подход к этому — использование сценария Bash. Я использую что-то вроде следующего для запуска тестов в разных средах, чтобы убедиться, что мои тесты Playwright будут работать во всех средах, в которых они выполняются:

      #!/bin/bash

echo "Running tests against env 1";
ENV_URL=https://www.env1.com SOMESERVICE_ENV_URL=http://www.env1.com/scholarship npx playwright test $1;

echo "Running tests against env 2"

ENV_URL=https://env2.com SOMESERVICE_ENV_URL=http://env2.com:4008 npx playwright test $1;

echo "Running tests against env 3";

ENV_URL=http://localhost:3000 SOMESERVICE_ENV_URL=http://localhost:4008 npx playwright test $1;

А потом бежать с./myScript.sh myTest.test.ts

(В сценарии Bash первый переданный аргумент доступен через$1.)

Другие вопросы по тегам