无头量角器测试不会插入Xvfb

时间:2017-05-24 06:45:18

标签: linux selenium jenkins protractor xvfb



我正在尝试在命令行和Jenkins中运行Protractor测试。两者都失败并出现同样的错误。

命令行

  • 我打开了提示并启动了webdriver-manager start
  • 在另一个提示中,我发起了Xvfb :42 -ac -screen 0 1024x768x24 &
  • 在第三个中,我最终发起了protractor myconf.js

詹金斯

  • 在我的构建中,我检查了“在构建之前启动Xvfb,并在之后将其关闭。”。
  • 我在shell脚本中运行测试。

    sh'dodo webdriver-manager clean'
    sh'dodo webdriver-manager update'
    sh'xvfb-run webdriver-manager start --seleniumPort 9094&'
    checkout([$ class:'GitSCM',branches:[[name:'* / master']],doGenerateSubmoduleConfigurations:false,extensions:[[$ class:'RelativeTargetDirectory',relativeTargetDir:'tests']],submoduleCfg:[ ],userRemoteConfigs:[[credentialsId:'myprettycredentials',url:'myprettyproject.git']]])
       sh'sudo sudo chmod -R a + rwx测试'
       sh'dodo killall Xvfb'
       sh'export DISPLAY =:43'
       sh'dodo Xvfb:43 -ac -screen 0 1024x768x24&'
       换行([$ class:'Xvfb']){
          sh'sudo量角器测试/ src / conf-demo.js --troubleshoot'
       }

在这两种情况下,我都会收到此错误。

Failed: unknown error: an X display is required for keycode conversions,
consider using Xvfb

为什么我的测试不会插入Xvfb我为他们如此热心地开始?谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

好吧,我终于设法使用

无头地运行我的量角器测试
xvfb-run -a webdriver-manager start --seleniumPort 9094 &
protractor myconf.js

-a选择任意展示位置,&使任务在后台运行。

答案 1 :(得分:0)

很高兴听到您解决问题。

另一种方法是创建gulp任务并使用gulp-angular-protractor扩展名。我认为配置和运行更容易。

并安装xvfb插件,以便在您的工作配置中使用它。

祝你好运!