【问题标题】:Xvfb Jenkins plugin: Unrecognized option: -displayfdXvfb Jenkins 插件:无法识别的选项:-displayfd
【发布时间】:2015-02-03 19:28:56
【问题描述】:

Jenkins 版本:1.573
Jenkins Xvfb 插件 版本:1.0.15(最新)
Linux 操作系统:Red Hat Enterprise Linux Server 版本 5.9 (Tikanga)

Xorg -version

X Window System Version 7.1.1
Release Date: 12 May 2006
X Protocol Version 11, Revision 0, Release 7.1.1
Build Operating System: Linux 2.6.18-308.13.1.el5 x86_64 Red Hat, Inc.
Current Operating System: Linux kobaloki2 2.6.18-348.16.1.el5 #1 SMP Sat Jul 27 01:05:23 EDT 2013 x86_64
Build Date: 06 November 2012
Build ID: xorg-x11-server 1.1.1-48.100.el5
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Module Loader present

哪个Xvfb

/usr/bin/Xvfb

我有一些基于 Selenium GUI 的测试,我正在针对给定环境/服务器的网站运行这些测试,这些测试检查该网站的一切是否正常工作,即执行登录/注销和其他一些点击这里n那里成功。

由于这些是 Selenium GUI 测试,我想在机器 (Linux) 上以 HEADLESS 模式运行这些测试,我需要 X 显示服务器 (Xvfb)。

我导出了 DISPLAY 变量并成功启动了 /etc/init.d/xvfb。

root      5996     1  0  2014 ?        00:00:00 /usr/bin/Xvfb :99 -ac -screen 0 1024x768x8

我正在使用 Xvfb 插件,它已成功安装在我的 Jenkins 实例上,并且 Jenkins Global 和 Jenkins 作业级别的配置设置正确,如果我在 master/ 上运行作业,它工作正常从属实例(注意目前我已经在同一台主服务器上创建了 2 个从属服务器,但我还有其他单独的服务器,我计划在其中安装更多从属服务器 em>)。

当我只同时运行 2 个作业时,我看到以下 additional 进程,即每次运行并且作业成功完成。 注意我在Xvfb插件中的offset值为1。如果我使用100,那么下面会分别显示:101和:102。

u10003  16264  6921  1 12:56 ?        00:00:01 Xvfb :1 -screen 0 1024x768x8 -fbdir /production/JSlaves/kobaloki2_2/xvfb-2015-02-03_12-56-41-60597.fbdir
u10003  16289  6691  0 12:56 ?        00:00:00 Xvfb :2 -screen 0 1024x768x8 -fbdir /production/JSlaves/kobaloki2_1/xvfb-2015-02-03_12-56-46-7546741396559175462.fbdir

我尝试同时运行 Jenkins 作业(成功在主/从服务器上运行 Selenium GUI 集成/验收测试)。

现在,我想要实现的是运行此 Jenkins 作业的多个并发构建/运行(这样我就可以同时运行多个测试,即执行某种基于体积的测试)。 目前,我不想在 Selenium Grid 服务器上运行这些测试(超出本文的范围)。

我的问题

1. 如果选中“让 Xvfb 选择显示名称”复选框,那么我会收到以下错误 (这里的作业是在主 Jenkins 实例上运行的,而不是一个奴隶,因此 /production/jenkinsAKS/... 基本文件夹)如何让 Xvfb 使用 -displayfd 变量成功?

13:33:01 Xvfb starting$ Xvfb -displayfd 2 -screen 0 1024x768x8 -fbdir /production/jenkinsAKS/xvfb-2015-02-03_13-33-00-6577455998897275731.fbdir
13:33:01 Unrecognized option: -displayfd

...
....bunch of options for Xvfb command
...
..
13:33:01 Fatal server error:
13:33:01 Unrecognized option: -displayfd
13:33:01 
13:33:11 
13:33:11 ERROR: Xvfb failed to start, consult the lines above for errors

通过此链接:https://wiki.jenkins-ci.org/display/JENKINS/Xvfb+Plugin 让 Xvfb 选择显示名称 使用 Xvfb 的 -displayfd 选项通过扫描可用的名称来选择自己的显示名称。 此选项需要最新版本的 xserver,请检查您的安装以获得支持如果您不想管理显示编号范围但要使用第一个空闲显示编号,则很有用

2. 在上面的快照(Xvfb 插件)中,我看到 Xvfb 附加选项 框,我可以尝试任何选项来告诉 Xvfb 使用display# 哪个当前没有被使用?

3. 看来我需要更新 X 服务器版本(Xorg -version)。 我该怎么做,我应该运行什么命令

4.如果我取消选中上述复选框并且如果我运行此 Jenkins 作业的多个构建(超过 2 个) ,然后如果 DISPLAY 号码已在使用中,则会出现以下错误。 在 Xvfb 插件中使用该复选框,我试图告诉 Xvfb 使用空闲列表中的显示编号,如果一个不可用。

此错误出现在显示 #1 或 #2 取决于 Xvfb 插件如何在 Jenkins 环境中分配数字(使用 node/slave# 等)。

13:04:27 Fatal server error:
13:04:27 Server is already active for display 1
13:04:27    If this server is no longer running, remove /tmp/.X1-lock
13:04:27    and start again.
13:04:27 
13:04:27 unlink: No such file or directory
13:04:42 unlink  failed, errno 2
13:04:42 ERROR: Xvfb failed to start, consult the lines above for errors

**How can I get rid of the above error** (seems like when I can resolve bullet 2 above)?

注意:如果我使用单个从属设备(在同一个主实例上或任何其他服务器上)并将执行程序的数量从 1/2 增加到 20 或更大,那么,Xvfb 是同时成功运行 N 次构建/运行/测试,没有任何失败。如果由于 DISPLAY 不可用而重试失败的构建,我也可以使用 naginator 插件。但是,这不是我这次看到的。

【问题讨论】:

    标签: selenium plugins jenkins fatal-error xvfb


    【解决方案1】:

    回答时间。

    1. 这取决于您的机器,即安装在您机器上的 Xvfb 可能没有 -displayfd 选项(但可能是不同的类似选项),但是当您选中该复选框时,Jenkins 中的 Xvfb 插件会为您传递它。如果可用,请尝试不同的选项(请参阅操作系统机器上的 Xvfb 帮助或手册页)。现在,我没有使用/选中此复选框。

    2. 实际上不需要,因为 Xvfb 插件会生成一个新实例并分配一个 DISPLAY (:NN),其中 NN 是每次运行时自动生成的数字。

    3. 我可以使用 yum 命令。

    4. 此错误并非每次都出现。如果发生这种情况并且所有 Jenkins 作业运行都出现错误,那么您可以运行以下命令来修复它。

      /etc/init.d/xvfb 停止;睡觉 2; /etc/init.d/xvfb 启动

    要获取 xvfb 文件的副本,您可以在线获取(其中一些位于 /etc/init.d 文件夹下的 xvfb 文件,有更多的选项,只是停止/启动。

    现在,我的实际问题(我正在尝试一切)的解决方案在此处的其他帖子中提到:Xvfb, Jenkins, Selenium tests - Capture Screenshots of all pages

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-17
      • 1970-01-01
      • 2014-08-21
      • 2020-07-02
      • 2018-02-06
      • 2021-11-08
      相关资源
      最近更新 更多