2016-01-14 53 views
0

我使用硒和Java編寫測試,我添加下面的代碼,看看我使用的是錯誤的Chrome司機發現錯誤,的try-catch不從「System.setProperty」

try { 
    System.setProperty("webdriver.chrome.driver", "Chrome Drivers\\chromedriverLinux32"); 
     } catch (Exception e) { 
      System.out.println(1); 
      e.printStackTrace();  
     } 

但每當它發生,測試拋出:

Jan 14, 2016 11:04:25 AM org.openqa.selenium.os.UnixProcess checkForErrorSEVERE: org.apache.commons.exec.ExecuteException: Execution failed (Exit value: -559038737. Caused by java.io.IOException: Cannot run program "C:\Users\sina\Desktop\WorkSpace\CowZAllPages\Chrome Drivers\chromedriverLinux32" (in directory "."): CreateProcess error=193, %1 is not a valid Win32 application) 

但漁獲確實發現錯誤(System.out.println(1);是沒見過)。

回答

2

在分配Chrome路徑的方式中,代碼沒有任何問題。 系統從字面上獲取該字符串。
你會想看看驅動程序的初始化並在那裏放一個try-catch,以便捕獲這樣的異常。

更新:
也許你需要修改這種使用情況 - 在你可以有3條ChromeDriver路徑,並使用正確的取決於平臺上的感覺。

System.getProperty("os.name") 

這樣,您將始終使用正確的ChromeDriver。

+0

我還爲'driverChrome = new hromeDriver(capabilities)添加了try-catch;'但是它也沒有得到錯誤:( – LoveJavaTwo

+0

哪一行代碼導致異常?那將是第1步開始 –

+0

嗯,我發現它是由'driverChrome = new ChromeDriver(capabilities)引起的;''Exception e''無法抓住它!! – LoveJavaTwo

0

錯誤的最後部分說「不是有效的Win32應用程序」。 「Chrome Drivers \ chromedriverLinux32」是一個.exe嗎?你需要添加文件擴展名嗎?

+0

我用一個錯誤的驅動程序來使它拋出異常 – LoveJavaTwo