如何在剧作家测试中指定目标项目(平台)



有不同的UI版本的桌面和移动设备,我努力瞄准某些特定的测试移动设备,而强迫其余的只运行桌面。除了现有的浏览器,我还添加了一个像这样的移动目标:

{
    name:  'mobile',
    use: {
        ...devices['iPhone 12'],
        viewport: {
            width:  390,
            height:  844
        },
        headless:  false,
        video:  'on-first-retry'
    },
},

正确运行模拟指定移动目标的测试。问题是,它会使用此配置尝试每一个测试,而我只需要它为移动设备运行指定的测试。

我能想到实现目标的唯一方法是创建两个独立的项目。是否有更好的"可配置"方式?

您是否需要testProject。grep的选择吗?

过滤器,仅运行具有与模式之一匹配的标题的测试. 例如,通过grep: /cart/应该只运行带有"cart"的测试。在标题中。也可以全局使用,也可以在命令行中使用-g选项。

{
    name:  'mobile',
    use: {
        ...devices['iPhone 12'],
        viewport: {
            width:  390,
            height:  844
        },
        headless:  false,
        video:  'on-first-retry',
    },
    grep: /mobile/
},

你可以在剧作家配置文件中使用项目。对于不同的项目类型,您可以使用正则表达式模式来标识您想要运行的测试:

import type { PlaywrightTestConfig } from '@playwright/test';
const config: PlaywrightTestConfig = {
  timeout: 60000, // Timeout is shared between all tests.
  projects: [
    {
      name: 'Smoke',
      testMatch: /.*smoke.spec.ts/,
      retries: 0,
    },
    {
      name: 'Default',
      testIgnore: /.*something.spec.ts/,
      retries: 2,
    },
  ],
};
export default config;

然后运行测试,你可以这样做:

npx playwright test --project=Smoke

相关内容

  • 没有找到相关文章

最新更新