Селен: пытается использовать Селен Grid для запуска тестов в нескольких браузерах - PullRequest
0 голосов
/ 20 февраля 2012

enter image description here Я запускаю эти 3 теста для Selenium ID,

enter image description here

, но я хочу запустить эти тесты параллельно в разных браузерах, для этого я пытаюсьиспользуйте Selenium Grid и ссылаясь на это http://code.google.com/p/selenium/wiki/Grid2

, для этого я использую этот код

                 public class testjava extends SeleneseTestCase {
@Before
public void setUp() throws Exception {
    selenium = new DefaultSelenium("localhost", 4444, "*chrome", "www.yahoo.com/");
    selenium.start();
}

@Test
public void testTestjava() throws Exception {
}

@After
public void tearDown() throws Exception {
    selenium.stop();
}

}

но я получаю это исключение

              java.lang.NoSuchMethodError: org.apache.http.conn.scheme.Scheme.<init>(Ljava/lang/String;ILorg/apache/http/conn/scheme/SchemeSocketFactory;)V
at org.openqa.selenium.remote.internal.HttpClientFactory.getClientConnectionManager(HttpClientFactory.java:57)
at org.openqa.selenium.remote.internal.HttpClientFactory.<init>(HttpClientFactory.java:47)
at org.openqa.selenium.remote.HttpCommandExecutor.<init>(HttpCommandExecutor.java:211)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:102)
at com.selenium.testjava.setUp(testjava.java:20)
at junit.framework.TestCase.runBare(TestCase.java:128)
at com.thoughtworks.selenium.SeleneseTestCase.runBare(SeleneseTestCase.java:230)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:120)
at junit.framework.TestSuite.runTest(TestSuite.java:228)
at junit.framework.TestSuite.run(TestSuite.java:223)
at org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

Спасибо

Ответы [ 2 ]

1 голос
/ 20 февраля 2012

DefaultSelenium предназначен для совместимости с Selenium 1 (RC).localhost - это ваш RC-сервер (это сервер selenium).

Но я бы порекомендовал вам использовать Selenium 2. Как сказано в вашей ссылке, вы должны сделать следующее:

DesiredCapabilities capability = DesiredCapabilities.firefox();
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability); //localhost is your hub here

Это простой пример, он запрашивает Firefox в вашей сетке.Вы можете указать любой браузер на любой платформе:

capability.setBrowserName(“firefox”); 
capability.setPlatform(“LINUX”);  
capability.setVersion(“3.6”);

И вам нужен по крайней мере один узел, который вы регистрируете в хабе, например:

java -jar selenium-server-standalone-2.x.0.jar -role wd -hub http://localhost:4444/grid/register -browser browserName=firefox,version=3.6,platform=LINUX

Опять же предполагается, что хаб Seleniumработает на localhost.Я надеюсь, что это поможет в качестве начала.Просто спросите, есть ли у вас дополнительные вопросы.

0 голосов
/ 20 февраля 2012

Вам необходимо использовать JUnit 4 в сочетании с Selenium.

Скопируйте свой тест JUnit 4 Selenium в Eclipse.

Записать запуск профиля Firefox и, кроме того, DesiredCapabilities capability = DesiredCapabilities.firefox(); в @Before

Запустите Hub, запустите Node, запустите свои тесты.

Но я предлагаю вам прочитать основные учебные пособия по JUnit 4 и Selenium Testing в JUnit 4. Просто Google, чтобы найти свое решение.

Знание Java также помогает.

...