运行 Gitlab CI 作业以使用 webdriverio 执行自动化测试时出现“加载共享库时出错:libnss3.so”
Posted
技术标签:
【中文标题】运行 Gitlab CI 作业以使用 webdriverio 执行自动化测试时出现“加载共享库时出错:libnss3.so”【英文标题】:"Error while loading shared libraries: libnss3.so" while running Gtlab CI job to perform automated testing using webdriverio 【发布时间】:2020-01-27 19:04:12 【问题描述】:我正在 Gitlab CI 中为 selenium 中的自动化测试设置 CI 作业,但由于该问题,测试失败。
019-09-27T11:03:17.404Z INFO @wdio/cli:Launcher: 运行 onPrepare 钩子 /builds/shuryav/test-react-ci-cd/node_modules/chromedriver/lib/chromedriver/chromedriver:加载共享库时出错:libnss3.so:无法打开共享对象文件:没有这样的文件或目录
我已经尝试了许多解决方案,例如安装包 "@wdio/cli": "^5.13.2", "webdriverio": "^5.13.2" 但没有任何效果。对于注释,我没有使用任何 docker 设置
/builds/shauryav/test-react-ci-cd/node_modules/chromedriver/lib/chromedriver/chromedriver: error while loading shared libraries: libnss3.so: cannot open shared object file: No such file or directory
2019-09-27T11:03:27.415Z ERROR @wdio/cli:utils: A service failed in the 'onPrepare' hook
Error: timeout
at Timeout.timeoutFunc (/builds/shauryav/test-react-ci-cd/node_modules/tcp-port-used/index.js:204:25)
at listOnTimeout (internal/timers.js:531:17)
at processTimers (internal/timers.js:475:7)```
【问题讨论】:
libnss3.so: 没有这样的文件或目录 → 安装 libnss (Debian, Ubuntu) / nss (Fedora, CentOS)。 @KnudLarsen 无法在 ubuntu:16.04 上找到软件包 libnss 16.04 : libnss3 ....apt-cache search libnss
和 apt-file search libnss3.so
.... 或使用在线搜索 packages.ubuntu.com/search?keywords=libnss&searchon=names ... 来确定包名称.
【参考方案1】:
试试这些命令
apt install libnss
apt install libnss3-dev libgdk-pixbuf2.0-dev libgtk-3-dev libxss-dev
如果上面的命令不起作用,那就去下面的一个
sudo apt install libgconf-2-4 libatk1.0-0 libatk-bridge2.0-0 libgdk-pixbuf2.0-0 libgtk-3-0 libgbm-dev libnss3-dev libxss-dev
【讨论】:
好答案。对于那些不知道的人,请确保您先运行apt update
。
好电话。在 WSL 上,需要先运行 apt update 否则找不到库。
请注意,现在是 2021 年,这一步对我在 Ubuntu 20 中安装 puppeteer.js 很有效
这在 Ubuntu (WSL2) 上也适用于我,尽管我不需要任何 -dev
版本(构建 chromium 需要这些版本,而不是简单地运行它)。以上是关于运行 Gitlab CI 作业以使用 webdriverio 执行自动化测试时出现“加载共享库时出错:libnss3.so”的主要内容,如果未能解决你的问题,请参考以下文章
运行 Gitlab CI 作业以使用 webdriverio 执行自动化测试时出现“加载共享库时出错:libnss3.so”