zoukankan      html  css  js  c++  java
  • Jenkins + Linux + xvfb + chrome web UI

      原本webui自动化测试在linux环境下都是用chrome headless模式跑的,但是下载相关的case目前chrome headless还没有很好的支持 (参见bug: https://bugs.chromium.org/p/chromium/issues/detail?id=696481 ), 所以选择把下载相关的case放到non-headless模式下跑,这就要借助xvfb这个工具了。

    安装玩xvfb并启动之后,手动调代码的时候需要添加下面的内容:

    1. 启动xvfb的时候设置screen size:  nohup /usr/bin/Xvfb :7 -ac -screen 0 1280x900x8 &

    2. 设置临时环境变量:export DISPLAY=:7

    3. 添加chrome option: chromeOption.addArgument("--no-sandbox");

    4. 添加window size: options.addArguments("window-size=1280,900")

    5. Maximize window不适用

    这么设置之后,命令行跑case是可以正常跑的

    然后放到jenkins下面启动发现完全跑不了,即使设置了临时环境变量也不可以。查了一下,是因为需要安装xvfb jenkins插件,装完之后在构建环境列有对应的勾选项,高级设置有详细的相关配置,如果对screen size 有要求,一定要设置.

     这里的Xvfb installation默认名称实在jenkins全局工具配置里设置的:

    如果是通过pipeline script跑的job, 语法如下:

    node{
    wrap([$class: 'Xvfb', additionalOptions: '', assignedLabels: '', autoDisplayName: true, displayNameOffset: 0, installationName: 'Xvfb', screen: '1280x1024x8']){
    /**steps**/
    }
    }
  • 相关阅读:
    2019第17周日
    完成胜过完美
    系统可扩展设计方法之消息队列
    mac下使用brew安装java等应用
    mac下zsh的使用:主题、z命令
    PyCharm中Python代码提示:Shadows name from outer scope
    python垃圾回收杂谈
    Python垃圾回收机制及gc模块详解:内存泄露的例子
    aa
    python的内存回收机制即gc模块讲解
  • 原文地址:https://www.cnblogs.com/testerLydia/p/9564270.html
Copyright © 2011-2022 走看看