问题标签 [selenium-edgedriver]
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.
selenium - 如果我们在锁定的机器上运行测试,Selenium Microsoft Edge 浏览器自动化会停止并失败
测试:自动化测试就是对视频进行截图并与之前的比较。我在虚拟机 (VM) - Windows 10 64bit 上执行此操作。
其他浏览器状态:无论桌面是锁定还是解锁,Chrome 和 Firefox 都运行良好
问题:在锁定的虚拟机(通过关闭 RDP 会话)上运行时,此自动化无法与 Microsoft Edge(最新 v42.17)一起使用。但如果我的 VM 未锁定,我可以成功运行此自动化。
虚拟机锁定后发生的情况:自动化尝试执行少量迭代并截取屏幕截图(均为黑色屏幕截图)。一段时间后,它会通过测试用例。
我们可以在这里得出两种不同的测试场景:
当虚拟机没有被锁定并在我的本地打开时,我们可以看到执行正在进行中 - 这是通过测试和预期的
当虚拟机被锁定并且由于测试执行在锁定的桌面下正在进行中而看不到任何执行时 - 测试不断失败(以及给我们完整的黑色屏幕截图),这是意料之外的
我使用的资源:
VS 2017 , Selenium v 3.12 ,C# ,Microsoft Edge 42.17134.1.0 , Nunit v3.10.1 , Microsoft Driver v16.16299
期望:我们应该能够在 VM(或任何 Windows 10)上使用 Microsoft Edge 浏览器运行测试,无论机器是锁定(通过关闭 RDP 会话)还是解锁
java - 第二个复选框单击被忽略
以下代码忽略第二个复选框单击。有谁知道为什么以及如何解决?在最后一行设置断点以查看复选框仍处于选中状态...
selenium - testng.xml 套件如果失败则跳过所有测试类,它仅适用于 Microsoft Edge 浏览器
使用 testng.xml 套件执行多个类,如果任何单个类或测试失败,它将仅跳过该特定测试并继续下一个测试套件,用于 Firefox 和 Chrome。但是,在 Microsoft Edge 的情况下,它无法处理失败测试套件。并且它为其余所有创建失败/跳过脚本。
.XML 套件参考:
这里是 2 个类的示例,它将在其中执行登录测试套件,然后注册为套件。但是,如果登录失败,它将不会执行 Edge 注册套件。这适用于 Firefox 和 Chrome。
我正在调用浏览器WebDriver
:
在每个 @Test 之后调用 @AfterMethod 注释,使用 ITestResult
这是 ITestResult 定义,
TestNG 或 Selenium 对 Edge 的工作方式不同?
c# - 如何正确设置edgedriver?收到以下错误
我在 C# 中使用 NUnit 和 Selenium 来构建一个框架,该框架包含在多个浏览器上运行多个测试用例。在这种情况下也支持 Microsoft Edge。当我设置测试时,chrome 和 firefox 运行正常,但 edge 出现以下错误:
OpenQA.Selenium.WebDriverException :抛出了一个带有空响应的异常,向远程 WebDriver 服务器发送 HTTP 请求以获取 URL http://localhost:55992/session. 异常状态为 ReceiveFailure,消息为:底层连接已关闭:接收时发生意外错误。----> System.Net.WebException:底层连接已关闭:接收时发生意外错误。----> System.IO.IOException : Unable to read data from the transport connection: 一个现有的连接被远程主机强行关闭。----> System.Net.Sockets.SocketException : 现有连接被远程主机强行关闭 [2018. 06. 17. 17:08:22 警告] 在 OpenQA.Selenium.Remote.HttpCommandExecutor.MakeHttpRequest(HttpRequestInfo requestInfo) 在 OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(Command commandToExecute) 在 OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute( OpenQA 中的命令 commandToExecute)。
我试图查找这个特定的错误,我得到的最接近的是远程驱动程序尝试发送一个 HTTP 请求,在这种情况下失败了。由于 Chrome 和 FF 运行正常,我不知道 Edge 出了什么问题。
WebDriverFactory:
测试代码:
c# - IE & Edge Selenium 驱动程序无法在下拉列表中找到元素
我正在尝试从下拉菜单中选择一个元素。
在我的页面上,下拉项目都是跨度的,看起来像这样:
因为唯一的标识符是innerText(我不想使用nth:childs)。我必须使用 XPaths 来匹配看起来像这样的东西(我在使用 C# 时转义了 " 标记):
当我使用 Chrome 驱动程序运行它时,它工作得非常好。但是,当我使用 IEDriver 或 EdgeDriver 时,它们都无法在列表中找到元素。
到目前为止,我所有的 CSS 选择器(以及一些非文本驱动的 XPath)在我的测试中都可以正常工作,只是下拉字段导致了我的问题。
我目前正在启动我的 IE 驱动程序,但没有设置任何功能,是否有一个我应该使用的选项?
更新:我尝试使用 CssSelector 并返回一个错误,指出我尝试单击的列表中的元素未显示。在单击之前运行一个小断言来检查元素是否显示会返回 false。
更新 2:我尝试从我的代码中运行一些 Java 脚本来为元素分配一个 ID,然后尝试使用它来单击它,但我得到了同样的错误(同样,这个方法适用于 chrome 和 ID正在正确分配)
这是控件的图片:
代码涉及首先单击使下拉列表出现的字段,然后从列表中选择项目。
selenium - 为什么 Edge/Selenium 在与托管节点的 Windows 10 虚拟机断开连接时会抛出错误?
我正在努力建立一个可扩展的解决方案来支持 Selenium Edge 测试。首先,Edge 不能作为 Windows 服务运行。其次,一次只能在一台机器上运行一个 Edge 测试实例。第三,当使用虚拟 Windows 10 机器托管节点和 Edge 时,远程桌面会话断开时测试会失败。
以下是与 Windows 10 虚拟机的远程桌面连接断开时发生的错误(但用户仍登录到 VM):
结果消息:初始化方法 SeleniumTests.LeftNavigationTests.Init 抛出异常。System.InvalidOperationException:System.InvalidOperationException:窗口大小操作失败,因为窗口当前不可用。
仅当远程会话不活动时才会出现此问题。连接时测试运行良好。
有没有人以前见过这个问题并找到解决方法?任何帮助将不胜感激!
系统信息:
- Windows 10 虚拟机:版本 10.0.15063 Build 15063
- 微软边缘 40.15063.674.0
- 微软 EdgeHTML 15.15063
- 微软网络驱动程序:15063
- 硒:3.12.0
- Selenium 节点正在 Windows 10 VM 的控制台窗口中运行。
selenium - Microsoft Edge 浏览器未在 selenium 网格上打开
我需要通过 selenium 网格启动 Microsoft Edge 浏览器,但是每当我尝试在以下错误下启动浏览器并且浏览器未启动时
要配置网格设置,我使用了以下代码:设置 HUB:
设置节点:
要启动浏览器,我使用了以下代码:
操作系统:Windows 10 专业版 [版本 1709 16299.125]
浏览器版本:41.16299.15.0
硒版本:3.13.0
Selenium 服务器独立:3.13.0
Microsoft WebDriver 版本:版本 16299 | 版本:5.16299 | 支持的边缘版本:16.16299
请有人对此有所了解。
c# - 如何在 Selenium 中设置 Edge 的下载文件夹?
我正在使用 Selenium 编写自动化测试。我想在 Edge 中设置下载目录,以便我可以下载文件作为测试的一部分。我可以在创建 EdgeDriver 时提供一个 EdgeOptions 对象,但我不知道在 EdgeOptions 上设置什么。
我知道相当于如何在 Chrome 中执行此操作
和火狐
但是,我如何在 Edge 中做同样的事情?并让它在没有保存提示的情况下自动下载?
selenium - 在 Jenkins 中运行 EdgeDriver
我在构建服务器上通过 Jenkins 运行了 Selenium 测试。测试都在 Chrome(使用 ChromeDriver)和 Firefox(使用 FirefoxDriver)中按预期运行。但是,测试不会使用 EdgeDriver 在 Edge 中运行。
当测试运行时,它会给出一个错误:
Microsoft Web Driver 不能与内置管理员帐户一起使用或在用户帐户控制关闭时使用。
我试过打开UAC,但没有效果。我尝试以其他用户身份运行 Jenkins 服务,但也没有任何效果。我尝试了以下建议:MicrosoftWebDriver 在 TeamCity 代理的 windows 服务下运行时构建失败
我可以从命令提示符在同一位置运行测试,而不是通过 Jenkins。