天天看点

CentOS 7.2 使用karma运行angularjs UT(headless chrome)

由于服务器都没有安装桌面系统,想要在centos 7上使用karma启动headless chrome来运行angularjs ut,略麻烦了些,最后参考一些文章最后完成了环境搭建,成功运行了UT。

关键词:

- CentOS 7 Core

- Headless Browser

- Karma

- Xvfb

安装步骤:

安装chrome浏览器

因为受联网限制,下载了google-chrome-stable_current_x86_64.rpm手动安装。

同时要注意也需要安装与chrome-stable 版本兼容的chromedriver_linux64.zip,chromedriver和chrome的配套关系在下载目录的ntoes.txt中查看。

下载地址:

http://chromedriver.storage.googleapis.com/index.html

解压后将得到的可执行文件配置到$PATH下。

安装Xvfb

yum install Xvfb libXfon xorg-x11-fonts* -y
           

Xvfb使得没有GUI的情况下也可以打开浏览器运行自动化测试。

启动xvfb服务

根据情况设置下面的screen参数

nohup Xvfb -ac : -screen  x1024x8  &
export DISPLAY=:
           

安装npm 依赖包

npm install UT所需要的所有包

运行karma ut!

注意:

1)上述命令需要指定karma.config.js文件地址,否则会报错

2)karma.config.js 浏览器配置需要设定一下chrome的启动参数,否则会报 no sandbox 之类的错误,类似如下:

browsers:['NoSandboxChromeHeadless'],
        captureTimeout: 60000,
        customLaunchers: {
            NoSandboxChromeHeadless: {
                base: 'ChromeHeadless',
                flags: ['--no-sandbox']
            }
        },