Selenium Webdriver remote setup

后端 未结 1 993
爱一瞬间的悲伤
爱一瞬间的悲伤 2021-01-31 22:01

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

1条回答
  •  鱼传尺愫
    2021-01-31 22:19

    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.

    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();
        }
    
    .....
    

    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.

    Hope this helps you.

    0 讨论(0)
提交回复
热议问题