selenium-webdriver может использовать безголовый режим с настройкой Chrome
let { Builder} = require('selenium-webdriver')
let {Options} =require('selenium-webdriver/chrome')
let options = new Options()
let driver = new Builder().forBrowser('chrome').setChromeOptions(options.headless()).build()
Кстати, вы также можете использовать CukeTest (http://cuketest.com/) для написания сценария автоматизации пользовательского интерфейса