ローカルマシンでSelenium-server-standalone.jarを実行していて、実行したいテストをリモートマシンでコンパイルしましたが、ブラウザーを実行するマシンにテストを接続する方法がわかりません。助けてくれてありがとう。
更新:ローカルマシン(ブラウザを実行するマシン)で実行しました
Java -jar Selenium-server-standalone-2.25.0.jar -mode hub
私が実行したリモートマシン(テストを実行するマシン)で
Java -jar Selenium-server-standalone-2.25.0.jar -role webDriver -hub http://**My ip*:4444
私のコードは以下を含みます:
@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で作成されています
上手。それは問題じゃない。この問題の解決方法を共有したいと思います。 VM(仮想マシン)jdkがインストールされており、SeleniumサーバーがVM上で実行されています。VMはIP:192.168.4.52(RDC-リモートデスクトップ接続)必要なブラウザがインストールされています(firefox 15)。ブラウザを開きます。すべての更新とその他のポップアップを無効にしました。
ローカルマシンにSeleniumテストパックがあります。そして、私はそれらを自分のVMで実行します。 Seleniumのセットアップは次のとおりです。
_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を指定するだけで機能します。
これがお役に立てば幸いです。