在 Playwright 中,如何通过命令行传递 baseUrl,以便我的规范文件没有我正在测试的应用程序的硬编码 url?
Posted
技术标签:
【中文标题】在 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? 【发布时间】:2021-09-13 13:34:55 【问题描述】:在 Protractor 中,我目前正在命令行中传递一个标志,指示我正在测试的应用程序的 URL 是什么。现在我们正在转向剧作家,我想做类似的事情。由于相同的测试将用于在不同的环境(开发、测试、CI)中测试应用程序,因此我需要一种传递不同 URL 的方法,理想情况下,如果我可以通过命令行控制它会很好。
【问题讨论】:
【参考方案1】:更新:
在 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 中没有 baseUrl
属性,就像我们在 Protractor 中那样。但是你可以通过一个系统变量来完成它。
例如:
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
【讨论】:
以上是关于在 Playwright 中,如何通过命令行传递 baseUrl,以便我的规范文件没有我正在测试的应用程序的硬编码 url?的主要内容,如果未能解决你的问题,请参考以下文章