Я пытаюсь запустить Nightwatch с просто chromedriver и могу заставить все работать нормально без SSL.Когда я загружаю свое приложение с самозаверяющими сертификатами, хотя время просто истекает, я просматривал бесконечную документацию для NightWatch и Chromedriver и просто не могу заставить это работать.
"desiredCapabilities": {
"browserName": "chrome",
"acceptSslCerts": true,
"acceptInsecureCerts": true,
"javascriptEnabled": true,
"webStorageEnabled": true,
"chromeOptions" : {
"args": [
"headless",
"no-sandbox",
"disable-gpu",
"disable-web-security",
"ignore-certificate-errors"
]
}
}
Мой файл глобальных переменных:
const chromedriver = require('./chromedriver.js');
module.exports = {
before: (done) => {
chromedriver.start()
done()
},
after: (done) => {
chromedriver.stop()
done()
}
}
и файл моего хром-драйвера:
const tcpPortUsed = require('tcp-port-used')
const getPortFromArgs = (args) => {
const port = 9515
if (!args) return port
const portRegexp = /--port=(\d*)/
const portArg = args.find((arg) => portRegexp.test(arg))
return portArg ? parseInt(portRegexp.exec(portArg)[1]) : port
}
exports.start = (args, returnPromise) => {
const cp = require('child_process').spawn('/usr/bin/chromedriver', args)
cp.stdout.pipe(process.stdout)
cp.stderr.pipe(process.stderr)
exports.defaultInstance = cp
if (!returnPromise) return cp
const port = getPortFromArgs(args)
const pollInterval = 100
const timeout = 10000
return tcpPortUsed.waitUntilUsed(port, pollInterval, timeout).then(() => cp)
}
exports.stop = () => {
if (exports.defaultInstance != null) exports.defaultInstance.kill()
}