9

Im using CircleCI and I want to run Huxley tests.

But for that i need selenium server running.

I was trying to run selenium server standalone jar. Thats not solution.

Please help if you know something.

0

2 Answers 2

28

Most browser-testing frameworks will include Selenium for you. If you need to run a standalone Selenium server, you can add the following to a circle.yml in your repo's root directory:

dependencies:
   post:
      - wget https://selenium-release.storage.googleapis.com/2.44/selenium-server-standalone-2.44.0.jar
      - java -jar selenium-server-standalone-2.44.0.jar:
            background: true

That will download the latest standalone Selenium jar and run it in the background. Note the colon at the end of the second command and the 4 space indentation of "background: true". That tells YAML to treat background as a modifier to the command.

More documentation here:

https://circleci.com/docs/background-process

https://circleci.com/docs/installing-custom-software

NOTE: if you update the link to JAR in this answer, please, make sure that it is HTTPS. It's generally considered dangerous to download something over unsafe HTTP and just run it without checking the checksumms, because of possibility of man-in-the-middle attack resulting in the JAR replacement/tampering.

Sign up to request clarification or add additional context in comments.

4 Comments

And I still thing the CirceCI is the best CI so far!
The problem with this solution is that Selenium, Chromedriver and Chrome versions should align to make it all work together, hence my answer below.
how do I connect to the selenium process just spawned? Address and port from say a protractor configuration?
5

Install the full Stack of selenium, chromedriver and chrome:

dependencies:
  pre:

  # Install Selenium.
  - curl http://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-2.53.1.jar > selenium-server-standalone.jar
  - curl http://chromedriver.storage.googleapis.com/2.23/chromedriver_linux64.zip | gzip -dc > chromedriver
  - chmod +x chromedriver
  - 'java -jar selenium-server-standalone.jar -trustAllSSLCertificates -Dwebdriver.chrome.driver=chromedriver':
        background: true
  # Update Google Chrome.
  - google-chrome --version
  - wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
  - sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb stable main" >> /etc/apt/sources.list.d/google.list'
  - sudo apt-get update
  - sudo apt-get --only-upgrade install google-chrome-stable
  - google-chrome --version

3 Comments

Your curl command for the chromedriver will not work. You can't pipe a zip to gzip for decompression. They two (2) different, incompatible compression schemes. The following however will work: curl https://chromedriver.storage.googleapis.com/2.33/chromedriver_mac64.zip -O && unzip chromedriver_mac64.zip
@javafueled How it could not work if it has been working on 20+ projects
Can gunzip extract a .zip archive?. gunzip is just gzip -d. In fact, every time I attempt this, I'm told gzip: unknown compression format (with Linux and Mac versions). I, respectfully, remain unconvinced the pipe is doing what the pipe is thought to be doing.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.