问题标签 [selenium-iedriver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1221 浏览

c# - IE11 中的 Sendkeys() 不会输入整个文本

我的 selenium 进入了一个特殊的位置,我试图在 IE 11 中使用 .SendKeys() 编写整个文本。

我注意到的是,当我运行测试时,它有时会在不同阶段的打字过程中丢失字母。有谁知道这一点以及解决此问题的方法是什么,因为此问题不会发生在我正在测试的另一个浏览器 chrome 上。

编辑:我不确定,但这就是我放的地方:

0 投票
0 回答
572 浏览

selenium - Selenium Execution 在 IE 上挂起 3 小时

硒 3.4.0

即 11

视窗 10

我正在使用 Webdriver(RemoteWebDriver) 启动 IE。但它卡在http://localhost//some_random_number并且没有进一步移动。启动 IE 的代码是:

启动 HUB 和 IE 网格的命令是:

此外,整个 selenium 线程在这里挂起 3 小时,之后发生以下异常

如果浏览器无法访问,我想在 30 秒内退出,如何将此默认的 3 小时超时重置为 30 秒。如果执行卡在本地主机页面上,该怎么办。

0 投票
1 回答
117 浏览

selenium - 在 Jenkins 上运行 webdriver IEDriver 失败

我有一个我最近创建的小型 C# webdriver 测试套件 dll ......

  • 在 Visual Studio 中运行良好
  • 使用 NUnit 3 控制台运行程序完美地从命令行运行。

我在我的笔记本电脑上安装了 Jenkins(在我将它放入我的实时 Jenkins 之前进行测试),使用我的 Windows 凭据运行。当我使用之前使用的相同 NUnit3 控制台运行程序命令执行测试套件时,所有测试都失败,甚至无法登录,因为它找不到任何元素。我用 Selenium 截取了屏幕截图,它只是一个黑色矩形!

任何人都对如何让 IE 行为有任何想法 - 我敢打赌这是来自 Jenkins 的 Windows 权限。谢谢!

0 投票
0 回答
200 浏览

html - 使用 python 在 Internet Explorer 中通过 css 为 selenium-webdriver 定位元素

我想在 Internet Explorer 中通过 css 为这组特定的标签找到一个元素。

在上面的 HTML 标记中,我想找到使用 CSS Selector 方法突出显示的元素按钮(第 4 行)。

我已经尝试过使用 chrome 并且它可以工作,但我只需要使用 IE。chrome 中的 css 选择器是使用#btnUploadSupply > div

有人可以帮帮我吗?

0 投票
2 回答
5441 浏览

java - 如何使 Selenium WebDriver 动态选择客户端证书而不用视觉检测弹出窗口

我正在尝试使用 Java 和 Selenium 来测试需要客户端证书的网站。当我浏览到我的网站时,我会弹出一个如下所示的弹出窗口,以选择正确的证书。

Windows 安全:选择证书

我的要求如下:

  • 按名称选择证书
  • 在不同版本的 Windows / IE / Edge 上

理想情况下,从不显示弹出窗口;即,解决方案将涉及调用一些 API 或设置一些配置来固定要使用的正确证书。


我自己的解决思路:

  • 我尝试了一个基于使用SikuliX视觉检测正确证书的解决方案(确实有效),但我想知道是否有更好的解决方案不依赖于视觉检测弹出窗口。如果 Microsoft 决定更改此弹出窗口的外观,那么在多个版本的 Windows 中失败的可能性较小,并且是未来的证明。

  • 我的另一个想法(但我不知道如何/是否可能)是删除除一个之外的所有已安装证书,以便永远不会显示弹出窗口:

    • 备份整个商店
    • 删除 IE 可以使用的所有客户端证书(我需要的除外)
    • 进行不再需要任何证书选择的登录
    • 恢复备份的存储

    有谁知道如何做到这一点(在 Java 中,可能调用 CLI 命令)?

  • 是否可以启动(使用 Selenium Java)一个只知道我需要的单个证书的 Internet Explorer 窗口?

  • 是否可以在 Internet Explorer 中为给定域设置默认证书?

0 投票
1 回答
70 浏览

java - Selenium - IEdriver - 无法在 VM 上创建第二个实例

在本地机器上运行自动化测试用例时,我可以运行任意数量的 IEdrivers、Chrome、Firefox。

但是,当我在 VM 上运行相同的自动化测试用例时,我只能运行单个 IE 驱动程序。(Firefox 和 Chrome 最多可以运行 5 个驱动程序)

问题:在 VM 上创建新的 IEdriver 时,整个程序会冻结并在那里停留数小时而不会终止进程。

旁注:Firefox 和 Chrome 驱动程序运行相同的测试没有问题。

在启动 Selenium 集线器和节点 IE 驱动程序时,默认只有 1 个可用实例,但 Chrome 和 Firefox 默认为 5 个实例。我认为覆盖 IE 的 maxInstances 并将其设置为 2,但这无济于事。

我设置的 IEC 能力是

  1. INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, 真的
  2. NATIVE_EVENTS, 错误的
  3. IGNORE_ZOOM_SETTING, 真的
  4. IE_ENSURE_CLEAN_SESSION, 真的
  5. ENABLE_ELEMENT_CACHE_CLEANUP, 真的
  6. FORCE_CREATE_PROCESS, 真的
  7. IE_SWITCHES, “-私人的”

Selenium Hub 命令:

节点命令:

0 投票
2 回答
1583 浏览

maven - 使用 Jenkins 运行的 Selenium 测试无法与元素交互

我需要在IE11上测试一个网站,所以我用IEDriver做了一个硒测试项目。我也使用 Maven。在本地一切正常,我现在必须使用 Jenkins 来启动我的测试。

我创建了一个简单的工作来尝试我的一个测试。Jenkins 找到我的 pom.xml,用 IEDriver 打开浏览器,导航到我的 url,然后问题就开始了。

我的测试在本地运行时做了什么:

  • 点击“欢迎界面”进入下一页;
  • 使用 3 个断言检查新页面上的两个元素:

    1) element1.getText().trim().equalsIgnoreCase(myText1);

    2) element2.getText().trim().equalsIgnoreCase(myText2);

    3) element2.isEnabled();

  • 点击element2进入下一页;

  • 检查其他元素。

通过 Jenkins 启动时我的测试做了什么:

  • 点击“欢迎界面”进入下一页;=> 这没关系,但很简单,因为这个页面只包含 1 个占据整个屏幕的元素
  • 未能检查 2 个元素:

    1) 为假,element1.getText() 为空

    2) 为假,element2.getText() 为空

    3) 是真的

  • 如果我删除断言并尝试直接单击 element2,我有一个 ElementNotInteractableException

当出现错误时,我会捕获任何异常以获取屏幕截图。在这里,屏幕截图只是一个黑屏。

所以据我了解,当与 Jenkins 一起启动时,Selenium“知道”页面上有一些元素(=> element2.isEnabled() 是真的),但没有“看到”它们(=> element2.getText()是空的)并且无法与它们交互,就好像它们在黑屏“后面”并且 Selenium 无法聚焦“真实”屏幕。

我真的不明白发生了什么。我尝试使用 Chrome 驱动程序运行我的测试,我遇到了同样的问题。我很确定我错过了一些明显的东西。

如果您有任何想法,我将不胜感激。这是我在这里的第一条信息,如果我没有以正确的方式写它或者如果缺少某些东西,你也可以说出来。

这是 ElementNotInteractableException 的堆栈跟踪:

org.openqa.selenium.ElementNotInteractableException:无法点击元素

构建信息:版本:'3.6.0',修订:'6fbf3ec767',时间:'2017-09-27T15:28:36.4Z' 系统信息:主机:'BLABLA',ip:'BLABLA',os.name: 'Windows 7',os.arch:'amd64',os.version:'6.1',java.version:'1.8.0_102'

驱动程序信息:org.openqa.selenium.ie.InternetExplorerDriver

能力 [{proxy=Proxy(), acceptInsecureCerts=false, browserVersion=11, se:ieOptions={nativeEvents=true, browserAttachTimeout=0, ie.ensureCleanSession=false, elementScrollBehavior=0, enablePersistentHover=true, ie.browserCommandLineSwitches=, ie .forceCreateProcessApi=false, requireWindowFocus=false, initialBrowserUrl= http://localhost:43020/ , ignoreZoomSetting=false, ie.fileUploadDialogTimeout=3000, ignoreProtectedModeSettings=false}, timeouts={implicit=0, pageLoad=300000, script=30000} , browserName=internet explorer, pageLoadStrategy=normal, javascriptEnabled=true, platformName=WINDOWS, setWindowRect=true, platform=WINDOWS}]

会话 ID:50e4def1-11aa-43c6-8f9e-a52cd324a1b5

在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

在 java.lang.reflect.Constructor.newInstance(Constructor.java:423)

在 org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:185)

在 org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:120)

在 org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)

在 org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:164)

在 org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)

在 org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:586)

在 org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:279)

在 org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:83)

在 framework.elements.CustomElement.click(CustomElement.java:141)

在 parionsDirect.pageObject.PageVeilleAccueil.clicPremiereVisite(PageVeilleAccueil.java:56)

在 testAutomatises.TestHorsConnexion.pageVeilleVisiteur(TestHorsConnexion.java:97)

在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)

在 org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)

在 org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)

在 org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)

在 org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)

在 org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)

在 org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)

在 org.junit.rules.RunRules.evaluate(RunRules.java:20)

在 org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)

在 org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)

在 org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)

在 org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)

在 org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)

在 org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)

在 org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)

在 org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)

在 org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)

在 org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)

在 org.junit.runners.ParentRunner.run(ParentRunner.java:363)

在 org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)

在 org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)

在 org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)

在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

在 java.lang.reflect.Method.invoke(Method.java:498)

在 org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)

在 org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)

在 org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)

在 org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)

在 org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)

0 投票
4 回答
5453 浏览

java - alwaysMatch 中的无效功能:unhandledPromptBehavior 是布尔类型而不是字符串

我已将我的 Selenium 框架升级到最新版本。在执行代码期间,我收到以下异常

例外

细节 :

Selenium:3.7.1 IE:3.7.0(32 位驱动程序)java.version:'1.8.0_144'

自动化代码适用于我较旧的 IE 驱动程序(32 位)- 3.4.0。

请提出您的意见以解决该错误。

0 投票
0 回答
313 浏览

selenium - IEDriverserver.exe 有时在使用 selenium 时会崩溃。看起来和内存有关,怎么增加呢?

我有一个使用 IEDriver.exe 运行 selenium 测试的 maven 项目。有时 IEDriver 会崩溃并显示消息“0x6b5bebe4 处的指令引用了 0x6aaa6830 处的内存”。看起来它与内存有关,我应该在运行 mvn 测试时增加内存吗?如果是这样,我应该使用什么命令?

我用来运行我的硒测试的命令是: mvn test -Pmyprofile

0 投票
1 回答
255 浏览

internet-explorer - 双子座:IE11 不工作

您能帮忙解决以下问题吗?

  1. 试图通过 Gemini 运行 Visual Test
  2. IE 11 不运行双子座测试

    • 硒独立: 3.7.1

这是堆栈跟踪:

Selenium Wiki中调查了moveTo操作在 Gemini 库中用于校准浏览器,但该功能在 IEDriver 中不起作用。这是使用 moveTo 操作的文件:链接到双子座文件

有谁知道如何修理它?

提前致谢

这是代码:test.gemini.js

.gemini.js