2013-10-15 75 views
1

我正嘗試使用Webdriver啓動IE實例。我無法弄清楚爲什麼我收到這些錯誤,我的代碼似乎與我在網上找到的每個例子都是一樣的。
我正在使用Java和testng。無法在Selenium Webdriver(JAVA)中啓動Internet Explorer或Chrome

下面是代碼:

import java.io.File; 
import org.openqa.selenium.ie.InternetExplorerDriver; 
import org.openqa.selenium.WebDriver; 

public class Tests { 

    File file = new File("C:\\selenium\\IEDriverServer.exe"); 
    System.setProperty("webdriver.ie.driver", file.getAbsolutePath()); 
    WebDriver driver = new InternetExplorerDriver(); 
} 

以下錯誤顯示,這些錯誤是對「System.setProperty」行。

多個標記在該行 - 令牌 「」 webdriver.ie.driver 「」 語法錯誤,無效 FormalParameterList - 令牌(S),錯位構建體 語法錯誤 - 令牌上的語法錯誤, FormalParameter有望代替

請注意,我有相同的問題,如果我嘗試使用Chrome與此代碼:

File file = new File("C:/selenium/chromedriver.exe"); 
System.setProperty("webdriver.chrome.driver", file.getAbsolutePath()); 
WebDriver driver = new ChromeDriver(); 
+0

你有沒有嘗試還設置了系統屬性與'''-Dwebdriver.chrome.driver =命令行參數 「C:\\ \\硒IEDriverServer.exe」'''? – luksch

+0

@luksch - 剛試過用沒有運氣的說法。 – SteveA

回答

3

您是從內部類運行你的代碼,而不是從內部方法運行它。它隱蔽的東西像

import java.io.File; 
import org.openqa.selenium.ie.InternetExplorerDriver; 
import org.openqa.selenium.WebDriver; 

public class Tests { 
    public static void main(String[] args) { // <-- you need a method! 
     File file = new File("C:\\selenium\\IEDriverServer.exe"); 
     System.setProperty("webdriver.ie.driver", file.getAbsolutePath()); 
     WebDriver driver = new InternetExplorerDriver(); 
    } 
} 
+0

斑點!我剛剛意識到這一點... – luksch

+0

謝謝JacekM,將這些代碼移到一個方法中去除錯誤。我現在必須在我的測試套件中的每個方法中實例化IE驅動程序嗎?我已經使用firefox驅動程序創建了所有測試用例(方法)。對於firefox我只是在我的方法之前在類中實例化了驅動程序,它運行得很好。 – SteveA

+0

不一定。你只需要使用驅動程序路徑設置屬性一次,所以你可以在執行測試套件中其餘的方法之前完成它。然後,您可以像創建FirefoxDriver一樣創建ChromeDriver或InternetExplorerDriver。但不建議跨瀏覽器使用不同的測試方法。此外,我會建議使用某種測試框架(JUnit或TestNG) - 這將幫助您實例化瀏覽器。 – JacekM

0

試試這個:

我使用「MVN測試」午餐測試過程,因此IE驅動程序的路徑可以改變

File file = new File("classes/tools/IEDriverServer.exe"); 

使用IE司機與能力

DesiredCapabilities caps = DesiredCapabilities.internetExplorer(); 
System.setProperty("webdriver.ie.driver", file.getAbsolutePath()); 
caps.setCapability("ignoreZoomSetting", true); 
caps.setCapability("nativeEvents", false); 
WebDriver driver = new InternetExplorerDriver(caps); 

它可以幫助你:)

0

實際上,更新的Eclipse版本,你可能需要使用@SuppressWarnings

package Login; 

import java.io.File; 

import org.openqa.selenium.ie.InternetExplorerDriver; 

import org.openqa.selenium.WebDriver; 

public class Login { 

    public static void main(String[] args) { 

     File file = new File("C:\\Users\\IEDRiverServer.exe"); 
     System.setProperty("webdriver.ie.driver", file.getAbsolutePath()); 

     @SuppressWarnings("unused") 
     WebDriver driver = new InternetExplorerDriver(); 

     } 
} 
0

簡單的例子:

public class IE { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
     // TODO Auto-generated method stub 

      System.setProperty("webdriver.ie.driver", "D:\\Sathish\\soft\\SELENIUM\\LatestDownloads\\selenium\\IEDriverServer.exe"); 
      WebDriver driver = new InternetExplorerDriver(); 
      driver.get("www.google.com"); 
      driver.findElement(By.id("gbqfq")).sendKeys("abc"); 
      driver.close(); 

    } 

} 
-2

執行下面的過程。

import org.openqa.selenium.ie.InternetExplorerDriver;

import org.openqa.selenium.remote.DesiredCapabilities;

如果(browserName.equalsIgnoreCase( 「InternetExplorer的」)){

DesiredCapabilities帽= DesiredCapabilities.internetExplorer();

System.setProperty(「webdriver.ie.driver」,「drivers/IEDriverServer.exe」); caps.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);

caps。setCapability(「nativeEvents」,false); browser = new InternetExplorerDriver(caps);

之後,在IE瀏覽器,從工具菜單(或更高版本工具欄上的齒輪圖標),選擇「Internet選項」。轉到安全選項卡。在每個區域對話框的底部,您應該看到一個標記爲「啓用保護模式」的複選框。對於每個區域,將複選框的值設置爲相同的值 (選中或取消選中)。

我在我的末端應用了相同的東西,它工作正常。

相關問題