无法与Java使用推出Selenium2(webdriver的)IE浏览器(Not able to

2019-07-20 03:19发布

我无法启动IE浏览器中运行Java编写的硒我自动化测试。 我使用的是Windows 7和IE 9。下面是我的代码:

请查收附件。

public class GoogleNews {
    private WebDriver driver;
    private String baseUrl;
    private StringBuffer verificationErrors = new StringBuffer();
    ArrayList al = new ArrayList();
    @Before
    public void setUp() throws Exception {
        //driver = new FirefoxDriver();
        driver =new InternetExplorerDriver();
        baseUrl = "https://news.google.co.in/";

    }

    @Test
    public void testApple() throws Exception {
        driver.get(baseUrl);
    }
}

Answer 1:

需要设置相同的安全级别在所有区域。 要做到这一点请按照下列步骤:

  1. 打开IE
  2. 进入工具 - > Internet选项 - >安全
  3. 将所有区域(互联网,本地Intranet,受信任的站点,受限制的站点),以同样的保护模式,启用或禁用不应该的问题。

最后,通过对位于右上角的齿轮并启用状态栏右键单击设置缩放级别为100%。 默认缩放级别现在是在右下角显示。



Answer 2:

还有堆栈跟踪说,你就需要设置保护模式设置为相同的IE浏览器中的所有区域。 阅读为什么在这里: http://jimevansmusic.blogspot.in/2012/08/youre-doing-it-wrong-protected-mode-and.html

和快速如何从相同的链接:“在IE中,从工具菜单(或更高版本工具栏上的齿轮图标),选择‘Internet选项’转到安全选项卡在对话框的底部。每一个区域,你应该看到一个标有一个复选框“启用保护模式”设置复选框相同值的值,选中或未选中,每个区域”



Answer 3:

的webdriver的Java代码下面的代码片断应该合作,推出IE浏览器。 该代码会忽略的保护模式设置为IE浏览器的所有区域设置。

DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
File file = new File("D:\\Ripon Al Wasim\\IEDriverServer.exe");
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
WebDriver driver = new InternetExplorerDriver(capabilities);
driver.get("https://www.google.com/");

下载IEDriverServer并解压到你想要的位置,并设置绝对路径(在我上面的例子中,这是“d:\里彭铝瓦西姆\ IEDriverServer.exe”)



Answer 4:

  1. 转到IE->Tools->Internet Options
  2. 转到安全选项卡。
  3. 无论是启用/禁用保护模式为所有(互联网,本地Intranet,受信任的站点和受限制的站点。)


Answer 5:

要解决这个问题,你必须做两件事情:

  1. 您将需要设置目标计算机上的注册表项,使驾驶者可以保持到Internet Explorer的情况下它会创建一个连接。

  2. 更改机器上的Internet Explorer浏览器的一些设置(如果你希望运行自动化)。

1。 设置注册表项/条目:

  • 要设置注册表项或项,您需要打开“注册表编辑器”。

  • 要打开“注册表编辑器”窗口按按钮键+ R字母键将打开“运行窗口”,然后键入“regedit”并回车。

  • 或者按下按钮的Windows键,在启动菜单,然后按输入“regedit”回车。 现在,这取决于您的操作系统类型32/64位是否按照相应的步骤。

窗口32位:去这个位置- “HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的Internet Explorer \ MAIN \ FeatureControl”,检查“FEATURE_BFCACHE”键。

的Windows 64位:去到这个位置- HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \微软\的Internet Explorer \ MAIN \ FeatureControl和检查“FEATURE_BFCACHE”键。 请注意,FEATURE_BFCACHE子项可能会或可能不存在,如果不存在应创建

重要提示:这里面的关键,创建的0值名为iexplore.exe的DWORD值。

2。 更改Internet Explorer浏览器的设置:

  • 点击设置按钮,选择“Internet选项”。

  • 在“Internet选项”窗口,进入“安全”选项卡

  • 现在,选择“Internet”选项,并选中“启用保护模式”复选框,并修改“安全级别”低。

  • 现在,选择“本地Intranet”选项,并更改“安全级别”低。

  • 现在,选择“受信任的站点”选项,并更改“安全级别”低。

  • 现在点击“应用”按钮,警告弹出可能会出现,点击警告“OK”按钮,然后在Internet选项窗口中的“确定”按钮。

  • 在此之后重新启动浏览器。


Answer 6:

而不是使用绝对路径IEDriverServer.exe,它能够更好地使用按照该项目的相对路径。

        DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
        capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
        File fil = new File("iDrivers\\IEDriverServer.exe");
        System.setProperty("webdriver.ie.driver", fil.getAbsolutePath());
        WebDriver driver = new InternetExplorerDriver(capabilities);        
        driver.get("https://www.irctc.co.in");          


Answer 7:

对于NighwatchJS使用:

"ie" : {
  "desiredCapabilities": {
    "browserName": "internet explorer",
    "javascriptEnabled": true,
    "acceptSslCerts": true,
    "allowBlockedContent": true,
    "ignoreProtectedModeSettings": true
  }
},


Answer 8:

在开始使用Internet Explorer和硒的webdriver考虑这两个重要的规则。

  • 缩放级别:应设置为默认值(100%)和
  • 安全区域设置:应该是相同的所有。 安全设置应该根据自己的组织权限进行设置。

如何设置呢?

  • 只需进入IE浏览器,手动一举两得的东西。 而已。 没有秘密。
  • 做到这一点通过您的代码。

方法1:

DesiredCapabilities能力= DesiredCapabilities.internetExplorer();

    capabilities.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);

    System.setProperty("webdriver.ie.driver","D:\\IEDriverServer_Win32_2.33.0\\IEDriverServer.exe");

    WebDriver driver= new InternetExplorerDriver(capabilities);


    driver.get(baseURl);

    //Identify your elements and go ahead testing...

这将definetly 不会显示任何错误,浏览器将打开 ,也将导航到URL。

但这不会识别任何元素 ,因此你无法继续。

为什么? 因为我们有simly抑制错误,并要求IE打开,并得到该URL。 然而硒将确定元素只有在浏览器缩放为100%,即。 默认。 所以最终代码会

方法2坚固和充分论证的方式

DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();

    capabilities.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);

    System.setProperty("webdriver.ie.driver","D:\\IEDriverServer_Win32_2.33.0\\IEDriverServer.exe");

    WebDriver driver= new InternetExplorerDriver(capabilities);


    driver.get(baseURl);

    driver.findElement(By.tagName("html")).sendKeys(Keys.chord(Keys.CONTROL,"0"));

    //Identify your elements and go ahead testing...

希望这可以帮助。 不要让我知道,如果需要进一步的信息。



文章来源: Not able to launch IE browser using Selenium2 (Webdriver) with Java