我使用 Ubuntu 10.04 操作系统作为主机,Windows 7 作为客户操作系统。我想运行一些硒在我的 Ubuntu Linux 操作系统上进行测试,其 Selinum 服务器在我的 Windows 7 客户操作系统上启动。在客户操作系统上,我可以以 身份访问 Selenium 服务器http://127.0.0.1:4444/wd/hub
。但是,我无法从主机操作系统访问它。
我尝试了网上介绍的另一种解决方案,但这种组合似乎很少见,我从未入围任何答案。我见过的大多数方法都是从主机使用 10.0.2.2 作为 IP 地址,这让我http://10.0.2.2:4444/wd/hub
从主机操作系统尝试几乎没有成功。
答案1
您需要使用虚拟操作系统的 IP 地址。对于作为客户机的 Windows 7,单击开始,输入cmd
并按Enter。输入IPCONFIG
并按Enter。查找IPv4 Address
,并用它代替 IP 地址。
问题是,每个设备(物理或虚拟)都需要在网络上拥有自己的 IP 地址才能连接。在默认模式下,VirtualBox 将为虚拟机分配自己的地址和地址范围,并“桥接”与主机的连接以获取 Internet 访问。这就是整个事情的起因10.0.2.2
。不过,您的地址可能不同,因此最好如上所述进行仔细检查。
答案2
您现在遇到的错误是,Guest 能够与 Host 通信,但注册了错误的回调 IP 地址。通过使用 localhost / 127.0.0.1,您可以告诉 Selenium 节点和网格实例依赖本地端口转发。
配置 Guest VM 以使用 NAT 网络,并为端口 5555 和端口 4444 添加端口转发,将两个 IP 地址留空或设置为 0.0.0.0 您可能还需要转发端口 80,以便您的主机可以看到 Guest Web 服务器。使用 NAT 时,在 Guest 计算机中,IP 地址 10.0.2.2 是与主机通信的 IP 地址。以下是命令:
主机作为集线器
java -jar selenium-server-standalone.jar -role hub -port 4444
客户机作为节点
java -jar selenium-server-standalone.jar -role node -host 127.0.0.1 -port 5555 -hub http://10.0.2.2:4444/grid/register
对于 modern.ie Windows 虚拟机,请务必配置安全设置,尤其是 Internet Explorer。指南可在此处找到:
http://elgalu.github.io/2014/run-protractor-against-internet-explorer-vm/