- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在通过 Visual Studio 单元测试运行 Selenium Webdriver,并使用 InternetExplorerDriver。这会在控制台窗口中启动 IEDriverServer.exe。
这很好用并且测试执行了。测试执行完成后,我希望 cmd.exe 窗口被杀死,这样我就不必手动清理它了。我有数以千计的测试,所以你可以想象管理它的头痛。
有没有一种优雅的方法来处理这个问题,而不必执行测试后执行和使用 kill.exe 等杀死 cmd.exe 进程?我试过 InternetExplorerDriverService.HideCommandPromptWindow = true,但它只是在隐藏模式下运行 cmd.exe 并让进程一直运行,直到它被手动终止。我也试过 InternetExplorerDriverService.SuppressInitialDiagnosticInformation 所做的只是抑制写入 cmd.exe 窗口的一些信息。
最佳答案
为了补充 awser,一些关于这个主题的信息。您可以根据需要使用 3 种主要方法:
.Close(): - This method is used to close the current open window. It closes the current open window on which driver has focus on.
.Quit(): - This method is used to destroy the instance of WebDriver. It closes all Browser Windows associated with that driver and safely ends the session. Quit() calls Dispose method to achieve this.
.Dispose(): - This method closes all Browser windows and safely ends the sessionemphasized text
在你的情况下,因为你需要终止进程,最好的选择是使用 .Quit()
。
有时,当您的 selenium 实例崩溃、当前和所有下一个测试开始失败时,或者甚至当您取消当前的调试测试套件时,您都无法结束进程。在这种情况下,您确实需要终止进程。
正如@Prateek 所见,其中一个正在使用 Runtime.getRuntime()
。在 C# 中,更好的方法是:
foreach (var proc in Process.GetProcessesByName("IEDriverServer"))
{
proc.Kill();
}
您可以在启动 WebDriver 的构造函数中使用它(但在启动它之前!)或者,如果您使用一些库作为 NUnit,则可以创建一个全局 OneTimeSetUp。一种在所有测试前只运行一次的方法。
此外,如果您不喜欢放置代码或创建新方法来完成这项工作,您可以在 main .csproj 中配置 pre-build
和 post-build
来执行你的 cmd 命令。每当您运行测试或构建项目时,它都会终止打开的 webdriver 实例。
要配置它,您需要:
在您的 .csproj 中右键单击“属性”;
导航到“构建事件”;
将命令 taskkill/f/fi "pid gt 0"/im IEDriverServer.exe
粘贴到构建前、构建后或两者中。
关于c# - 如何在运行 InternetExplorerDriver Selenium 测试后终止 IEDriverServer.exe 控制台窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36186875/
我正在尝试针对 IE8 运行测试,但遇到了一个奇怪的问题: 创建 webdriver 实例时(driver = Selenium::WebDriver.for :ie),IE 启动,WebDriver
我在尝试即时 InternetExplorerDriver 时遇到奇怪的错误。我编写了以下代码: public static void main(String[] args) { System
我正在通过 JSP 页面调用一个简单的 Java 类测试。此类 Test 将使用 Selenium IE 驱动程序实例化 IE,并使用 Google 进行搜索。 package com.tcs; im
还有一些细节。 代码: System.setProperty("webdriver.ie.driver", "res\\IEDriverServer.exe"); System.set
我的项目包括 Selenium webdriver、JAVA、Maven、TestNG、Jenkins、Allure(报告)。我有几套包含 100 多个测试用例的测试套件,我通过 3 个不同的浏览器迭
我正在使用 WebDriver 并且我已经下载了 InternetExplorerDriver 并且想知道下载后我要做什么? This说要把司机放在我的路上。不太确定他们到底在说什么。 有没有人用过这
有没有办法在 selenium InternetExplorerDriver 中禁用 flash? 在 Windows Internet 选项中禁用它似乎不起作用。我正在寻找传递给 InternetE
我们使用 Selenium 来测试从我们的 Web 应用程序下载的文件。目前我们正在使用 Firefox,将其设置为所需的下载目录,并确保下载文件时不会弹出对话框并且不需要用户交互。 对于 Firef
我遇到了让我发疯的 InternetExplorer WebDriver 问题。 IE 出于某种原因不会等到页面加载并继续执行代码。 以下代码会打开 Google 页面,但不会在之后打开 Wikipe
每当我在 IE 中运行 WebDriver 测试(使用 InternetExplorerDriver)时,需要单击网页元素,InternetExplorerDriver 就会接管我的鼠标。 当我在 C
无法在 InternetExplorerDriver 中添加 cookie。 InternetExplorerDriver driver = .....; driver.manage().add(my
只是想知道如何实例化不同版本的 InternetExplorerDriver。 这就是我创建 IE 驱动程序的方式: WebDriver ieWebDriver = new InternetExplo
我在网页上有一个按钮,当我通过 IE 运行时 Webdriver 不会点击它 - 我已经尝试了以下解决方法但没有成功 - 通过 Javascript 点击: ((JavascriptExecutor)
已下载 InternetExplorerDriver,但我不知道如何在 php 测试中启动它。我正在使用 https://github.com/chibimagic/WebDriver-PHP/ 最佳
我需要您帮助我在使用 InternetExplorerDriver webdriver 时自动执行一些步骤。 以下是我的代码: File file =new File("C:\\IEDriverSer
我是 Selenium 的新手,想知道是否有人可以指出正确的方向。 我正在尝试获取页面的页面源,但我注意到 IE 驱动程序返回了一些东西不同于 FirefoxDriver。 此外,InternetEx
这里的选项是什么,因为我们的计划是能够使用 jenkins 在 linux (CentOS) 虚拟机上执行 selenium 测试,以使用 selenium 安排执行,此时我们只需要测试 Intern
有没有人在 Intranet 或启用“兼容性 View ”的站点上调试时(即 IE 未聚焦)成功单击标签?我已经尝试了我能想到的 EnableNativeEvents/RequireWindowFoc
我下载了驱动程序并在我的代码中给出了确切的路径但是当我运行代码时它显示错误 我的java代码如下: System.out.println("Internet Explorer is selected"
当前正在使用 selenium 远程驱动程序。 Chrome 远程驱动程序的执行工作正常,但 IE 无法正常工作。显示 NoSuchElementException 后启动 IE 浏览器 我在下面的网
我是一名优秀的程序员,十分优秀!