Sorun şu: eğer otomatik testlerimi maven yoluyla başlatırsam (komut isteminden VEYA tutulması), bunlar sorunsuz çalışır. Eğer testng.xml (tutulmadan) ile başlatmaya çalışırsam, testlerim NullPointerException ile başarısız olur.Selenium testi sadece maven ile başlatılabilir. TestNG xml dosyasını kullanmaya başladığınızda NullPointer ile başarısız (sistem değişkeni 'null' olduğundan)
private final String browser=System.getProperty("browser").toUpperCase();
Yani, deney daima: Temelde burada "tarayıcı" Burada
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- Dependency versions -->
<selenium.version>LATEST</selenium.version>
<!-- Configurable variables -->
<threads>3</threads>
<browser>chrome</browser>
<overwrite.binaries>false</overwrite.binaries>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<parallel>methods</parallel>
<threadCount>${threads}</threadCount>
<systemPropertyVariables>
<browser>${browser}</browser>
<!--Set properties passed in by the driverbinary downloader-->
<webdriver.chrome.driver>${webdriver.chrome.driver}</webdriver.chrome.driver>
<webdriver.ie.driver>${webdriver.ie.driver}</webdriver.ie.driver>
<webdriver.opera.driver>${webdriver.opera.driver}</webdriver.opera.driver>
</systemPropertyVariables>
ve denilen sistem değişkeni ile benim pom.xml ben "tarayıcı" değişken almak için kullanmak kod olmasıdır Yukarıdaki satırda NullPointerException ile yürütmeyi durdurur. hatadır: BTW
FAILED: secondTest
java.lang.NullPointerException
at DriverPackage.WebDriverThread.<init>(WebDriverThread.java:17)
I (sadece bir metin değeri gibi) şu şekilde tarayıcı değeri atarsanız:
private final String browser=("firefox").toUpperCase();
sonra testi de Testng.xml yoluyla çalışır.
================
Benim düşünce bu daha ziyade yaklaşımı hakkında, benim kodu hakkında olmadığıdır. Belki de TestNG'nin yardımıyla sistem değişkenlerine erişmenin hangi endişe olduğunun farkında olmadığım bazı şeyler var mı? Ek olarak bahsetmek istediğim, maven-failsafe-plugin eklentisini kullanıyorum (bunu pom.xml dosyasında görebilirsiniz). Herhangi bir öneri son derece takdir edilmektedir.