Аннотация @WithDriver ("firefox") не работает с Grid


(Ramon Menezes) #1

Доброе время суток,
не уверен что пишу в нужную тему, в случае негативного ответа перенесите в правильную.
суть проблеммы следующая:
есть фреймворк построен на Thucydides. часть тестов мне нужно запускать исключительно на FF.
локально все работает нормально с помощью Аннотации @WithDriver ("firefox") перед тестовым методом. но когда запускаю удаленно (через Jenkins Grid plugin построено общение с ВМ) то эта аннотация скипается.
В чем может быть проблемма?
на всякий случай пример того что использую

@Managed(uniqueSession = true, driver="firefox")

@Test
@WithDriver ("firefox")
public void .....

(Руслан) #2

честно никогда не пробовал так запускать на удалённой машине

а почему Jenkins'у просто не дать команду при сборке ?

clean test -Dwebdriver.remote.url=http:/1.1.1.1:4444/grid/hub
-Dwebdriver.driver=firefox

и @Managed(uniqueSession = true)

(Ramon Menezes) #3

это используеться для отдельного класа, а все остальные N-штук надо ранать в ие, к примеру


(Руслан) #4

А IE стартует?

попробуй ещё запустить так для тестов :

@WithDriver("firefox")
@Test

(Ramon Menezes) #5
-Dwebdriver.driver=iexplorer

потом в коде в определенном класе:
@Managed(uniqueSession = true, driver="firefox")

так стартует все в ие(если запускать remote, локально запускаеться ие, но для этого класа запускаеться отдельный фф)


(Руслан) #6

кстати и ещё вопрос, как может скипаться, если в .pom'е по умолчанию стоит файрфокс?

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <thucydides.version>0.9.275</thucydides.version>
    <webdriver.driver>firefox</webdriver.driver>
</properties>

(Ramon Menezes) #7

есть такая штука, но почему оно тогда локально работает нормально?


(Руслан) #8

локально работает нормально, потому что так задано))

@Managed(uniqueSession = true, driver="chrome")

заменяет дефолтный firefox на chrome

если убрать driver="..." -> будет firefox

тут нужно больше подробностей, что понять , почему оно теряется на удалённом

вопрос всё ещё актуален)


(Ramon Menezes) #9

этот вариант был стартовым)) и к сожалению нерабочим
единственное что я сразу писал Test а после него WithDriver
щас буду пробовать


(Руслан) #10

(Ramon Menezes) #11

после впихивания этой переменной в пом там естественно ошибка, ибо система не может принять неопределенную переменную


(Руслан) #12

попробуйте


(Ramon Menezes) #13

все такое же...
может быть проблема в том что в проекте версия селениума 44, а в дженкинсе стоит 42?


(Руслан) #14

врядли...


(Ramon Menezes) #15

еще одно, WithDriver не работает как в случае использования ThucydidesRunner, так и в случае ThucydidesParameterizedRunner, значит проблема на уровне JUnita


(Ramon Menezes) #16

а можно ли как то сменить драйвер руками?


(Руслан) #17

всмысле?
и на каком этапе?


(Ramon Menezes) #18

я имею в виду есть набор класов, по дефолту примем что они запускаютсья в хроме, нужно один класс запустить в фф, получаеться что в Before этого класса нужно убить старый инстанс драйвера и поднять фф, и еще одно условие...Thucydides((


(Ramon Menezes) #19

как временное решение взял аннотацию @WithTag, в принципе работает, только придеться расплодить джобы в дженкинсе((


(Руслан) #20

кстати, а через сьюты не пробовали?