npm 包 testcafe-browser-provider-perfecto 使用教程

TestCafe 是一个流行的前端自动化测试框架,可以在各种浏览器和平台上运行测试,使测试成为前端开发流程不可或缺的一部分。而 testcafe-browser-provider-perfecto 的出现,则提供了 TestCafe 在 Perfecto 移动测试平台(MTP)上的运行支持,使得测试人员可以更加便捷地进行移动设备的自动化测试。本文将介绍如何使用 testcafe-browser-provider-perfecto 进行测试,并提供示例代码。

安装和配置

在开始之前,需要确保已经安装了 TestCafe 和 testcafe-browser-provider-perfecto,可以通过以下命令进行安装:

需要注意的是,此 npm 包需要配置 Perfecto 客户端库,具体方式可以参考官方文档。

使用方法

使用 testcafe-browser-provider-perfecto 与 TestCafe 相比,并没有太多区别。只需要在启动 testcafe 时,指定使用 perfecto provider,以及提供相应的配置即可。

以下是使用 testcafe-browser-provider-perfecto 进行简单测试的示例:

import { Selector } from 'testcafe';
import perfecto from 'testcafe-browser-provider-perfecto';

fixture `My fixture`
  .page `http://devexpress.github.io/testcafe/example/`;

test('My test', async t => {
  const provider = await perfecto({
    perfectoUsername: 'USERNAME',
    perfectoPassword: 'PASSWORD',
    perfectoHost: 'HOST',
    perfectoToken: 'TOKEN',
    platformName: 'PLATFORM_NAME',
    browserName: 'BROWSER_NAME',
  });

  await t
    .useProvider(provider)
    .click('#submit-button')
    .expect(Selector('#article-header').innerText).eql('Thank you, Peter Parker!');
});

在此示例中,我们定义了一个 fixture 和一个 test,我们将使用 testcafe-browser-provider-perfecto 提供的 perfecto 方法来创建 Perfecto Provider,并传递一些必要的信息,包括 perfecto 的用户名、密码、主机、token、平台名称和浏览器名称。接着,我们使用 testcafe 的 useProvider 方法启用 Perfecto Provider,继续执行测试逻辑。

高级功能和配置

testcafe-browser-provider-perfecto 还提供了一些高级功能和配置,使得测试更加便捷和灵活。

Headless 模式

如果你想要在无头浏览器中运行测试,可以通过 headless 选项来配置。

const provider = await perfecto({
  perfectoUsername: 'USERNAME',
  perfectoPassword: 'PASSWORD',
  perfectoHost: 'HOST',
  perfectoToken: 'TOKEN',
  platformName: 'PLATFORM_NAME',
  browserName: 'BROWSER_NAME',
  headless: true,
});

Screenshot

当测试失败时,你可能会希望记录下失败的截图,以便于问题的排查。testcafe-browser-provider-perfecto 提供了一个 screenshotPath 选项,可以指定截图的存储路径。

const provider = await perfecto({
  perfectoUsername: 'USERNAME',
  perfectoPassword: 'PASSWORD',
  perfectoHost: 'HOST',
  perfectoToken: 'TOKEN',
  platformName: 'PLATFORM_NAME',
  browserName: 'BROWSER_NAME',
  screenshotPath: './screenshots',
});

指定浏览器版本

如果你的测试需要在特定的浏览器版本上运行,可以通过 browserVersion 选项来指定。

const provider = await perfecto({
  perfectoUsername: 'USERNAME',
  perfectoPassword: 'PASSWORD',
  perfectoHost: 'HOST',
  perfectoToken: 'TOKEN',
  platformName: 'PLATFORM_NAME',
  browserName: 'BROWSER_NAME',
  browserVersion: 'BROWSER_VERSION',
});

自定义参数

如果你希望自定义参数,可以通过 customArgs 选项来配置。

const provider = await perfecto({
  perfectoUsername: 'USERNAME',
  perfectoPassword: 'PASSWORD',
  perfectoHost: 'HOST',
  perfectoToken: 'TOKEN',
  platformName: 'PLATFORM_NAME',
  browserName: 'BROWSER_NAME',
  customArgs: {
    KEY1: 'value1',
    KEY2: 'value2',
  },
});

其他选项

除了上述选项,testcafe-browser-provider-perfecto 还提供了多种其他选项,包括:

  • deviceOrientation:设备方向。
  • resolution:设备分辨率。
  • location:测试设备所在地理位置。
  • bundleId:iOS 测试的 bundle ID。
  • appName:Android 测试应用的名称。

更多选项和详细信息可以参考 testcafe-browser-provider-perfecto 的官方文档

总结

在本文中,我们介绍了如何使用 testcafe-browser-provider-perfecto 进行移动测试,并提供了一些示例代码和配置选项。使用 Perfecto 移动测试平台和 TestCafe 进行测试,可以提高测试效率和准确性,帮助开发人员更加自信地交付高质量的代码。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/600673ddfb81d47349e53b75


纠错反馈