2016-03-03 15 views
5

Używam Maven Failsafe + TestNG do uruchamiania testów Selenium. Wiem, że jest możliwe, aby przekazać parametry do moich testów TestNG poprzez zdefiniowanie właściwości systemu w pom.xml tak:Równoległe testowanie w różnych przeglądarkach z Selenium i TestNG bez użycia testng.xml

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-failsafe-plugin</artifactId> 
    <version>2.19.1</version> 
    <configuration> 
     <systemPropertyVariables> 
     <browser>firefox</browser> 
     </systemPropertyVariables> 
    </configuration> 
    </plugin> 

Moje testy TestNG odnosi tę właściwość takiego:

@Parameters("browser") 
public void setUpClass(@Optional("firefox") String browser) 
{ 
    ... 
} 

Jednak byłem zastanawiasz się, czy możliwe jest równoczesne równoległe przeprowadzanie testów przeglądarki, bez konieczności określania pliku testng.xml. Próbowałem czegoś takiego, ale to nie zadziałało. Doceń, jeśli możesz pomóc.

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-failsafe-plugin</artifactId> 
    <version>2.19.1</version> 
    <configuration> 
     <systemPropertyVariables> 
     <browser>firefox, chrome</browser> 
     </systemPropertyVariables> 
     <parallel>tests</parallel> 
    </configuration> 
    </plugin> 

Czy można to osiągnąć przy pomocy konfiguracji pom.xml? Ze względu na wielomodułowy charakter mojego projektu, nie jestem chętny do używania pliku testng.xml.

+0

"Próbowałem czegoś takiego, ale to nie zadziałało." W czym problem? Po przechwyceniu wartości przeglądarki, co robisz z tym? –

+0

Chcę uruchamiać testy selenu w wielu przeglądarkach jednocześnie. Zaktualizuję moje pytanie dla jasności. –

Odpowiedz

0

Możesz wypełnić wszystkie właściwości w pliku * .properties, a następnie użyć go z Properties Maven Plugin. QATools Properties ułatwi korzystanie z nich podczas konfiguracji sterowników.

+0

Dzięki @Enot Enotovich za odpowiedź. Spróbuję tego, chociaż szukałem natywnego rozwiązania bez używania dodatkowych wtyczek. –

0

Można również uruchomić programowo test TestNG. Sprawdź tutaj TestNG Running programmatically , więc od maven u musisz po prostu wywołać swoją klasę za pomocą głównej metody z kodem do uruchomienia programu testng programowo i odczytać dowolne właściwości z dowolnego źródła (csv, właściwości, xml, xlsx., Itp.)

+0

Dzięki @Mrunal Gosar za odpowiedź. Czy możesz dać mi znać, w jaki sposób możemy użyć tej funkcji w projekcie z wieloma modułami maven? –

+0

powyższe podejście jest niezależne od multi-modułowego projektu maven .. (lub w tym przypadku nawet niezależne od maven :)) –

Powiązane problemy