GVKun编程网logo

Selenium IEServerDriver找不到IE9的新窗口(selenium找不到webdriver)

17

想了解SeleniumIEServerDriver找不到IE9的新窗口的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于selenium找不到webdriver的相关问题,此外,我们还将为您介

想了解Selenium IEServerDriver找不到IE9的新窗口的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于selenium找不到webdriver的相关问题,此外,我们还将为您介绍关于IEDriverServer使用Selenium将文本发送到搜索字段的速度非常慢、IE的Selenium WebDriver错误、Internet Explorer 11在通过IEDriverServer和Selenium执行测试时被随机卡住、org.openqa.selenium.ie.InternetExplorerDriverLogLevel的实例源码的新知识。

本文目录一览:

Selenium IEServerDriver找不到IE9的新窗口(selenium找不到webdriver)

Selenium IEServerDriver找不到IE9的新窗口(selenium找不到webdriver)

我正在使用Selenium WebDriver来自动化我的公司站点。一方面,Web应用程序通过以下方式打开一个新窗口:

<a onclick="WindowController.openWindow(''quote.action?quoteProcessName=Shortform'',WindowController.WINDOW_IS_TRACKED);" tabindex="1">Express Quote</a>

我们正在使用jQuery,尽管我认为这是自定义的。我在测试团队中,不做任何网站开发。无论如何,它使用JavaScript打开一个新窗口。脚本单击此链接后,我需要它附加到新窗口。

问题在于,在IE9中运行时,WebDriver似乎找不到新窗口。这是我用来尝试切换到新窗口的代码:

public boolean switchTo(final WebRobot robot, final String pageTitle) {    boolean found = false;    int count = 0;    while (!found && count < 20) {        final Set<String> handles = robot.getDriver().getWindowHandles();        final Iterator<String> itr = handles.iterator();        while (itr.hasNext()) {            try {                final String current = itr.next();                robot.getDriver().switchTo().window(current);                if (robot.getDriver().getTitle().contains(pageTitle)) {                    robot.getLogger().debug("Switching to " + pageTitle);                    found = true;                }            } catch (final NoSuchWindowException e) {                count++;                try {                    Thread.sleep(2000);                    System.out.println("Handles: " + robot.getDriver().getWindowHandles().size());                } catch (final InterruptedException ignored) {                    //Nothing to do here                }            }        }    }    return found;}

(WebRobot是我编写的一个类,允许我使用WebDriver轻松切换浏览器和执行模式。robot.getDriver()返回Selenium
WebDriver对象。)

新窗口打开后,robot.getDriver()。getWindowHandles()。size()始终为1。是否缺少我要拾取新窗口的内容?

此代码可在Firefox,Chrome和IE8(而非IE9)中完美运行。我正在使用64位版本的IEDriverServer,版本2.32.3.0。我正在使用Selenium
WebDriver 2.32,并且正在Windows 7 64bit上运行。

答案1

小编典典

启用兼容模式可解决此问题。

IEDriverServer使用Selenium将文本发送到搜索字段的速度非常慢

IEDriverServer使用Selenium将文本发送到搜索字段的速度非常慢

我在Windows7上使用Selenium和python。

我的代码:

import os
from selenium import webdriver

# get the path of IEDriverServer
#dir = os.path.dirname(__file__)
#ie_driver_path = dir + "\IEDriverServer.exe"
ie_driver_path = "C:\Python36\Scripts\IEDriverServer.exe"

# create a new Internet Explorer session
driver = webdriver.Ie(ie_driver_path)
driver.implicitly_wait(30)
driver.maximize_window()

# create a new Firefox session
#driver = webdriver.Firefox()
#driver.implicitly_wait(30)
#driver.maximize_window()

# navigate to the application home page
driver.get("http://demo-store.seleniumacademy.com/")

# get the search textbox
search_field = driver.find_element_by_name("q")
search_field.clear()

# enter search keyword and submit
search_field.send_keys("phones")
search_field.submit()
...

该代码有效,但是当打开时,即“电话”的数字化非常慢(大约20秒)。在Firefox中,它几乎是瞬时的。

为什么这样?这是正常的?我做错了吗?

PS:另外,将IEDriverServer.exe放在哪里更好?在内部,C:\Python36\Scripts所以对于我的所有项目或在每个项目中,我只有一个文件(例如注释掉的部分)?

IE的Selenium WebDriver错误

IE的Selenium WebDriver错误

我正在尝试使用seleniumwebdriver,junit和ant
build自动化测试用例。自从早上以来,我收到了一些奇怪的错误。一个测试用例包含按钮单击命令。该测试在Chrome和FF上运行成功,但在IE上未成功。此前,至少有人说无法找到元素X,但是有人说服务器未提供任何信息。

Testcase: testMethod took 10.342 sec
    Caused an ERROR
Cannot click on element (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 172 milliseconds
Build info: version: '2.23.1',revision: '17143',time: '2012-06-08 18:59:04'
System info: os.name: 'Windows 7',os.arch: 'x86',os.version: '6.1',java.version: '1.6.0_33'
Driver info: driver.version: RemoteWebDriver
Session ID: 8dfc5072-2755-40a7-bb32-05708c51101f
com.thoughtworks.selenium.SeleniumException: Cannot click on element (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 172 milliseconds
Build info: version: '2.23.1',java.version: '1.6.0_33'
Driver info: driver.version: RemoteWebDriver
Session ID: 8dfc5072-2755-40a7-bb32-05708c51101f
    at org.openqa.selenium.internal.seleniumemulation.SeleneseCommand.apply(SeleneseCommand.java:41)
    at org.openqa.selenium.internal.seleniumemulation.Timer.run(Timer.java:38)
    at org.openqa.selenium.WebDriverCommandProcessor.execute(WebDriverCommandProcessor.java:144)
    at org.openqa.selenium.WebDriverCommandProcessor.doCommand(WebDriverCommandProcessor.java:74)
    at com.thoughtworks.selenium.DefaultSelenium.click(DefaultSelenium.java:193)
    at dmswebui.IE.TestLogin.testMethod(TestLogin.java:19)
Caused by: org.openqa.selenium.ElementNotVisibleException: Cannot click on element (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 172 milliseconds
Build info: version: '2.23.1',java.version: '1.6.0_33'
Driver info: driver.version: RemoteWebDriver
Session ID: 8dfc5072-2755-40a7-bb32-05708c51101f
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:188)
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:458)
    at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:244)
    at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:77)
    at org.openqa.selenium.internal.seleniumemulation.Click.handleSeleneseCommand(Click.java:36)
    at org.openqa.selenium.internal.seleniumemulation.Click.handleSeleneseCommand(Click.java:1)
    at org.openqa.selenium.internal.seleniumemulation.SeleneseCommand.apply(SeleneseCommand.java:32)

Internet Explorer 11在通过IEDriverServer和Selenium执行测试时被随机卡住

Internet Explorer 11在通过IEDriverServer和Selenium执行测试时被随机卡住

我遇到了IE版本11随机卡在某些页面上的问题。该代码工作正常,因为每当我重新启动该程序时,有时它就可以工作,但最烦人的将是在单击并加载页面后随机卡住。在IE上正常吗?使用Chrome时,我从未遇到过此类问题。但是此网站仅适用于IE。我能知道这个问题的原因是驱动程序吗?网站本身吗?还是网络安全?

答案1

小编典典

使用 Internet Explorer v11时 ,需要使用“
必需的配置”配置
测试框架 。除了专门 针对IE 11的 这些以外,您还需要在目标计算机上设置一个 注册表项 ,以便驱动程序可以维护与它创建的
Internet Explorer
实例的连接,如下所示:
__

  • 对于32位Windows安装,必须在注册表编辑器中检查的项是:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE.
  • 对于64位Windows安装,关键是:

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE.

org.openqa.selenium.ie.InternetExplorerDriverLogLevel的实例源码

org.openqa.selenium.ie.InternetExplorerDriverLogLevel的实例源码

项目:minium    文件:InternetExplorerDriverServiceProperties.java   
@Override
public DriverService createDriverService() {
    Builder builder = new InternetExplorerDriverService.Builder();
    if (port != null) builder.usingPort(port);
    if (driverExecutable != null) builder.usingDriverExecutable(driverExecutable);
    if (environment != null) builder.withEnvironment(environment);
    if (logFile != null) builder.withLogFile(logFile);
    if (logLevel != null) builder.withLogLevel(InternetExplorerDriverLogLevel.valueOf(logLevel.toupperCase()));
    if (engineImplementation != null) builder.withEngineImplementation(InternetExplorerDriverEngine.valueOf(engineImplementation.toupperCase()));
    if (host != null) builder.withHost(host);
    if (extractPath != null) builder.withExtractPath(extractPath);
    if (silent != null) builder.withSilent(silent);
    return builder.build();
}

我们今天的关于Selenium IEServerDriver找不到IE9的新窗口selenium找不到webdriver的分享就到这里,谢谢您的阅读,如果想了解更多关于IEDriverServer使用Selenium将文本发送到搜索字段的速度非常慢、IE的Selenium WebDriver错误、Internet Explorer 11在通过IEDriverServer和Selenium执行测试时被随机卡住、org.openqa.selenium.ie.InternetExplorerDriverLogLevel的实例源码的相关信息,可以在本站进行搜索。

本文标签: