您好尝试在 docker 中运行 selenium 测试。
const { Builder, By} = require("selenium-webdriver");
const chrome = require('selenium-webdriver/chrome');
const assert = require('assert')
async function addCadastreTest() {
const options = new chrome.Options()
options.setAcceptInsecureCerts(true)
let driver = await new Builder()
.forBrowser("chrome")
.usingServer('http://localhost:4444/wd/hub')
.setChromeOptions(options)
.build();
await driver.get("http://localhost:3000/");
await driver.findElement(By.id("fit")).click()
assert(await driver.switchTo().alert().getText() == "Quel est le nom de votre commune ?")
{
const alert = await driver.switchTo().alert()
await alert.sendKeys("Lons le Saunier")
await alert.accept()
}
await driver.quit();
}
addCadastreTest();
这是错误的堆栈跟踪:
mapbox\node_modules\selenium-webdriver\lib\error.js:522
let err = new ctor(data.message)
^
WebDriverError: unknown error: net::ERR_CONNECTION_REFUSED
(Session info: chrome=102.0.5005.61)
at Object.throwDecodedError mapbox\node_modules\selenium-webdriver\lib\error.js:522:15)
at parseHttpResponse (mapbox\node_modules\selenium-webdriver\lib\http.js:549:13)
at Executor.execute (mapbox\node_modules\selenium-webdriver\lib\http.js:475:28)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async Object.execute (mapbox\node_modules\selenium-webdriver\lib\webdriver.js:735:17)
at async addCadastreTest (mapbox\test\addCadastre.spec.js:14:5) {
remoteStacktrace:
我陷入困境,因为我尝试在 docker 中使用 selenium 在 java 中运行此测试并且它可以工作,但在 JavaScript 中我得到这个奇怪的错误连接被拒绝。如果有人有想法解决我的问题,谢谢。
我在使用 typescript、mocha、selenium webdriver chome 时遇到完全相同的错误。你找到解决办法了吗?谢谢。