在夜巡上为 Microsoft Edge 运行"waitForElementVisible"命令时出错j.s



当我尝试在边缘运行测试时Microsoft 浏览器启动并且页面正在加载,但随后我收到错误:

类型错误:运行"waitForElementVisible"命令时出错:尝试为"/wd/hub/session/8bf67432a94d18e24f88493fd249c629/element/[object Object]/display"创建 HTTP 请求时出错:请求路径包含未转义的字符

对于Chrome和Firefox测试工作正常 测试代码

module.exports = {
'Demo test Ecosia.org': function (browser) {
browser
.url('https://www.ecosia.org/')
.waitForElementVisible('body')
.assert.titleContains('Ecosia')
.assert.visible('input[type=search]')
.setValue('input[type=search]', 'nightwatch')
.assert.visible('button[type=submit]')
.click('button[type=submit]')
.assert.containsText('.mainline-results', 'Nightwatch.js')
.end();
}
};

我的守夜人.js

const seleniumServer = require('selenium-server');
const edgeDriver = require('edgedriver');
const chromeDriver = require('chromedriver');
const geckoDriver = require('geckodriver');
module.exports = {
src_folders: ['tests'],
custom_commands_path: '',
custom_assertions_path: '',
page_objects_path: '',
globals_path: '',
live_output: false,
disable_colors: false,
parallel_process_delay: 10,
"test_workers": {
"enabled": false,
"workers": "auto"
},
selenium: {
start_process: true,
//start_session: false,
server_path:  seleniumServer.path, 
check_process_delay: 5000,
host: '127.0.0.1',
port: 4144,
cli_args: {
"webdriver.ie.driver": ieDriver.path,
"webdriver.chrome.driver": chromeDriver.path,
"webdriver.gecko.driver": geckoDriver.path,
"webdriver.edge.driver":  "node_modules/edgedriver_win64/msedgedriver.exe"
}
},

test_settings: {
skip_testcases_on_fail: false,
end_session_on_fail: false,
default: {     
desiredCapabilities: {
browserName: 'chrome',
}
},

chrome: {
desiredCapabilities: {
browserName: 'chrome',
javascriptEnabled: true,
acceptSslCerts: true,
chromeOptions: {
w3c: false,
args: ['disable-gpu']
}
}
},
firefox: {
desiredCapabilities: {
browserName: 'firefox',
javascriptEnabled: true,
acceptSslCerts: true,
marionette: true,

}
},
edge: {
desiredCapabilities: {
browserName: 'MicrosoftEdge',
javascriptEnabled: true,
acceptSslCerts: true


}
},

}
};

当您使用基于铬的新Edge时,我认为您可以参考Chrome的相同设置。

使用Chrome时会发生相同的错误,可以通过添加"w3c": false来修复。因此,您可以添加以下行来修复Edge Chromium中的问题:

edgeOptions: { "w3c": false } 

参考链接:关于使用 Nightwatch 测试 Vue 项目的 TypeError ERR_UNESCAPED_CHARACTERS

最新更新