2013-10-15 44 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选项”。转到安全选项卡。在每个区域对话框的底部,您应该看到一个标记为“启用保护模式”的复选框。对于每个区域,将复选框的值设置为相同的值 (选中或取消选中)。

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

相关问题