Selenium分布多台机器的负载

时间:2015-07-19 11:34:13

标签: node.js selenium selenium-webdriver selenium-grid webdriver-io

我一直在阅读Selenium Grid,我知道我可以在此Hub / Master节点上创建Hub节点和插件节点。

但我的问题是:Selenium如何决定何时将处理发送到远程节点?

当它确实将处理发送到远程节点时,如果在我的NodeJS脚本中我正在处理文件,我的脚本将在哪个文件系统中保存文件?

想象一个非常简单的脚本,如:

client
  .init()
  .url('something')
  .getTitle()
  .then(function(title){ 
      /*save title to disk*/  
  });

这是一个理论问题,所以对于正确的答案,我希望能够解释这个过程的文档。谢谢!

1 个答案:

答案 0 :(得分:1)

从以下PDF引用:

  

要并行运行Selenium WebDriver测试,我们需要进行设置   Selenium Grid Server作为集线器。该中心将提供可用的   Selenium WebDriver测试的配置或功能。该   从属机器,也称为节点,连接到集线器以实现并行   执行。 Selenium WebDriver测试使用JSON线协议进行通信   到Hub |用于执行Selenium命令。 Hub就像是   中心点,它将接收整个测试请求和   将其分发到正确的节点。

你问:

  

Selenium如何决定何时将处理发送到远程节点?

对此不太确定,但我希望它能从可用节点中随机提供一个。如果您愿意,可以使用applicationName desiredCapability明确告诉您的代码哪个节点应该运行哪个测试,有a thread about it

  

当它确实将处理发送到远程节点时

测试开始时,会为其分配一个节点并开始处理(==测试执行)..

  

我的脚本将保存文件的文件系统

无论运行测试的哪个节点都将获取文件。

对于文档,我会检查this。我还发现this pdf易于理解。