пытается запустить параллельные тестовые сценарии в нескольких браузерах с сеткой селена - PullRequest
0 голосов
/ 22 февраля 2012

Я пытаюсь запустить два тестовых случая с несколькими браузерами

Мой XML

                  <?xml version="1.0" encoding="UTF-8"?>
                  <suite name="Same TestCases on on same machine on different Browser"  verbose="3"  parallel="tests" thread-count="2">
                  <test name="Run on Firefox">
                  <parameter name="browser"  value="*chrome"/>
                  <classes>
                  <class name="SeleniumGrid"/>
                  </classes>
                  </test>

                  <test name="Run on IE">
                  <parameter name="browser"  value="*iexplore"/>
                  <classes>
                  <class name="SeleniumGrid"/>
                  </classes>
                  </test>
                  </suite>

CLASS

                   public class SeleniumGrid {

public Selenium selenium;
@Parameters( { "browser" })
@BeforeClass
public void setup(String browser) {
    selenium = new DefaultSelenium("localhost", 4444, browser,"http://google.com");
    selenium.start();
    test_first();
    test_second();
}
@AfterClass
public void tearDown() {
    selenium.stop();
}
@Test
public void test_first() {
    selenium.open("/");
    selenium.type("q", "First");
    selenium.click("btnG");
}
@Test
public void test_second() {
    selenium.open("/");
    selenium.type("q", "second");
    selenium.click("btnG");
}

}

Работает безошибка и открывается 1 iexplorer и 1 браузер Firefox

мой GRID SnapSot концентратора, показывающий АКТИВНОЕ ПУЛЬТ ДИСТАНЦИОННОГО УПРАВЛЕНИЯ: chorome & Internet explorer

, но браузер - просто пустые страницы, где я ожидал страницу google.com.

Любая идея, где я не прав

Спасибо

Ответы [ 2 ]

0 голосов
/ 11 января 2014

Я думаю, проблема в том, что вы ничего не используете для разветвления. Я создаю 2 тестовых класса с 1 @Test в каждом. затем я использую потоки Gradle-maxParallelForks или Maven Surefire для разветвления процессов запуска тестов. Кроме того, TestNG может разворачивать процессы в пределах одной jvm, и это работает также до тех пор, пока вы установите для него значение «fork by classes».

0 голосов
/ 23 февраля 2012
selenium.open("http://google.com");

Если это не работает, попробуйте:

selenium.open("http://google.com");
selenium.open("http://google.com");

помог мне с селеном в Opera.

Если ничего не работает, обновитесь до WebDriver.Самое простое решение.

...