Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
selenium-standalone
Advanced tools
installs a `selenium-standalone` command line to install and start a standalone selenium server
The selenium-standalone npm package is a tool that allows you to easily install and run a standalone Selenium server. This is useful for running automated tests in various browsers without needing to manually set up the Selenium server and browser drivers.
Install Selenium Server and Browser Drivers
This feature allows you to install the Selenium server and browser drivers (e.g., ChromeDriver, GeckoDriver) with a single command. The code sample demonstrates how to install the latest versions of the Selenium server and drivers for Chrome and Firefox.
const selenium = require('selenium-standalone');
selenium.install({
version: 'latest',
baseURL: 'https://selenium-release.storage.googleapis.com',
drivers: {
chrome: { version: 'latest' },
firefox: { version: 'latest' }
},
logger: function(message) {
console.log(message);
}
}, function(err) {
if (err) { return console.error(err); }
console.log('Selenium and drivers installed successfully');
});
Start Selenium Server
This feature allows you to start the Selenium server programmatically. The code sample demonstrates how to start the Selenium server and log a message upon successful startup.
const selenium = require('selenium-standalone');
selenium.start(function(err, child) {
if (err) { return console.error(err); }
console.log('Selenium server started successfully');
// child is a ChildProcess instance
});
Stop Selenium Server
This feature allows you to stop the Selenium server programmatically. The code sample demonstrates how to start the Selenium server and then stop it after 10 seconds.
const selenium = require('selenium-standalone');
selenium.start(function(err, child) {
if (err) { return console.error(err); }
console.log('Selenium server started successfully');
// Stop the server after 10 seconds
setTimeout(() => {
child.kill();
console.log('Selenium server stopped');
}, 10000);
});
webdriver-manager is a tool for managing WebDriver binaries. It can download, update, and start WebDriver binaries for different browsers. Unlike selenium-standalone, which focuses on running a standalone Selenium server, webdriver-manager is more focused on managing the WebDriver binaries themselves.
selenium-webdriver is the official Selenium package for Node.js. It provides bindings for the WebDriver API and allows you to write automated tests for web applications. While selenium-standalone focuses on setting up and running the Selenium server, selenium-webdriver is used for writing and executing the tests themselves.
Nightwatch is an end-to-end testing framework that uses the WebDriver API. It provides a higher-level API for writing tests and includes built-in support for running tests with Selenium. Nightwatch can manage the Selenium server and browser drivers, similar to selenium-standalone, but it also includes additional features for writing and organizing tests.
A node based CLI library for launching Selenium with WebDriver support.
Supported Drivers:
By default, Google Chrome, Firefox and Microsoft Edge are available when installed on the host system.
Starting from v6.22
chrome, edgechromium, and geckodriver support latest
as version.
Starting from v9.0.6
supported changes regarding new storage for latest
versions of chromedriver.
Starting from v9.2.0
added new feature 'onlyDriver'
npm install selenium-standalone -g
selenium-standalone install && selenium-standalone start
npm install selenium-standalone --save-dev
npx selenium-standalone install && npx selenium-standalone start
docker run -it -p 4444:4444 webdriverio/selenium-standalone
If you run Chrome or Firefox tests within a Docker container make sure you set capabilities so that the session is headless, e.g.:
capabilities: {
browserName: 'chrome',
'goog:chromeOptions': {
args: ['--no-sandbox', '--headless']
}
}
or Firefox:
capabilities: {
browserName: 'firefox',
'moz:firefoxOptions': {
args: ['-headless']
}
}
If you are looking for more sophisticated Docker container that allows you to run browser, check out the Docker Selenium project.
See CLI docs
See API docs
Error: unable to get local issuer certificate
You like this project and want to help making it better? Awesome! Have a look into our Contributor Documentation to get started with setting up the repo.
If you're looking for issues to help out with, check out the issues labelled "good first pick". You can also reach out in on Discord if you have question on where to start contributing.
FAQs
installs a `selenium-standalone` command line to install and start a standalone selenium server
We found that selenium-standalone demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.