如何在 CI/CD 期间等待步骤执行测试

问题描述 投票:0回答:1

在 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 参数用于在运行测试之前等待应用程序启动,但我相信我没有等待我的应用程序运行,因为在管道期间我正在使用给出错误的测试进行测试,甚至所以管道通过了所有步骤。如下图所示:

有什么方法可以运行我的应用程序进程,然后仅运行我的测试以及它们在管道中显示错误吗?

continuous-integration playwright pm2 bitbucket-pipelines
1个回答
0
投票

我对你的问题有点困惑,但我认为它是“我如何等待我的应用程序启动”,然后开始剧作家测试?我建议您查看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,
}

],

使用此配置,剧作家将等待服务器准备好接受请求,然后为您开始测试。看看是否有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.