2017-05-16 121 views
0

我是使用Selenium的新手,我在Selenium Grid 2中遇到了一些關於使用RemoteWebDriver的問題。我想知道我的代碼有什麼問題。謝謝。Selenium Grid:RemoteWebDriver阻止執行

我在3個步驟設置RemoteWebDriver:

  1. 設置的Chrome驅動程序的系統屬性,我檢查的路徑是正確的。
  2. 通過RemoteWebDriver

    logger.info("1. Start"); 
    
        File file = new File("/path/of/chromedriver"); 
        System.setProperty("webdriver.chrome.driver", file.getAbsolutePath()); 
    
        logger.info("2. Get Path: " + file.getAbsolutePath()); 
    
        DesiredCapabilities caps = new DesiredCapabilities(); 
        caps.setBrowserName(DesiredCapabilities.chrome().getBrowserName()); 
    
        logger.info("3. Set capabilities: " + caps); 
    
        URL url = new URL(URL); 
        RemoteWebDriver driver = new RemoteWebDriver(url, caps); 
    
        logger.info("4. Initialize driver: " + driver); 
        logger.info("5. End"); 
    
        return driver; 
    

設置駕駛員的能力

  • 打開結果通過第2個步驟,但在最後一步失敗,因爲日誌不顯示。看來設置RemoteWebDriver時出現問題。該日誌如下所示:


    2017年5月16日下午8點28分16秒com.test.Setup setupDriver 信息:1.啓動

    2017年5月16日下午8點28分16秒com.test.Setup setupDriver 信息:獲取路徑2:/路徑/的/ chromedriver

    2017年5月16日下午八時28分十六秒com.test.Setup setupDriver 信息:3.設置功能:功能[ {browserName = chrome}]

    2017年5月16日下午8:28:16 c om.test.Setup setupDriver SEVERE:java.lang.IllegalStateException:驅動程序可執行文件的路徑必須由webdriver.chrome.driver系統屬性設置;有關更多信息,請參閱https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver。最新版本可以從http://chromedriver.storage.googleapis.com/index.html


    任何人都可以提出問題在哪裏,謝謝!

    硒的服務器獨立-3.4.0.jar

    硒的Java-3.4.0

    chromedriver 2.29

    Java版本 「1.8.0_111」

    TestNG的

  • 回答

    0

    異常說明了一切。

    May 16, 2017 8:28:16 PM com.test.Setup setupDriver SEVERE: java.lang.IllegalStateException: 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

    請確保你在做你所運行的節點上機以下。

    • 將chromedriver二進制文件的位置作爲您的PATH環境變量的一部分提供。
    • 現在要確保位置設置正確,請打開新的命令提示符/終端並鍵入chromedriver。

    您應該看到下面的輸出(我的輸出從MAC)

    12:16 $ chromedriver 
    Starting ChromeDriver 2.29.461585 (0be2cd95f834e9ee7c46bcc7cf405b483f5ae83b) on port 9515 
    Only local connections are allowed. 
    

    一旦你看到類似的輸出,可以嘗試再次運行測試,你應該罰款。

    +0

    謝謝您的回覆。我已經將驅動程序添加到bash_profile並運行它,即輸出chromedriver =「/ path/of/chromedriver」,並且可以在終端中鍵入$ chromedriver後看到上面的消息。但是,問題仍然存在。另外,我在代碼中設置了屬性,即System.setProperty(「webdriver.chrome.driver」,file.getAbsolutePath());你能否建議其他方法來檢查問題出在哪裏?謝謝 – user2504831

    +0

    更新了bash_profile:export chromedriver =「/ path/of/chromedriver」; export PATH = $ chromedriver:$ PATH但它仍然失敗,顯示相同的錯誤信息 – user2504831