Skip to content

Instantly share code, notes, and snippets.

@tjoskar
Last active December 31, 2015 15:29
Show Gist options
  • Save tjoskar/8007084 to your computer and use it in GitHub Desktop.
Save tjoskar/8007084 to your computer and use it in GitHub Desktop.
Install Selenium in your headless VM

Install Selenium using vagrant

Install oracle java The official java packages has been removed from the Ubuntu repositories

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java7-installer

Install a virtual framebuffer

$ sudo apt-get install xvfb

And firefox

$ sudo apt-get install firefox

Start the framebuffer in the background Choose a display number that is unlikely to ever clash (if you are using vagrant, you should be able to choose any number)

$ Xvfb :99 -ac &

Export your display number

$ export DISPLAY=:99

BAM! You should now be able to run firefox

$ firefox

Close firefox and start a selenium server

$ java -jar selenium-server-standalone-2.xx.xxx.jar

To enable chrome

$ java -jar selenium-server-standalone-2.xx.xxx.jar -Dwebdriver.chrome.driver='/path/to/chromedriver'

####To run karma with selenium on remote host (VM) Install karma-webdriver-launcher

$ npm install karma-webdriver-launcher

Conect to your VM by using reverse SSH tunneling (or by using :private_network, see: http://stackoverflow.com/questions/16244601/vagrant-reverse-port-forwarding)

$ vagrant ssh -- -R 9876:localhost:9876

Update your karma config file:

module.exports = function(config) {
  var webdriverConfig = {
    hostname: '192.168.56.101',
    port: 4444
  };

  config.set({
    customLaunchers: {
        'Firefox': {
            base: 'WebDriver',
            browserName: 'FirefoxDriver',
            version: '26.0',
            name: 'Karma'
        }
    },
    ...
    browsers: ['Firefox'],
    ...

Run karma as usual

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment