2

通常,量角器脚本在具有以下功能的新浏览器实例中执行

capabilities: {
'browserName': 'firefox'
}

是否有任何片段或方法来调整它?这样我们的脚本就可以通过量角器使用已经打开的浏览器。

4

3 回答 3

1

什么对我有用,对于angular2

  1. 转到WebDriverHub并单击Create Session,复制生成的 ID(例如:) 2919ed90-efac-48ee-83df-46f8e98ebce7,您将在步骤#2 中需要它。
  2. 添加/修改protractor.conf.js以反映以下内容。

    export.config.seleniumAddress:' http://localhost:4444/wd/hub ',exports.config.seleniumSessionId:'2919ed90-efac-48ee-83df-46f8e98ebce7',exports.config.directConnect:false

观察:

  • 设置directConnectfalse很重要。
  • seleniumSessionId每次创建新会话时都需要更新(希望有办法告诉,使用当前正在运行的浏览器窗口seleniumSessionId而不是每次都更新)
于 2017-06-12T07:52:35.500 回答
0

使用browser.getCapabilities()获取调试器地址。使用调试器地址,我们可以与现有浏览器进行通信。在下面的链接中,我写了一篇关于这个的文章,看看这个。

关联

于 2020-02-02T07:18:20.270 回答
0

在这一行上,您有一个关于如何在命令行上将其传递给 Protractor 的示例:https ://github.com/angular/protractor/commit/3f3805f9496fb130ae01b3e3278ee1ea7684d8e7#diff-b61b72dbab31e232fdb8466ebf733c4dR54 您可以在配置中使用相同的参数来传递当前会话 ID。您通常可以通过browser.getSessionId 示例 1 获取当前 sessionId:

var runProtractor = spawn('bin/protractor',
     ['spec/attachSession.js', '--seleniumSessionId=' + currentSessionId]);

示例 2 使用您的配置:

var checkOptions = {
     hostname: 'localhost',
     port: 4444,
     seleniumSessionId: yourCurrentSessionId
....
}
于 2016-12-25T17:48:28.490 回答