5

我有一个 IP 主机192.168.3.146。此 IP 是 DHCP 服务器提供的静态 IP。现在我将网络配置为桥接的虚拟机。

我将 IP 视为10.0.2.15. 既然它是桥接的,我是否也应该在192.168.3.x分配给 VM 的范围内获得任何东西?

当我从这个 VM 注册到主机时,我无法注册 Web 驱动程序,它只是说“正在注册”,并且在我杀死它之前什么都不做。

用于注册节点的命令:

java -jar selenium-server-standalone-2.26.0.jar -role web driver -hub http:/192.168.3.146:4444/grid/register -port 5558 -host 10.0.2.15 -browser "browserName=firefox, version=6, platform=WINDOWS"

也试过:

java -jar selenium-server-standalone-2.26.0.jar -role node -port 5558 -hub http:/192.168.3.146:4444/grid/register

注意:这两个命令http:/都是故意的 - 请忽略它。我实际上正在使用//,因为我在发布时遇到错误,我使用过:/

请问有什么建议吗?

4

4 回答 4

1

获得此设置的最简单方法是使用 NAT 网络和本地端口转发。这种设置的好处是您可以离线运行所有内容,而不是依赖不断变化的动态 IP 地址。这是你如何做到的:

将 Guest VM 配置为使用 NAT 网络,为端口 4444 和 5555 添加端口转发规则。

主机,作为集线器

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

我使用此设置在 VirtualBox 中运行modern.ie VM 机器的多个实例,并且运行良好。

于 2015-06-22T15:11:22.417 回答
0

我在尝试通过虚拟机从主机远程运行时遇到了同样的问题。我使用了 Oracle VM Virtual Box。

由于 VM 被分配了 2 个不同的 IP,一个通过 NAT 分配,另一个通过桥适配器分配......因此 Selenium 节点无法向 Selenium HUB 注册自身,因为默认情况下它注册 NAT。

断开/禁用分配了“10.0.2.15”IP 的 VM NAT N/W 适配器的 Internet。不要触摸网桥适配器设置...然后尝试注册节点...它可以工作。

我建议通过 VM >> Settings>> Network Screen 连接 Bridge Adapter 请检查下面的链接...

http://www.thegeekstuff.com/2012/03/virtualbox-guest-additions/ https://blogs.oracle.com/fatbloke/entry/networking_in_virtualbox1

希望这会有所帮助......一切顺利:-)

于 2012-11-29T11:59:21.083 回答
0

hmmmmm .... 简单地在远程机器上运行 selenium 服务器怎么样:

java -jar selenium-server-standalone-2.26.0.jar

在您的例如 BaseTest.java (您有 webDriver 初始化的地方)中,您只需添加:

static WebDriver driver;

    private String loginBaseUrl;


    @BeforeClass
    public static void firefoxSetUp() throws MalformedURLException {

          DesiredCapabilities capability = DesiredCapabilities.firefox();

        driver = new RemoteWebDriver(new URL("http://192.168.4.52:4444/wd/hub"), capability);

        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
        driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
        driver.manage().window().setSize(new Dimension(1920, 1080));
    }
    @Before
    public void homePageRefresh() throws IOException {
        driver.manage().deleteAllCookies();
        driver.get(propertyKeysLoader("login.base.url"));
    }


    @AfterClass
    public static void closeFirefox(){
        driver.quit();

    }
于 2012-11-29T20:27:56.987 回答
0

我遇到过同样的问题。我为具有默认属性的虚拟机配置了 NAT 和“仅主机适配器”网络。我使用“仅主机适配器”的 IP 解决了它。

对我来说,NAT的IP是10.0.2.15(和你一样),“Host-only adapter”的IP是192.168.56.101。所以我用:

java -jar selenium-server-standalone-2.26.0.jar -role webdriver -hub http:// 192.168.3.146:4444/grid/register -port 5558 -host 192.168.56.101-browser "browserName=firefox, version=6, platform=WINDOWS"

于 2013-09-29T01:57:10.013 回答