首页 > 解决方案 > 如何使用 NodeJS、Protractor 和 Saucelabs 向并行运行的每个脚本发送不同的数据?

问题描述

我使用 NodeJS、Protractor、Jasmine Framework 和 SauceLabs 设置了多个自动化脚本。

每个脚本都在单独的 .JS 文件中,它从 .JSON 文件中读取数据。我已经在 J​​SON 文件中定义了登录凭据和所有其他必要的数据。

multiCapabilities: [{
    browserName: 'chrome',
    version: 'latest',
    platform: 'Windows 8',
    name: "tests",
    splitTestsBetweenCapabilities: true,
    acceptInsecureCerts: true,
    cssSelectorsEnabled: true,
    shardTestFiles: true,
    maxInstances: 5,
}],
maxSessions: 5,

使用这个配置,我可以触发 5 个 Chrome 浏览器实例并运行 5 个不同的脚本,每个脚本都自己获取数据。

问题是我需要为每个脚本使用 20 个登录凭据的轮换列表。我不确定是否有任何软件包已经这样做了。

我应该如何解决这个问题,以便每个脚本都可以使用一个唯一的用户名和密码?每个脚本都应该能够选择一个随机凭证,而其他脚本在该脚本完成其运行之前不能使用它。

标签: javascriptnode.jsjasmineprotractorsaucelabs

解决方案


您可以使用单独的过程来更新 .json 文件上的数据,然后像往常一样触发脚本。

有像json-update这样的 npm 包可用,或者您可以构建自己的脚本以在脚本之前运行。


推荐阅读