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**/
    }
    }
  • 相关阅读:
    linux分区-df
    day34 协程
    day33 GIL锁 线程队列 线程池
    day32 线程
    day31 管道 进程池 数据共享
    day30 锁 队列
    day29 进程
    day28 socketserver
    day27 粘包及粘包的解决方案
    day26 网络通讯的整个流程
  • 原文地址:https://www.cnblogs.com/testerLydia/p/9564270.html
Copyright © 2011-2022 走看看