【问题标题】:How to run the same spec multiple times?如何多次运行相同的规范?
【发布时间】:2020-09-03 01:42:22
【问题描述】:

我正在使用 jasmine 和 Appium 进行 ios 测试。我需要在应用程序中创建数千个帖子。我正在尝试为此使用 Saucelabs 并行测试。当我在 conf 文件中复制粘贴相同的规范文件 x 次时,它在 saucelabs 上运行 x 次 2 次。所以如果我这样写:

config.specs = [
    './test/specs/social/addPost.spec.js',
    './test/specs/social/addPost.spec.js',
    './test/specs/social/addPost.spec.js',
    './test/specs/social/addPost.spec.js',
    './test/specs/social/addPost.spec.js',
];

它运行测试五次,从并行运行其中两个开始,然后继续下一个,依此类推。我需要为应用程序创建 1200 个帖子,因此我必须并行运行此文件 1200 次。我怎样才能运行这个规范文件 1200 次?

【问题讨论】:

    标签: jasmine appium webdriver-io saucelabs


    【解决方案1】:

    避免多次复制粘贴文件名的一种方法是创建一个简单的函数,该函数返回一个包含您要传递的文件名的数组。下面是一个示例函数。

    function getArrayOfSpecs(specFilePath, count) {
      let finalArray = [];
      for (i = 0; i < count; i++) {
        finalArray.push(specFilePath);
      }
      return finalArray;
    }
    

    然后最后在你的配置文件中调用这个函数,如下所示。

    config.specs = getArrayOfSpecs('./test/specs/social/addPost.spec.js', 1200);
    

    在 saucelab 中运行这么多并行测试并非易事,完全取决于您的许可证。根据link,您无法并行运行那么多测试。您可以与他们的销售和支持团队交谈,以了解是否有办法获得定制许可证,前提是您愿意支付高额费用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-25
      相关资源
      最近更新 更多