Драматург - Испытайте разные среды и разные переменные
Я хочу использовать 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
.)