使用Java从linux计算机远程杀死Internet Explorer实例

使用Java从linux计算机远程杀死Internet Explorer实例,java,selenium,selenium-iedriver,Java,Selenium,Selenium Iedriver,我有几个Selenium测试正在使用Selenium网格从Jenkins(Linux上)远程运行到Windows机器。我需要一种方法在测试开始之前可靠地杀死IE的所有实例。这些测试都使用TestNG端到端运行,因此需要在每个测试开始时在@BeforeMethod中执行此方法。我知道如何使用Java来杀死任务,但由于代码实际上部署在Linux机器上,所以(据我所知)这些都不起作用。任何帮助都将不胜感激 在Windows PC上创建一个bat文件并写入以下行 taskkill /F /IM iexp

我有几个Selenium测试正在使用Selenium网格从Jenkins(Linux上)远程运行到Windows机器。我需要一种方法在测试开始之前可靠地
杀死
IE的所有实例。这些测试都使用TestNG端到端运行,因此需要在每个测试开始时在
@BeforeMethod
中执行此方法。我知道如何使用Java来
杀死任务,但由于代码实际上部署在Linux机器上,所以(据我所知)这些都不起作用。任何帮助都将不胜感激

在Windows PC上创建一个bat文件并写入以下行

taskkill /F /IM iexplore.exe /T
它将杀死Internet Explorer的所有实例。 现在,每次您都要确保所有internet explorer实例都已关闭。运行此bat文件

您可以使用它在远程windows box上从java代码执行命令。比如:

 WinRmTool.Builder cmdTool = createWinRmBuilder();
 cmdTool.environment(environment);
 WinRmToolResponse cmdResponse = cmdTool.build().executeCommand("taskkill /F /IM iexplore.exe /T");

您可以为此使用一些远程管理工具,也可以创建一个微服务,该服务将在目标工作站上运行,并使用远程文件系统/任务管理命令接受http请求


检查这个,它描述了如何为此类任务构建一个简单的服务和Jenkins插件。源代码上也有链接。

我实际上需要Java代码中的这个方法,在Linux机器上执行,以便在测试套件中的每个测试开始时终止远程windows任务。抱歉,我没有充分解释这一点。Java有ProcessBuilder,可以在程序之外运行。ProcessBuilder可以在运行Java代码的机器以外的机器上执行应用程序吗?我查看了一下,但没有找到在任何地方指定另一台机器地址的方法。请看:SO的期望是,用户提出问题时,不仅要进行研究以回答自己的问题,还要共享研究、代码尝试和结果。这表明你花了时间来帮助自己,它使我们避免重复显而易见的答案,最重要的是,它帮助你得到一个更具体和相关的答案!另见:谢谢你。每次我发布额外信息时,通常会立即对其进行编辑和删除。但如果我试图简明扼要,我也会因此受到责骂。这当然不像我花了一天的大部分时间在这件事上……你会希望简明扼要,但至少向我们展示你读过的研究内容、你尝试过的代码,并解释你当前尝试中不起作用的内容,例如错误消息等。