swrdfish on analytics
Fix #3177 - additional options … Add pause and debug capabilitie… Cleaned External broken links (… and 8 more (compare)
swrdfish on analytics
Fix #3177 - additional options … Add pause and debug capabilitie… Cleaned External broken links (… and 8 more (compare)
swrdfish on analytics
implement analytics function implement global analytics func… modify request to get it accept… and 12 more (compare)
swrdfish on analytics
implement analytics function implement global analytics func… modify request to get it accept… and 12 more (compare)
Hi.
Ok, so this appeared to be an issue with my nightwatch 1.7.7 setup, as it works locally with 1.7.6.
However, something strange is happening with 1.7.6 when I run my tests through Browserstack. If I run a single test, it works Ok. However, if I run the same test but using its tag, it falls.
darrenharley@wks63613 Functional % ./node_modules/.bin/nightwatch -c config/browserstack.conf.js -e chrome /Users/darrenharley/Documents/Git/uk-content-parkers/Tests/Functional/tests/carInsurance/PAR-4540.js
Using insecure HTTP connection on port 80. Consider using SSL by setting port to 443 in your Nightwatch configuration.
ℹ Connected to hub-cloud.browserstack.com on port 80 (5875ms).
Using: chrome (85.0.4183.83) on WINDOWS platform.
✔ [Car Insurance/ PAR 4540] navigate to an example model insurance groups page (4.614s)
✔ [Car Insurance/ PAR 4540] choose another car dropdowns removed (146ms)
✔ [Car Insurance/ PAR 4540] insurance group link correctly added (915ms)
✔ [Car Insurance/ PAR 4540] closing the browser (1.644s)
See more info, video, & screenshots on Browserstack:
https://automate.browserstack.com/builds/8f4a93d294271b7c0e7b8db31370f34dd7ba1e76/sessions/ebdae3948c7f16175783f9f814b7aadc21e91c02
OK. 4 total assertions passed (13.513s)
darrenharley@wks63613 Functional % ./node_modules/.bin/nightwatch -c config/browserstack.conf.js -e chrome --tag carInsurance Using insecure HTTP connection on port 80. Consider using SSL by setting port to 443 in your Nightwatch configuration.
⠸ Connecting to hub-cloud.browserstack.com on port 80...
_________________________________________________
TEST FAILURE: 1 error during execution; 0 tests failed, 0 passed (788ms)
Error: Handshake failed: no matching key exchange algorithm
at addChunk (internal/streams/readable.js:309:12)
at readableAddChunk (internal/streams/readable.js:284:9)
at Socket.Readable.push (internal/streams/readable.js:223:10)
at TCP.onStreamRead (internal/stream_base_commons.js:188:23)
Has anyone seen this before? Thanks.
Hi @gravityvi yeah, sure. Here it is...
browserstackConf = {
src_folders: [
'tests/'
],
output_folder: false,
globals_path: 'globals.js',
page_objects_path: 'config/page_objects',
test_workers: true,
detailed_output: false,
output: true,
disable_error_log: true,
disable_colors: false,
custom_commands_path: 'config/commands/',
selenium: {
start_process: false,
host: 'hub-cloud.browserstack.com',
port: 80
},
test_settings: {
default: {
launch_url: 'https://www.parkers.co.uk/',
desiredCapabilities: {
project: 'Parkers',
build: 'latestBuild',
'browserstack.selenium_version': '3.141.59',
'browserstack.user': 'xxxxxx',
'browserstack.key': 'xxxxxx',
'browserstack.local': false,
'browserstack.debug': true,
'excludeSwitches': ['disable-popup-blocking'],
},
},
chrome: {
desiredCapabilities: {
os: 'Windows',
os_version: '10',
browserName: 'Chrome',
browser_version: '85.0',
javascriptEnabled : true,
acceptSslCerts: true,
acceptInscureCerts: true,
chromeOptions : {
'excludeSwitches': ['disable-popup-blocking'],
args: [
'--ignore-certificate-errors',
'--disable-web-security',
'--window-size=1920,1080',
'--disable-extensions',
'--start-maximized',
'--disable-dev-shm-usage',
'disable-infobars',
'disable-popup-blocking',
'disable-notifications',
'--log-level=3'],
prefs: {
'profile.managed_default_content_settings.popups' : 1,
'profile.managed_default_content_settings.notifications' : 1
},
},
},
},
safari: {
desiredCapabilities: {
os: 'OS X',
os_version: 'Catalina',
browserName: 'Safari',
browser_version: '13.1'
},
},
edge: {
desiredCapabilities: {
os: 'Windows',
os_version: '10',
browserName: 'Edge',
browser_version: '18.0'
},
},
firefox: {
desiredCapabilities: {
os: 'OS X',
os_version: 'Catalina',
browserName: 'Firefox',
browser_version: '76'
},
},
android: {
desiredCapabilities: {
device: 'Google Pixel 2',
os_version: '8.0',
realMobile: 'true'
},
},
},
};
for (const settingsLoop in browserstackConf.test_settings) {
const config = browserstackConf.test_settings[settingsLoop];
config["selenium_host"] = browserstackConf.selenium.host;
config["selenium_port"] = browserstackConf.selenium.port;
config["desiredCapabilities"] = config["desiredCapabilities"] || {}
for (const capabilitiesLoop in browserstackConf.common_capabilities) {
config["desiredCapabilities"][capabilitiesLoop] = config["desiredCapabilities"][capabilitiesLoop] || browserstackConf.common_capabilities[capabilitiesLoop]
}
}
module.exports = browserstackConf
many thanks :)
@gravityvi
module.exports = {
'contextmenu test': function (browser) {
browser
.url('https://panjiachen.github.io/vue-element-admin/#/login')
.waitForElementVisible('body', 1000)
.click('#app > div > form > button')
.pause(1000)
.click('#app > div > div.sidebar-container > div > div.scrollbar-wrapper.el-scrollbar__wrap > div > ul > div:nth-child(2) > a')
.pause(2000)
.moveToElement('#tags-view-container > div > div.el-scrollbar__wrap > div > span:nth-child(1)', 5, 5)
.mouseButtonClick('right')
.pause(6000)
}
}
is this ok?
I executed this code and didn't get the expected effect 👀
nightwatch.conf.js
module.exports = {
src_folders: ['tests'],
output_folder: 'output',
custom_assertions_path: [],
page_objects_path: '',
globals_path: '',
selenium: {
start_process: true,
server_path: require('selenium-server').path,
host: '127.0.0.1',
port: 5555,
cli_args: {
'webdriver.chrome.driver': require('chromedriver').path
}
},
test_settings: {
default: {
selenium_port: 5555,
selenium_host: 'localhost',
silent: true,
globals: {
devServerURL: 'http://localhost:' + (process.env.PORT || 1111)
}
},
chrome: {
desiredCapabilities: {
browserName: 'chrome',
javascriptEnabled: true,
acceptSslCerts: true
}
},
firefox: {
desiredCapabilities: {
browserName: 'firefox',
javascriptEnabled: true,
acceptSslCerts: true
}
}
}
}
I'm using chrome
"chromedriver": "^91.0.1",
"nightwatch": "^1.7.7",
"selenium-server": "^3.141.59"
VSCode
we can use F12
to find the definition of a function. However, it seems not work for nightwatch commands. Either my custom commands or core commands. Does anyone here has solution for it?// @ts-ignore
const chromedriver = require('chromedriver');
const seleniumServer = require('selenium-server');
const config = {
// we use a nightwatch.conf.js file so we can include comments and helper functions
src_folders: [
'src/tests/functionaltest', // we use '/test' as the name of our test directory by default. So 'test/e2e' for 'e2e'.
],
page_objects_path: 'src/tests/page-objects',
output_folder: './node_modules/nightwatch/reports', // reports (test outcome) output by Nightwatch
custom_commands_path: 'src/tests/commands',
selenium: {
start_process: true,
server_path: seleniumServer.path,
log_path: '',
host: '127.0.0.1',
port: 4444,
cli_args: {
'webdriver.chrome.driver': chromedriver.path,
},
},
test_workers: { enabled: true, workers: 'auto' }, // perform tests in parallel where possible
test_settings: {
default: {
webdriver: {
start_process: true,
server_path: chromedriver.path,
port: 4444,
cli_args: ['--port=4444'],
},
launch_url: 'http://localhost:3000',
selenium_port: 4444,
selenium_host: '127.0.0.1',
silent: true,
capabilities: {
configuration: {
_comment: 'Configuration for Node',
cleanUpCycle: 2000,
timeout: 30000,
port: 5555,
host: '127.0.0.1',
register: true,
hubPort: 4444,
maxSession: 5,
},
},
desiredCapabilities: {
browserName: 'chrome',
seleniumProtocol: 'WebDriver',
chromeOptions: {
w3c: false,
args: [
'--enable-features=NetworkService,NetworkServiceInProcess',
'--headless',
'--disable-gpu',
'--no-sandbox',
'--disable-dev-shm-usage',
'--window-size=1920,1080',
],
},
},
screenshots: {
enabled: true,
path: './reports/nightwatchTests/screenshots',
on_failure: true,
on_error: true,
},
use_xpath: false,
},
local: {
launch_url: 'http://localhost:3000',
selenium_port: 4444,
selenium_host: '127.0.0.1',
silent: true,
globals: {
waitForConditionTimeout: 15000, // Default timeout, 15 seconds
},
desiredCapabilities: {
browserName: 'chrome',
platform: 'ANY',
seleniumProtocol: 'WebDriver',
chromeOptions: {
w3c: false,
args: [
'--enable-features=NetworkService,NetworkServiceInProcess',
'--headless',
'--disable-gpu',
'--no-sandbox',
'--disable-dev-shm-usage',
'--window-size=1920,1080',
],
},
javascriptEnabled: true,
acceptSslCerts: true,
},
},
Hi, I'm trying to convert a bash script that invokes nightwatch to using programmatic API, and when I'm running it, the webdriver isn't starting and I can't figure out why.
config:
{
output_folder: 'nightwatch_output',
webdriver: {
start_process: true,
port: 9515,
server_path: '/usr/local/bin/chromedriver',
cli_args: [
'--port=9515',
'--log-path=nightwatch_output/chromedriver-2021-07-23T00:55:10.479Z.log'
]
},
test_settings: {
default: {
desiredCapabilities: [Object],
globals: [Object],
launch_url: 'redacted',
screenshots: [Object]
}
},
globals: {
asyncHookTimeout: 90000,
retryAssertionTimeout: 30000,
waitForConditionTimeout: 30000
},
src_folders: [ 'test' ]
}
Code:
(async () => {
const runner = Nightwatch.CliRunner();
await runner.setup(config).startWebDriver();
try {
runner.runTests();
} catch (err) {
await runner.stopWebDriver();
}
})();
output:
==========================
⠋ Connecting to localhost on port 9515...
POST /session - ECONNREFUSED
⚠ Error connecting to localhost on port 9515.
_________________________________________________
TEST FAILURE: 1 error during execution; 0 tests failed, 0 passed (123ms)
Error: An error occurred while retrieving a new session: "Connection refused to 127.0.0.1:9515". If the Webdriver/Selenium service is managed by Nightwatch, check if "start_process" is set to "true".