Test Cafe 如何使用 headless 浏览器

发表时间 ·

testcafe 可以方便用来执行页面的自动化动作,而自动化离不开在命令行下执行。所以使用 testcafe 的必然选择是使用 headless (无界面)浏览器。

无界面浏览器

headless(无界面)浏览器在其他文章( seleniumPuppeteer)里介绍过,十分便于自动化执行浏览器动作。下面我们看 testcafe 是如何使用headless 浏览器的。

使用 chromium

安装 chromium

在 debian/ubuntu 系统中命令行界面下安装 chrome(实际上是 chromium),使用下面的命令:

$ sudo apt install chromium
使用 chromium

安装好后可以在命令行调用验证是否安装成功:

$ chromium --headless --disable-gpu --dump-dom https://www.example.com/

得到下面的结果,说明已经正常安装了:

[1126/174644.157079:WARNING:audio_manager.cc(321)] Multiple instances of AudioManager detected
[1126/174644.157165:WARNING:audio_manager.cc(278)] Multiple instances of AudioManager detected

<div>
    <h1>Example Domain</h1>
    <p>This domain is for use in illustrative examples in documents. You may use this
    domain in literature without prior coordination or asking for permission.</p>
    <p><a href="https://www.iana.org/domains/example">More information...</a></p>
</div>
报错信息处理

上面两行 audio_manager.cc 报错需要安装 pulseaudio 解决:

$ sudo apt-get install pulseaudio

安装 pulseaudio 后,运行于后台:

$ pulseaudio --daemonize

就可以消除报错信息。

用 testcafe 调用

安装好 chromium 后,就可以用 testcafe 调用:

//package.json

"scripts": {
     "test": "testcafe chromium:headless \"./test/*.test.ts\"",
  },

使用 testcafe docker 镜像


相关文章   欢迎到 留言板 写下你的看法。
  本页面内容采用 署名协议 CC-BY 授权。欢迎转载,请保留原文链接