2017-06-16 1 views
0

Ich habe die Abhängigkeit für den WebDrivermanager in meiner pom.xml-Datei aktualisiert. während der Code in meinem lokalen wie unten ausgeführt wird, scheint es gut zu funktionieren.Unterstützt Webdiremanager RemoteWebDriver (Selenium Grid)?

driver = new ChromeDriver(capability); 

aber als ich versuchte, den Code Remotely mit RemoteWebDriver zu laufen, es scheiterte und immer wieder gefragt Binärdateien für Browser hinzufügen

URL remote_grid = new URL("http://" + seleniumHub + ":" + seleniumHubPort + "/wd/hub"); 
driver = new RemoteWebDriver(remote_grid, capability); 

Es unten Ausnahme auslöst.

[Invoker 1386767190] Keeping method SeleniumInit.setUp(java.lang.reflect.Method, org.testng.ITestContext)[pri:0, instance:[email protected]] for class [TestClass name=class com.wo2.commonfucntion.index.LoginIndex] 
[Invoker 1386767190] Keeping method SeleniumInit.tearDown(org.testng.ITestResult)[pri:0, instance:[email protected]] for class [TestClass name=class com.wo2.commonfucntion.index.LoginIndex] 
[Invoker 1386767190] Keeping method SeleniumInit.setUp(java.lang.reflect.Method, org.testng.ITestContext)[pri:0, instance:[email protected]] for class [TestClass name=class com.wo2.commonfucntion.index.LoginIndex] 
[Invoker 1386767190] Invoking @BeforeMethod SeleniumInit.setUp(java.lang.reflect.Method, org.testng.ITestContext)[pri:0, instance:[email protected]] 
13:27:40.503 [main] INFO i.g.bonigarcia.wdm.BrowserManager - Reading https://chromedriver.storage.googleapis.com/ to seek [chromedriver] 
13:27:41.358 [main] INFO i.g.bonigarcia.wdm.BrowserManager - Latest version of [chromedriver] is 2.30 
13:27:41.368 [main] DEBUG io.github.bonigarcia.wdm.Downloader - Using binary driver previously downloaded C:\Users\zara\.m2\repository\webdriver\chromedriver\win32\2.30\chromedriver.exe 
13:27:41.368 [main] INFO i.g.bonigarcia.wdm.BrowserManager - Exporting webdriver.chrome.driver as C:\Users\zara\.m2\repository\webdriver\chromedriver\win32\2.30\chromedriver.exe 
========= Google Chrome Browser ========== 
Failed to invoke configuration method com.wo2.init.SeleniumInit.setUp:The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://chromedriver.storage.googleapis.com/index.html 
Command duration or timeout: 120 milliseconds 
Build info: version: '3.4.0', revision: 'unknown', time: 'unknown' 
System info: host: 'ICWS-1162', ip: '192.168.0.42', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_111' 
Driver info: driver.version: RemoteWebDriver 
[Invoker 1386767190] Keeping method SeleniumInit.tearDown(org.testng.ITestResult)[pri:0, instance:[email protected]] for class [TestClass name=class com.wo2.commonfucntion.index.LoginIndex] 
[Invoker 1386767190] Invoking @AfterMethod SeleniumInit.tearDown(org.testng.ITestResult)[pri:0, instance:[email protected]] 

TEST FAILED - validLogin 

ERROR MESSAGE: null 


message from tear downjava.lang.NullPointerException 
===== Invoked methods 
    SeleniumInit.fetchSuiteConfiguration(org.testng.ITestContext)[pri:0, instance:[email protected]][email protected] 1501587365 
    LoginIndex.validLogin()[pri:0, instance:[email protected]] 1501587365 
===== 
Creating D:\Rahul_P-QA\Intech_Workspace\WO2_QA\WO2_QA\test-output\Work Order - 2\WO2_SC_001 _ To verify user can login successfully..html 
Creating D:\Rahul_P-QA\Intech_Workspace\WO2_QA\WO2_QA\test-output\Work Order - 2\WO2_SC_001 _ To verify user can login successfully..xml 
FAILED CONFIGURATION: @BeforeMethod setUp(public void com.wo2.commonfucntion.index.LoginIndex.validLogin(), [email protected]) 
org.openqa.selenium.WebDriverException: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://chromedriver.storage.googleapis.com/index.html 
Command duration or timeout: 120 milliseconds 
Build info: version: '3.4.0', revision: 'unknown', time: 'unknown' 
System info: host: 'ICWS-1162', ip: '192.168.0.42', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_111' 
Driver info: driver.version: RemoteWebDriver 

Antwort

0

Tatsächlich kann WebDriverManager beim Setup von Selen Grid helfen. Der Prozess wäre wie folgt:

  1. Start Hub. Sie können dies über die Befehlszeile (java -jar selenium-server-standalone-<version>.jar -role hub) tun, oder verwenden Sie eine Java-Klasse wie in diesem example.
  2. Registerknoten im Hub. Hier hilft der WebDriverManager, da er die richtige Binärdatei herunterlädt und den Knoten mit dieser Binärdatei registriert. Hier finden Sie eine example mit Chrome als Browser.
  3. Führen Sie Ihren Test aus und stellen Sie eine Verbindung zum Hub der URL her. Hier noch ein example.
+0

cool, habe es, danke Boni für Hilfe. – promitheus

+0

Wenn es Ihnen nützlich war, sollten Sie die Antwort als akzeptiert überprüfen –

Verwandte Themen