在 VueJS 应用程序中,我使用 playwright 测试我的组件/屏幕,一切正常。
问题是当我尝试在持续集成(Bitbucket Pipeline)的一个阶段中运行测试时。为了能够运行我的应用程序正在运行的精确测试,然后使用 PM2 来运行这两个服务。像这样:
- step:
name: Playwright Tests
script:
- npm install pm2 -g
- npm install
- npx playwright install --with-deps
- pm2 start npm --name "MyApp" -- run start-test --wait-ready
- pm2 start npm --name "Playwright" -- run playwright
--wait-ready 参数用于在运行测试之前等待应用程序启动,但我相信我没有等待我的应用程序运行,因为在管道期间我正在使用给出错误的测试进行测试,甚至所以管道通过了所有步骤。如下图所示:
有什么方法可以运行我的应用程序进程,然后仅运行我的测试以及它们在管道中显示错误吗?
我对你的问题有点困惑,但我认为它是“我如何等待我的应用程序启动”,然后开始剧作家测试?我建议您查看Playwright 网络服务器。我不熟悉 pm2,但你可以尝试向 playwrights config 提供初始化参数
webServer: [
{
command: 'pm2 start npm --name "MyApp"',
url: '<your_app_url>',
timeout: 120 * 1000,
},
{
command: 'pm2 start npm --name "Playwright"',
url: '<your_app_url>,
timeout: 120 * 1000,
}
],
使用此配置,剧作家将等待服务器准备好接受请求,然后为您开始测试。看看是否有帮助。