javascript - 如何使用 NodeJS、Protractor 和 Saucelabs 向并行运行的每个脚本发送不同的数据?
问题描述
我使用 NodeJS、Protractor、Jasmine Framework 和 SauceLabs 设置了多个自动化脚本。
每个脚本都在单独的 .JS 文件中,它从 .JSON 文件中读取数据。我已经在 JSON 文件中定义了登录凭据和所有其他必要的数据。
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 个登录凭据的轮换列表。我不确定是否有任何软件包已经这样做了。
我应该如何解决这个问题,以便每个脚本都可以使用一个唯一的用户名和密码?每个脚本都应该能够选择一个随机凭证,而其他脚本在该脚本完成其运行之前不能使用它。
解决方案
您可以使用单独的过程来更新 .json 文件上的数据,然后像往常一样触发脚本。
有像json-update这样的 npm 包可用,或者您可以构建自己的脚本以在脚本之前运行。
推荐阅读
- mdriven - MDriven 中是否支持有序列表?
- javascript - 在 JS 或 jQuery 中的数组中搜索
- python - 无法将烧瓶棉花糖导入 python3 项目
- python - Flask-AppBuilder 同一个表内的多对多关系
- amazon-web-services - 如何在 AWS 上部署 Next.js 无服务器应用程序
- javascript - Javascript如何过滤嵌套数组数据
- delphi - 找不到 Arduino AT-Tiny
- android - 在 Ionic 中禁用黑暗主题
- android - 无法刷新firebase IdToken
- python - 关于 LSTM 的 3D 输入形状的快速问题