node.js - 出现错误:服务器提前终止,在 selenium chrome 驱动程序中状态为 127
问题描述
当我尝试使用 chrome 驱动程序进行单元测试时,出现错误:Server terminated early with status 127
,我安装了 chrome 驱动程序仍然出现错误。谁能帮助我为什么会遇到这个问题。这是我的代码,
let webdriver = require("selenium-webdriver");
let chromeOptions = new chrome.Options();
chromeOptions.addArguments("test-type");
chromeOptions.addArguments("start-maximized");
chromeOptions.addArguments("--js-flags=--expose-gc");
chromeOptions.addArguments("--enable-precise-memory-info");
chromeOptions.addArguments("--disable-popup-blocking");
chromeOptions.addArguments("--disable-default-apps");
chromeOptions.addArguments("--disable-infobars");
driver = new webdriver.Builder()
.forBrowser("chrome")
.setChromeOptions(chromeOptions)
.build();
解决方案
就我而言,我缺少一个 Java 运行时环境 (JRE)。我在基于 Debian 的 docker 映像中使用 Selenium 运行 e2e 测试,因此sudo apt-get install default-jre
为我做了这个伎俩。遗憾的是 selenium 在这种情况下没有给出更有用的错误信息。
按照步骤 :-
apt-get install default-jre
apt-get -f install
进行修复安装apt-get install chromium-browser
确保安装与您的 chromedriver 相关的正确版本的 chrome,例如 chrome 60-62 用于 chromedriver 2.33将 webdriver 配置为以“无头”模式启动 chrome,以避免其他不必要的依赖项。在节点中它看起来像:
const options = new chromeDriver.Options();
options.addArguments( 'headless', 'disable-gpu', );
new webdriver.Builder() .forBrowser('chrome') .setChromeOptions(options) .build();
推荐阅读
- python - 通过python中的列循环总结几列
- php - 我帐户中的 Woocommerce 订单查看页面显示 404 未找到
- flutter - 我在图像上添加了 Watermaek,但图像未加载
- typescript - 在 Vue 打字稿中使用 i18n
- image-manipulation - CodeIgniter 4 图像处理错误 withFile() null
- eloquent - Eloquent 如何使用 (NOT) EXISTS 和选择子查询
- at-command - GSM/GPRS 板 sim800c "AT+CTTS=?" 返回“错误”
- python - 具有多个输入的 TensorFlow 生成器读取多个文件会导致内核崩溃
- python - Python 套接字模块未检测到 TFTP RRQ
- python - Amazon Neptune 中批量加载的 CSV 数据格式