我在 Playwright,如何在 (CI) 执行中按标签运行特定的测试用例

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

与 Playwright 合作并在我的 playwright.config.ts 中定义不同的项目。

 projects: [
    {
      name: 'Carlino-Qa',
      use: {
            ...devices['Desktop Edge'], 
            channel: 'msedge',
            baseURL: 'https://qa.carlino.com/',
          },
      retries: 1, 
    },
    
    {
      name: 'Carlino-Dev',
      use: {
            ...devices['Desktop Edge'],
            channel: 'msedge', 
            baseURL: 'https://dev.carlino.com/'
          },
      retries: 1,
    },
    
    {
      name: 'Carlino-Portugal',
     ** testMatch: '@portugal'** 
      use: {
            ...devices['Desktop Edge'],
            channel: 'msedge', 
            baseURL: 'https://qa.carlino.portugal.com/'
          },
    },       
  ],

我的 yml 文件的配置方式是,当我在 github 中手动运行工作流程时,我可以告诉它应该运行哪个项目。 我想在 Github 上为 Carlino-Portugal 项目执行我的测试用例,当执行开始时,我只想执行带有 @portugal 标签的测试用例。

我知道 testMatch: 只能与文件夹匹配,不能与标签匹配。我知道可以使用 grep,但是我可以对单个项目使用 grep 选项吗?

  1. 如何配置我的项目以指示只有带有此标签的测试用例在执行时才会运行?

  2. 您还有其他策略可以推荐吗?

非常感谢!

我尝试了 npx playwright test --grep=@portugal 并且它有效。 我尝试了 npx playwright test --project='Carlino-Portugal' 并且仅当未为标签定义 testMatch 属性时才有效。 我尝试在 github carlino-portugal 项目中执行,但它开始执行每个测试用例,因为过滤器不起作用

github continuous-integration tags project playwright
1个回答
0
投票

而不是使用 testmatch 来过滤应该在我的项目上执行的测试用例。我就是这样使用GREP的。

{ name: 'Carlino-Portugal', grep: [/@tagExample/,/@tagExample2/] use: { ...devices['Desktop Edge'], channel: 'msedge', baseURL: 'qa.carlino.portugal.com' }, }, 

我尝试使用 grep: '@tagexample' 但它不起作用。因此,完成此配置后,Github 将执行 Carlino-Portugal 项目以及所有具有此标签的测试用例。希望您也清楚:)

不要忘记,如果你想在 Github 中执行特定项目,你应该配置你的 .yml 文件。

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