【问题标题】:Error starting selenium grid hub via powershell - VSTS/TFS通过 powershell 启动 selenium 网格集线器时出错 - VSTS/TFS
【发布时间】:2017-10-14 19:51:55
【问题描述】:

由于以下错误,我正在努力通过构建中的 powershell 脚本在 azure VM 上启动 selenium 网格....

System.Management.Automation.RuntimeException:运行命令停止,因为首选项变量“ErrorActionPreference”或公共参数设置为停止:错误:无法访问 jarfile selenium-server-standalone-3.4.0.jar

脚本只包含java -jar selenium-server-standalone-3.4.0.jar -role hub,它在本地运行良好。 Java 安装在 VM 上。

有谁知道问题出在哪里?

谢谢,

【问题讨论】:

  • 我使用 Java 1.8.0_131 在 Azure 上创建了一个 Windows Server 2012 Datacenter VM,并运行了您在上面提供的命令。它在我这边工作得很好。那么,您能告诉我们您使用的是哪个版本的 Java 和哪个版本的 Windows 吗?或者您可以在 CMD.exe 上运行它来尝试一下。
  • 嗨亚伦。这只是在使用“目标机器上的 PowerShell”任务运行构建时出现的问题。像你自己一样,如果我直接在 Azure 机器上运行 powershell 中的命令,它就可以正常工作。如果我将 WinRM 连接到 azure 机器并从我的本地机器运行它,它也可以正常工作。我设置的 azure 服务器是 windows server 2016 datacenter。它安装了最新版本的 java (1.8.131) 我怀疑这个问题与尝试在构建期间运行 .jar 文件有关,但不知道问题是什么。谢谢,

标签: java powershell selenium tfs azure-virtual-machine


【解决方案1】:

根据您提供的脚本,我怀疑您将powershell脚本文件与“selenium-server-standalone-3.4.0.jar”放在同一文件夹中,因此您无需指定jar文件的路径在脚本中。但是,当您从远程运行脚本时,您需要使用“selenium-server-standalone-3.4.0.jar”文件的绝对路径,因为工作文件夹已更改。添加文件的绝对路径或在脚本文件中添加“Set-Location”命令,将文件夹设置为jar文件所在的路径,然后重试。

顺便说一句,如果您只是从 powershell 脚本中调用“java -jar selenium-server-standalone-3.4.0.jar -role hub”命令,您将继续等待远程 PowerShell 脚本步骤,因为 powershell由于 selenium 服务器继续运行,脚本无法完成。我建议您启动另一个进程来运行 selenium 服务器,如下所示:

Set-Location JarFileFolderPath
Start-Job -ScriptBlock {cmd /c start java -jar selenium-server-standalone-3.4.0.jar -role hub}

并确保在所有测试完成后停止工作。

【讨论】:

  • 非常感谢您对此的详细回复。我还没有机会尝试你的脚本,但我很满意它可能会解决问题。
  • 嗨,埃迪。不幸的是,提供的建议不起作用。我在远程 powershell 会话和“目标机器上的 PowerShell”构建任务中都尝试了这个,但都未能调用 .jar 文件。我尝试了一个变体Start-Job -ScriptBlock {cmd /c start "C:\Selenium\Grid\SeleniumGrid.bat"} -Name "SeleniumGridHub",它确实从远程会话中调用了 .bat 文件,但不是从构建中调用(构建任务被标记为成功)。任何其他指针将不胜感激。
  • @Konzy262 “这确实从远程会话调用了 .bat 文件,但不是从构建中调用”是什么意思?
猜你喜欢
  • 2021-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-18
  • 2023-03-05
  • 2021-03-31
相关资源
最近更新 更多