【发布时间】:2018-10-24 09:09:33
【问题描述】:
我正在使用量角器-黄瓜框架(量角器 5.2.2 和黄瓜 3.2.0)。我需要为多个用户输入一些数据到我们的应用程序中。我正在通过 selenium grid2(硒)的分布式测试执行来运行我的量角器脚本-server-standalone-3.14.0.jar)。这样我就可以在 5 个节点中运行我的脚本(每个节点只有一个浏览器设置)。下面给出了我与单个用户一起运行时的 multiCapabilities。
multiCapabilities: [
{
browserName: 'chrome',
BatchNo:1
},
{
browserName: 'firefox',
BatchNo:2
},
{
browserName: 'internet explorer',
BatchNo:3
},
{
browserName: 'chrome',
BatchNo:4
},
{
browserName: 'firefox',
BatchNo:5
},
],
我的目标是与多个用户一起运行。所以在处理所有 5 个节点中的第一个用户数据后,我必须处理下一个用户数据。我有一个用户 ID 数组
var userid=[1500,1501,1502]
那么我可以在 multiCapabilities 中使用一个循环并将用户 ID 传递给 multiCapabilities 的每个对象吗?我需要的是,如果我在 multiCapabilities 的每个对象中都给出了用户 ID,那么第一个用户 ID 请求应该传递给所有 5 个节点,这 5 个节点应该处理第一个用户的数据,在完成第一个用户之后,然后是下一个用户 ID 请求应该传递给所有5个节点,这5个节点应该处理第二个用户的数据等等。但我的理解是一旦我们设置了multiCapabilities,那么在给出命令“protractor conf.js”之后我们就无法重置它了。所以我该怎么做?提前谢谢。
【问题讨论】:
-
量角器不支持本机执行此操作。当 Protractor 读取 conf.js 时,capabilites 或 multiCapabilities 只加载一次。为什么不为每个测试用例尝试以下过程:打开注销 url -> 打开登录 url -> 输入不同的用户 ID 和密码 -> 执行案例场景步骤。将进程放入 userid 数组的循环中。
-
感谢您的回复..根据要求,我需要在所有线程/浏览器/节点中执行第一个用户数据,然后在第一个用户完成后,我需要执行下一个用户数据线程/浏览器/节点等等。
标签: protractor cucumberjs selenium-grid2