我在使用firefox(用铬合金解决)的睡表中测试中有一个关于可见dom的特定问题。
Timed out while waiting for element <body> to be present for 5000 milliseconds. - expected "visible" but got: "not found"
at Object.Demo test Google (/usr/src/app/tests/google.js:10:17)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
dom元素上的所有功能都崩溃了! browser.click(..)
等...
我在chrome上遇到了同样的问题,但是在配置中我已经解决了一个参数:
chromeOptions: {
w3c: false
},
我认为我在firefox中也遇到了同样的问题,但是不确定JSONWire协议??
我的版本:
nightwatch v1.2.3
chromedriver 77.0.0
geckodriver 1.17.0
我的朋友:
const args = require('minimist')(process.argv);
let grid = args['grid'] === 'true';
// firefox setting
let FIREFOX_CONFIGURATION = {
browserName: 'firefox',
javascriptEnabled: true,
acceptSslCerts: true,
loggingPrefs: {"driver": "INFO", "server": "OFF", "browser": "INFO"},
};
// chrome setting
let CHROME_CONFIGURATION = {
browserName: 'chrome',
chromeOptions: {
w3c: false
},
javascriptEnabled: true,
acceptSslCerts: true,
loggingPrefs: {"driver": "INFO", "server": "OFF", "browser": "INFO"}
};
// settings
module.exports = {
src_folders: ['tests'],
output_folder: 'reports/output',
globals_path: "globals_path.js",
webdriver: {
"start_process": grid
},
test_settings: {
default: {
"log_path": "reports/logs",
selenium_port: 4444,
selenium_host: "hub",
silent: true,
screenshots: {
enabled: true,
path: "reports/screenshots",
on_failure: true,
on_error: true
},
},
"chrome" : {
"webdriver": {
"server_path": "./nodes_modules/.bin/chromedriver",
"cli_args": [
"--verbose"
]
},
desiredCapabilities: CHROME_CONFIGURATION
},
"firefox" : {
"webdriver": {
"server_path": "./nodes_modules/.bin/geckodriver",
"cli_args": [
"--verbose"
]
},
desiredCapabilities: FIREFOX_CONFIGURATION
},
"selenium_server" : {
"selenium" : {
"start_process": grid,
"post": 4444,
"server_path": "./node_modules/selenium-server-standalone-jar/jar/selenium-server-standalone-3.141.59.jar",
"cli_args": {
"webdriver.gecko.driver": "./node_modules/.bin/geckodriver",
"webdriver.chrome.driver": "./node_modules/.bin/chromedriver",
"webdriver.ie.driver":""
}
},
desiredCapabilities: CHROME_CONFIGURATION
}
}
};
我的测试:
'use strict'
// taken from http://nightwatchjs.org/guide
module.exports = {
'Demo test Google' : function (browser) {
browser.url('https://www.google.com');
browser.assert.title('Google');
browser.waitForElementVisible('body', 5000);
browser.assert.elementPresent('body');
browser.expect.element('body').to.be.visible;
browser.setValue('input[type=text]', 'nightwatch');
browser.assert.value('input[type=text]', 'nightwatch');
browser.click('input[name="btnK"]');
browser.end();
}
};
我不独立使用docker的Selenium-grid。网格控制台:v.3.141.59。
你能帮我吗?我在网上搜索了很多tilme,真是绝望。