当前位置: 首页 > 知识库问答 >
问题:

ChromeDriver在jenkins没有营业

濮阳耀
2023-03-14

我创建了一个有测试的selenium Cumber框架

测试需要打开chromeDriver,当我在IDE中运行它时,它可以正常工作,没有任何问题。

当我在Jenkins中运行项目时,虽然测试运行,但chromeDriver根本没有打开。控制台日志为:

17:32:14在4816端口启动ChromeDriver 89.0.4389.23(61B08EE2C50024BAB0004E48D2B1B083CDBDAC579参考/分支头/4389@{294})

17:32:14仅允许本地连接。

17:32:14请看https://chromedriver.chromium.org/security-considerations获取有关确保ChromeDriver安全的建议。

17:32:14 ChromeDriver已成功启动。

当然,这个日志显示在我的ide中,区别在于chromeDriver在ide模式下打开,而不是在Jenkins模式下打开。

我能做什么?

共有2个答案

丁星火
2023-03-14

更新:我找到了更好的解决方案。从命令行启动Jenkins作为一个进程,而不是作为一个服务,以打开Chrome。

https://stackoverflow.com/a/41457823/1691651命令行命令:

Jenkins.exe stop
java -jar Jenkins.war

要保存Jenkins配置,请为Jenkins_HOME创建一个环境变量,该变量指向“配置Jenkins”设置中列出的位置。

旧答案:

这也发生在我webdriver.io使用“铬驱动”服务时。为了解决这个问题,我必须在https://chromedriver.chromium.org/downloads手动下载chrome驱动程序,然后通过终端运行它——我不知道为什么要修复它。当在同一个EC2实例上通过命令行进行测试时,我不需要在终端中单独运行chrome驱动程序。

束作人
2023-03-14

首先,您应该添加更多描述,如:

  1. 你用什么语言
  2. 如何在代码中启动驱动程序
  3. 您使用本地驱动程序还是远程驱动程序?网格还是硒
  4. 你对詹金斯使用无头模式吗
  5. 詹金斯有运行浏览器的Xs吗

有很多解决方案,但每一个都基于更特殊的描述:最好的方法,但有点棘手/昂贵:

>

  • 在任何你喜欢的云平台上的ec2实例上启动自己的网格/Selelid服务器:GCP、AWS、Azure、DigitalOcean等

    安装docker并启动selenoid intance

    通过从github发布页面下载启动selenoid应用程序:

    chmod x cm

    /cm硒启动——vnc

    获取其IP并将其提供给驱动程序创建命令

    看起来像这样:

    html" target="_blank">java:

    WebDriver driver = new RemoteWebDriver(new URL(SelenoidIP/wd/hub), firefoxOptions);
    driver.get("http://www.google.com");
    driver.quit();
    

    红宝石:

    require 'selenium-webdriver'
    
    driver = Selenium::WebDriver.for :remote, url: SelenoidIP/wd/hub
    driver.get "http://www.google.com"
    driver.close
    

    蟒蛇:

    from selenium import webdriver
    
    driver = webdriver.Remote(
        command_executor=SelenoidIP/wd/hub)
    driver.get("http://www.google.com")
    driver.quit() 
    

  •  类似资料:
    • 我正在使用Jenkins版本1.554.2。我有各种maven项目作业。我最近在Jenkins上创建了一个新的maven作业。它在Jenkins上运行过一次。现在当我点击立即构建时,它只显示工具提示,但不安排构建。我的另一个maven项目运行得很好。 Maven版本:3.2.1Java版本:1.7.0_55 工作类型:maven2/3项目 已安装的插件:

    • 悬而未决-詹金斯没有mypod标签 我指的是Kubernetes Jenkins插件--总是离线的从机来配置Jenkins系统。我发现这个问题被描述为一个缺陷,我不知道这是否更新到最新的詹金斯图像。以下是链接:https://github.com/jenkinsci/kubernetes-plugin/pull/127 下一个错误: 这会不会是因为400D1ED?那么KuberNetesDecla

    • 我试图在jenkins中安排以下ANT构建来执行java类。当我在Eclipse中运行构建配置时,它编译并执行我的java类。当我计划和执行构建时。Jenkins中的xml执行构建,但未能编译我的java类。然后,它会将构建标记为成功完成。我正在eclipse和jenkins中运行ANT版本1.8.4和Java版本1.7.003。我不知道詹金斯为什么没能编译这个类? 詹金斯控制台输出 由工作区C:

    • 问题内容: 我有几个服务器: Jenkins Gitlab 在gitlab上,我有一个webhook: 在詹金斯身上,我有一份工作: 源代码管理: Git: gitlab) 凭证:密钥对有效 要建立的分支:* / master 仓库浏览器:gitlab 版本:6.5.1 轮询SCM 有什么线索为什么詹金斯不能胜任这份工作? 问题答案: 在Jenkins上,您应禁用并将其设置为(not )

    • 问题内容: 我希望Jenkins为开放拉取请求中的每个分支自动找到并运行测试套件。我找不到的某些Jenkins插件有可能吗? 问题答案: 最近为Jenkins发布了一个新插件-Github pull request builder 。 如果它按锡罐上的说明去做,那可能就是您想要的。

    • 问题内容: 我已经在运行于Google Cloud计算引擎上的Ubuntu计算机上安装了Jenkins。 为此,我运行了以下命令: Jenkins似乎安装得很好,但是当我在端口8080上访问公用IP地址时,那里什么也没有。我读到它可能是因为Apache正在使用端口8080,所以我编辑了端口并将其更改为8081。但是,在该端口上我仍然看不到jenkins。 我还重新启动了服务,但没有任何更改。如果我