2015-11-04 42 views
0

我想在三個瀏覽器中使用硒網格打開一個網站。當我運行我的腳本,Firefox和IE工作正常。但鉻瀏覽器打開「數據:」,而不是一個URL。 Selenium版本2.47 Chromedriver.exe 2.20 Chrome 46.0 任何人都可以告訴我爲什麼?硒打開Chrome瀏覽器不是網頁

@Parameters("browser") 
    @BeforeTest 
    public void launchapp(String browser) throws MalformedURLException 
    { 
     String URL = "http://www.tutorialspoint.com/selenium/selenium_grids.htm"; 
     if (browser.equalsIgnoreCase("firefox")) 
     { 
     System.out.println(" Executing on FireFox"); 
     String Node = "http://10.101.7.220:5555/wd/hub"; 
     DesiredCapabilities cap = DesiredCapabilities.firefox(); 
     cap.setBrowserName("firefox"); 

     driver = new RemoteWebDriver(new URL(Node), cap); 

     driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 

     // Launch website 
     driver.navigate().to(URL); 
     driver.manage().window().maximize(); 
     } 
     else if (browser.equalsIgnoreCase("ie")) 
     { 
     System.out.println(" Executing on IE"); 

     System.setProperty("webdriver.ie.driver","IEDriverServer.exe"); 
     DesiredCapabilities capabilities = DesiredCapabilities 
       .internetExplorer(); 

     capabilities 
     .setCapability(
       InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, 
       true); 

     capabilities.setCapability("ignoreZoomSetting", true); 
     capabilities.setCapability("nativeEvents", false); 
     //driver = new RemoteWebDriver(new URL(Node), capabilities); 
     driver= new InternetExplorerDriver(capabilities); 
     driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 

     // Launch website 
     driver.navigate().to(URL); 
     driver.manage().window().maximize(); 
     } 
     else if (browser.equalsIgnoreCase("chrome")) 
     { 
      System.out.println("Running Chrome"); 

     System.setProperty("webdriver.chrome.driver", "C:\\Users\\mob150003576\\Downloads\\chromedriver.exe"); 

     driver = new ChromeDriver(); 
     } 
     else 
     { 
     throw new IllegalArgumentException("The Browser Type is Undefined"); 
     } 
    } 

    @Test 
    public void sample() 
    { 
     driver.findElement(By.xpath("//a[text()=' Home']")).click(); 

    }` 
+0

請分享您使用chrome打開網站的代碼。 –

+1

檢查您的chromedriver是否支持您正在嘗試的瀏覽器版本。 – Valath

+0

[Chromedriver在Selenium測試中不加載頁面]的可能重複(http://stackoverflow.com/questions/22776393/chromedriver-not-loading-page-in-selenium-tests) – JeffC

回答

0

我在您的代碼中注意到的一件事是您不使用RemoteWebDriver來運行您的IE或Chrome測試。代碼可以簡化爲:

  String URL = "http://www.tutorialspoint.com/selenium/selenium_grids.htm";    
      System.setProperty("webdriver.chrome.driver", "chromedriver.exe"); 
      System.setProperty("webdriver.ie.driver", "IEDriverServer.exe"); 
      DesiredCapabilities caps = null; 

      switch(browser){ 
      case "chrome" : caps = DesiredCapabilities.chrome(); 
      break; 
      case "firefox" : caps = DesiredCapabilities.firefox(); 
      break; 
      case "ie" : caps = DesiredCapabilities.internetExplorer(); 
      caps.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); 
      break; 
      } 

      driver = new RemoteWebDriver(new URL("grid string"), caps); 
      driver.navigate().to(URL); 
      driver.manage().window().maximize(); 

請根據您的PC更新瀏覽器驅動程序的路徑並添加所需的特定功能。

相關問題