Selenium Webdriver远程设置 [英] Selenium Webdriver remote setup

查看:218
本文介绍了Selenium Webdriver远程设置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的本​​地机器上运行了selenium-server-standalone.jar,我想在远程机器上编译运行的测试,但我不知道如何让测试连接到运行该机器的机器上浏览器。任何帮助表示赞赏。

I have the selenium-server-standalone.jar running on my local machine, and the tests I want to run compiled on my remote machine, but I have no idea how I make the tests connect to the machine that will run the browser. Any help appreciated.

更新:
在我的本地计算机上(我将运行浏览器的计算机)我跑了

Update: On my local machine (the one I will be running the browser on) I ran

java -jar selenium-server-standalone-2.25.0.jar -mode hub

在我的远程机器上(我将运行测试)我跑了

on my remote machine (that I will run the tests from) I ran

java -jar selenium-server-standalone-2.25.0.jar -role webDriver -hub http://**My ip*:4444

我的代码包含以下内容:

my code contains the following:

 @Before
    public void setUp() throws Exception {
            DesiredCapabilities capability = DesiredCapabilities.firefox();
            driver = new RemoteWebDriver(new URL("http://**My ip**:4444/wd/hub"),  
            capability);
            baseUrl = "http://phy05:8080";
            driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
            driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
            driver.manage().window().setSize(new Dimension(1920, 1080));

我使用Linux而我的测试是用Java编写的

I am using Linux and my tests are written in Java

推荐答案

好吧。那不是问题。我想分享一下我是如何解决这个问题的。
我安装了jdk的VM(虚拟机)和运行在VM上的selenium服务器。 VM有IP:
192.168.4.52
我通过(RDC-远程桌面连接)连接到它。安装了所需的浏览器(firefox 15)。打开浏览器。禁用所有更新和其他弹出窗口。

well. That's not a problem. I'd like to share how i resolved this issue. I got VM (virtual machine) with jdk installed and selenium server running on VM. VM has IP: 192.168.4.52 I connected to it through(RDC-remote desktop connection). Installed needed browser on it(firefox 15). Open browser. Disabled all the updates and other pop ups.

我的本​​地计算机上有selenium测试包。我在我的VM上运行它们。
Selenium设置如下:

I've got selenium tests pack on my local machine. And I run them on my VM. Selenium setup is following:

import com.google.common.base.Function;
import com.thoughtworks.selenium.SeleneseTestBase;
import junit.framework.Assert;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.openqa.selenium.*;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.support.ui.FluentWait;
import org.openqa.selenium.support.ui.Wait;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;
import org.springframework.core.io.support.PropertiesLoaderUtils;

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.NoSuchElementException;
import java.util.Properties;
import java.util.concurrent.TimeUnit;


public class BaseSeleniumTest extends SeleneseTestBase {
    static WebDriver driver;


    @Value("login.base.url")
    private String loginBaseUrl;

    @BeforeClass
    public static void firefoxSetUp() throws MalformedURLException {

//        DesiredCapabilities capability = DesiredCapabilities.firefox();
        DesiredCapabilities capability = DesiredCapabilities.internetExplorer();

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


//        driver = new FirefoxDriver();  //for local check

        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 openFiretox() throws IOException {



        driver.get(propertyKeysLoader("login.base.url"));


    }


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

.....

这块代码将在远程机器上运行所有selenium测试。
字符串 driver = new RemoteWebDriver(new URL(http://192.168.4.52:4444/wd/hub),capability);
你应该提一下机器的IP,这应该可行。

this piece of code will run all the selenium tests on remote machine. in the string driver = new RemoteWebDriver(new URL("http://192.168.4.52:4444/wd/hub"), capability); you simply should mention IP of your machine and this should work.

希望这对你有帮助。

这篇关于Selenium Webdriver远程设置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆