Может. Это ограничение касается @BeforeClass и @AfterClass
Ага, уже прочитал. Сам использую testng. Слышал о разных отличиях c junit, но о статичности конкретно @Before- / AfterClass аннотированных методов - впервые.
Попробуйте тогда с testng поиграться. Принципиальных отличий не увидите, но от ограничения по статичности избавитесь.
Поковырял немного свой "фреймворк" по вашим советам - так и не заработал. Дело в реализации, к сожалению. Буду разбираться. Пока переписал "по старинке", без использования PageFactory и PageObject - класс тестов, класс страниц + UI map в виде полей String. Не эффективно и не красиво, но работает железно ))). Скорость разработки, как не печально, иногда решающий фактор. Удаленный запуск проходит, тест-сюиты тоже работают. По части testng - действительно интересная вещь, попробую. Фреймворк же оставлю на попозже. Спасибо всем большое за помощь, часть ошибок, благодаря вам учел и исправил.
Добрый день.
Если никто не против, я продолжу эту тему.
Просьба помочь разобраться с паралельным запуском тестов + grid.
По совету ArtOfLife решил настроить паралельный запуск тестов. Ниже содержание XML testng.xml
В итоге тест запускается только в одном экземпляре браузера.
На первый взгляд проблема тут: thread-count="1". Увеличьте кол-во потоков до необходимого вам параметра запускаемых параллельно тестов. Плюс ко всему, нужно настроить браузер в ноде, указав максимальное число инстансов и сессий.
Запускал с разными значениями thread-count. Результат не поменялся. Ноду поднимал так:
java -jar selenium-server-standalone-2.28.0.jar -role node -hub http://localhost:4444/grid/register -browser browserName=firefox,version=18.0.2,maxInstances=5,platform=XP
А драйвер у вас случайно не static?
Не, менял на Public. Выше в моем сообщении видно.
Не видно. Меня интересует не метод, возвращающий инстанс драйвера, а само объявление:
private static RemoteWebDriver driver;
Вот если он у вас статический, жить он будет в единственном экземпляре, независимо от кол-ва созданных объектов. Так вот, проверьте, стоит ли у вас static в объявлении.
Извините, не все скопировал:
public RemoteWebDriver driver;
А запускаете вы как все это дело? Ant, Maven? Уверены, что ваш testng.xml подгружается?
Для начала я хотел проверить запуском с Eclipse. Run Configuration\Suite - testng.xml
Попробуйте в ноде еще указать maxSession параметр:
-browser "platform=WINDOWS,browserName=firefox,version=18,maxInstances=3,ensureCleanSession=true -maxSession 10 -nodeTimeout 30"
MaxSession This says....how many browsers (Any Browser and any version) can run in parallel at a time in the remote system. So this overrides the Max Instances settings and can restrict the number of browser instances that can run in parallel.
А покажите код теста пожалуйста
Не помагает. Все так же запускает три копии браузера, но только доходит до теста остальные два вырубает и проходит на одном.
А как вы связываете инстанс драйвера с пейдж обджектом? Где и на каком этапе формируются инстансы пейджей?
Да, покажите где и как вы используете объект драйвера, создаваемый перед тестом