jasmine - 如何多次运行相同的规范?
问题描述
我正在使用 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 次?
解决方案
避免多次复制粘贴文件名的一种方法是创建一个简单的函数,该函数返回一个包含您要传递的文件名的数组。下面的示例函数。
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 中运行这么多并行测试并非易事,完全取决于您的许可证。根据此链接,您无法并行运行那么多测试。您可以与他们的销售和支持团队交谈,以了解是否有办法获得定制许可证,前提是您愿意支付大笔资金。
推荐阅读
- python - Django:会话在 Heroku 上没有按预期工作
- android - 程序类型已经存在:com.opencsv.CSVParser
- python - 为什么 tf.get_variable('test') 返回一个名为 test_1 的变量?
- python - 在“if”条件下使用变量时的 Python 3 NameError
- angular - 如果在特定文件夹中,由 Angular CLI 生成的测试会失败
- opencart - 是否有任何用于在 Opencart 中获取类别的 api
- c# - 为什么随着迭代次数的增加,比较“is”和“typeof”之间性能的基准测试结果会相反?
- c# - 从 .net core 中的 layout.cshtml 访问数据库
- c# - 什么时候应该更喜欢具有 Eager Loading 的普通成员而不是拥有的实体类型?
- php - 动态文件夹创建在 Codeigniter 中不起作用