首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >硒独立服务器

硒独立服务器
EN

Stack Overflow用户
提问于 2018-02-08 10:05:25
回答 2查看 2K关注 0票数 0

我想在远程机器中运行selenium测试用例。以下是我所遵循的步骤:

我在服务器机器中执行的步骤:

  1. 我下载了selenium-server-独立-3.9.1.jar+ Chrome驱动程序&将其放在一个文件夹中,并将其添加到$PATH环境变量中。
  2. 我已经在终端中使用java -jar selenium-server-standalone-3.9.1.jar -role hub启动了selenium服务器。

我在本地机器中执行的步骤:

  1. 我安装了selenium-webdriver和selenium-server-独立的-3.9.1.jar
  2. 我使用selenium编写了一个示例测试用例。
  3. 我在这里使用终端中的命令java -jar selenium-server-standalone-3.9.1.ja-role node -hub http://172.24.111.70:4444/grid/register启动了一个节点。节点连接到集线器。
  4. 我在终端中运行命令node test.js。我希望chrome实例在远程计算机中打开。但它在本地机器上运行。

截图:集线器:(远程)

节点:(本地)

你能解释一下我在这里犯的错误吗?我是否理解错了这个概念?

EN

回答 2

Stack Overflow用户

发布于 2018-02-08 10:16:27

将运行测试的web浏览器实例将在节点上创建,而不是在集线器上创建。集线器是如何注册多个节点,以便在不同的机器/节点之间传播负载。据我所知,您在远程计算机上有一个集线器,您可以将本地节点连接到它。

我认为您想要的也是在远程机器上运行节点,在同一台机器上注册到集线器(注册节点时可能必须将集线器的IP地址更改为本地主机)。

票数 0
EN

Stack Overflow用户

发布于 2018-02-08 10:58:24

因此,问题是您希望在远程机器上运行测试,但它们在本地运行?

根据它的声音,您已经正确地完成了所有的设置,并且集线器/节点应该工作得很好。您所需要做的就是,不要在本地机器上运行Node,而是在远程机器上运行它。您只需要将集线器看作主管,它将工作分配给节点(他们的员工)来完成。集线器本身不运行任何测试,它只是将数据发送到节点和多个节点之间的负载平衡。

我们有6台远程机器。机器1有集线器和节点,其他5有节点。在我们的项目中,我们指向集线器,所以当测试运行时,它们会被发送到那里。集线器执行其余的操作(取决于nodecfg文件和您在其中的设置)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48682708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档