[英]Selenium Standalone server
我想在远程计算机上运行硒测试用例。 这些是我遵循的步骤:
我在服务器计算机上执行的步骤:
我已经下载了selenium-server-standalone-3.9.1.jar + Chrome驱动程序,并将其放在一个文件夹中,并将其添加到$ PATH环境变量中。
我已经在终端中使用java -jar selenium-server-standalone-3.9.1.jar -role hub
启动了selenium服务器。
我在本地计算机上执行的步骤:
我已经安装了selenium-webdriver和selenium-server-standalone-3.9.1.jar
我使用Selenium Webdriver编写了一个示例测试用例。
我已经在终端中使用命令java -jar selenium-server-standalone-3.9.1.ja-role node -hub http://172.24.111.70:4444/grid/register
在这里启动了一个节点。 节点已连接到集线器。
我在终端中运行命令node test.js
我希望Chrome实例可以在远程计算机中打开。 但是它正在本地计算机上运行。
您能解释一下我在这里犯的错误吗? 我理解这个概念错了吗?
将运行您的测试的Web浏览器实例将在不是集线器的节点上创建。 通过集线器可以注册多个节点,从而可以在不同的计算机/节点之间分散负载。 据我所知,远程计算机上有一个集线器,您可以将本地节点连接到该集线器。
我想您想要的是也在远程计算机上运行该节点,并在同一台计算机上注册到集线器(注册节点时,可能必须将集线器的IP地址更改为localhost)。
因此,问题是您希望测试在远程计算机上运行,但它们在本地运行吗?
从它的声音来看,您已经正确完成了所有设置,并且集线器/节点应该工作正常。 您需要做的就是,不要从本地计算机上运行节点,而是要从远程计算机上运行它。 您只需要将集线器视为主管,他就将工作交给节点(其员工)来完成。 集线器本身不会运行任何测试,它只是将数据发送到节点并在多个节点之间进行负载平衡。
我们设置了6台远程计算机。 机器1具有集线器和一个节点,其他5个具有节点。 在我们的项目中,我们指向集线器,因此当测试运行时,它们会被发送到那里。 该中心将完成其余工作(取决于nodecfg文件和您在其中的设置)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.