在 Playwright 中,如何通过命令行传递 baseUrl,以便我的规范文件没有针对我正在测试的应用程序的硬编码 url?
In Playwright, how to pass a baseUrl via command line so my spec files dont have a hardcoded url for the app I am testing?
在 Protractor 中,我目前在命令行中传递一个标志,指示我的 URL 是我正在测试的应用程序的内容。现在我们正在转向 Playwright,我想做类似的事情。由于相同的测试将用于在不同的环境(开发、测试、CI)中测试应用程序,我需要一种方法来传递不同的 URLs,理想情况下,如果我可以通过命令行。
更新:
Playwright v1.13.0 中添加了 baseURL
选项。
import { PlaywrightTestConfig } from '@playwright/test';
const config: PlaywrightTestConfig = {
use: {
baseURL: 'http://localhost:3000',
},
};
export default config;
目前,在 Playwright Test v1.12.0 中没有 Protractor 中的 baseUrl
属性。但是你可以用一个系统变量来完成它。
例如:
import { test } from '@playwright/test';
const BASE_URL = process.env.URL;
test('verify title of the page', async ({ page }) => {
await page.goto(BASE_URL);
});
然后 运行 它在开发环境中:
URL=https://playwright.dev npx playwright test
或产品:
URL=https://playwright.prod npx playwright test
在 Protractor 中,我目前在命令行中传递一个标志,指示我的 URL 是我正在测试的应用程序的内容。现在我们正在转向 Playwright,我想做类似的事情。由于相同的测试将用于在不同的环境(开发、测试、CI)中测试应用程序,我需要一种方法来传递不同的 URLs,理想情况下,如果我可以通过命令行。
更新:
Playwright v1.13.0 中添加了 baseURL
选项。
import { PlaywrightTestConfig } from '@playwright/test';
const config: PlaywrightTestConfig = {
use: {
baseURL: 'http://localhost:3000',
},
};
export default config;
目前,在 Playwright Test v1.12.0 中没有 Protractor 中的 baseUrl
属性。但是你可以用一个系统变量来完成它。
例如:
import { test } from '@playwright/test';
const BASE_URL = process.env.URL;
test('verify title of the page', async ({ page }) => {
await page.goto(BASE_URL);
});
然后 运行 它在开发环境中:
URL=https://playwright.dev npx playwright test
或产品:
URL=https://playwright.prod npx playwright test