问题标签 [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.
c# - IE11 中的 Sendkeys() 不会输入整个文本
我的 selenium 进入了一个特殊的位置,我试图在 IE 11 中使用 .SendKeys() 编写整个文本。
我注意到的是,当我运行测试时,它有时会在不同阶段的打字过程中丢失字母。有谁知道这一点以及解决此问题的方法是什么,因为此问题不会发生在我正在测试的另一个浏览器 chrome 上。
编辑:我不确定,但这就是我放的地方:
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 秒。如果执行卡在本地主机页面上,该怎么办。
selenium - 在 Jenkins 上运行 webdriver IEDriver 失败
我有一个我最近创建的小型 C# webdriver 测试套件 dll ......
- 在 Visual Studio 中运行良好
- 使用 NUnit 3 控制台运行程序完美地从命令行运行。
我在我的笔记本电脑上安装了 Jenkins(在我将它放入我的实时 Jenkins 之前进行测试),使用我的 Windows 凭据运行。当我使用之前使用的相同 NUnit3 控制台运行程序命令执行测试套件时,所有测试都失败,甚至无法登录,因为它找不到任何元素。我用 Selenium 截取了屏幕截图,它只是一个黑色矩形!
任何人都对如何让 IE 行为有任何想法 - 我敢打赌这是来自 Jenkins 的 Windows 权限。谢谢!
html - 使用 python 在 Internet Explorer 中通过 css 为 selenium-webdriver 定位元素
我想在 Internet Explorer 中通过 css 为这组特定的标签找到一个元素。
在上面的 HTML 标记中,我想找到使用 CSS Selector 方法突出显示的元素按钮(第 4 行)。
我已经尝试过使用 chrome 并且它可以工作,但我只需要使用 IE。chrome 中的 css 选择器是使用#btnUploadSupply > div
有人可以帮帮我吗?
java - 如何使 Selenium WebDriver 动态选择客户端证书而不用视觉检测弹出窗口
我正在尝试使用 Java 和 Selenium 来测试需要客户端证书的网站。当我浏览到我的网站时,我会弹出一个如下所示的弹出窗口,以选择正确的证书。
我的要求如下:
- 按名称选择证书
- 在不同版本的 Windows / IE / Edge 上
理想情况下,从不显示弹出窗口;即,解决方案将涉及调用一些 API 或设置一些配置来固定要使用的正确证书。
我自己的解决思路:
我尝试了一个基于使用SikuliX视觉检测正确证书的解决方案(确实有效),但我想知道是否有更好的解决方案不依赖于视觉检测弹出窗口。如果 Microsoft 决定更改此弹出窗口的外观,那么在多个版本的 Windows 中失败的可能性较小,并且是未来的证明。
我的另一个想法(但我不知道如何/是否可能)是删除除一个之外的所有已安装证书,以便永远不会显示弹出窗口:
- 备份整个商店
- 删除 IE 可以使用的所有客户端证书(我需要的除外)
- 进行不再需要任何证书选择的登录
- 恢复备份的存储
有谁知道如何做到这一点(在 Java 中,可能调用 CLI 命令)?
是否可以启动(使用 Selenium Java)一个只知道我需要的单个证书的 Internet Explorer 窗口?
是否可以在 Internet Explorer 中为给定域设置默认证书?
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 能力是
INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS
, 真的NATIVE_EVENTS
, 错误的IGNORE_ZOOM_SETTING
, 真的IE_ENSURE_CLEAN_SESSION
, 真的ENABLE_ELEMENT_CACHE_CLEANUP
, 真的FORCE_CREATE_PROCESS
, 真的IE_SWITCHES
, “-私人的”
Selenium Hub 命令:
节点命令:
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)
java - alwaysMatch 中的无效功能:unhandledPromptBehavior 是布尔类型而不是字符串
我已将我的 Selenium 框架升级到最新版本。在执行代码期间,我收到以下异常
例外:
细节 :
Selenium:3.7.1 IE:3.7.0(32 位驱动程序)java.version:'1.8.0_144'
自动化代码适用于我较旧的 IE 驱动程序(32 位)- 3.4.0。
请提出您的意见以解决该错误。
selenium - IEDriverserver.exe 有时在使用 selenium 时会崩溃。看起来和内存有关,怎么增加呢?
我有一个使用 IEDriver.exe 运行 selenium 测试的 maven 项目。有时 IEDriver 会崩溃并显示消息“0x6b5bebe4 处的指令引用了 0x6aaa6830 处的内存”。看起来它与内存有关,我应该在运行 mvn 测试时增加内存吗?如果是这样,我应该使用什么命令?
我用来运行我的硒测试的命令是: mvn test -Pmyprofile
internet-explorer - 双子座:IE11 不工作
您能帮忙解决以下问题吗?
- 试图通过 Gemini 运行 Visual Test
IE 11 不运行双子座测试
- 硒独立: 3.7.1
这是堆栈跟踪:
从Selenium Wiki中调查了moveTo操作在 Gemini 库中用于校准浏览器,但该功能在 IEDriver 中不起作用。这是使用 moveTo 操作的文件:链接到双子座文件
有谁知道如何修理它?
提前致谢
这是代码:test.gemini.js
.gemini.js