Skip to content

Instantly share code, notes, and snippets.

# Returns 1 if java installed, 0 otherwise
which java | grep -c java
# Create folders
sudo mkdir -p /usr/local/selenium/bin /usr/local/selenium/drivers
# Donwload latest selenium server .jar file
cd /usr/local/selenium/bin
wget http://selenium-release.storage.googleapis.com/3.8/selenium-server-standalone-3.8.1.jar
# Download latest chromedriver
cd /usr/local/selenium/drivers
wget https://chromedriver.storage.googleapis.com/2.35/chromedriver_mac64.zip
# Show the last 15 group id created
dscacheutil -q group | grep gid | awk ‘{print $2}’ | sort -n | tail -n 5
# Make sure user _selenium does not already exist
sudo dscl . -read /Users/_selenium
# Create group _selenium with gid 703
sudo dscl . -create /Groups/_selenium
sudo dscl . -create /Groups/_selenium PrimaryGroupID 703
# Make sure it now exists
dscacheutil -q group | grep gid | awk ‘{print $2}’ | sort -n | tail -n 1
# Create the deamon user _selenium
sudo dscl . -create /Users/_selenium UniqueID 703
sudo dscl . -create /Users/_selenium PrimaryGroupID 703
$ sudo dscl
Entering interactive mode… (type “help” for commands)
 > cd /Local/Default
 > ls Groups gid
 
...
_selenium 703
_sshd 75
_www 70
...
# Change group ownership to _selenium
sudo chown -R _selenium:_selenium /usr/local/selenium
# Start Selenium
java -Dwebdriver.chrome.driver=/usr/local/selenium/drivers/chromedriver -jar /usr/local/selenium/bin/selenium-server-standalone-3.8.1.jar
# Make sure it works
ps -ef | grep selenium | grep -v grep
# Create plist file in /Library/LaunchDaemons
vi /Library/LaunchDaemons/org.seleniumhq.selenium.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.seleniumhq.selenium</string>
<key>UserName</key>
<string>_selenium</string>
<key>ProgramArguments</key>
<array>