Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Celebration

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,462,954
Community Members
 
Community Events
176
Community Groups

Setting up pipelines with selenium

Hi, I am attempting to use Bitbucket pipelines to run our Ruby Rspec/capaybara based specs.

 

I have the configuration working to the point where the tests are run, but I am having issues running chromedriver.

 

Selenium::WebDriver::Error::UnknownError: unknown error: Chrome failed to start: exited abnormally

 

Those are the kinds of errors I am seeing.

 

I have seen this question posted:

 

https://community.atlassian.com/t5/Bitbucket-questions/BitBucket-Pipelines-Selenium/qaq-p/641852

 

But I do not want to set up browserstack in this instance, - but simply run the tests with chromedriver.

 

My yml file looks as follows:

 

image: ruby:2.4.0

pipelines:
    default:
           - step:
              services:
                 - mysql
                     caches:
                        - bundler
                           script: # Modify the commands below to build your repository.
                             - bundle install
                             - apt-get update
                             - curl -sL https://deb.nodesource.com/setup_8.x | bash -
                             - apt-get install -y nodejs
                             - npm install
                             - npm install chromedriver
                             - rails db:migrate RAILS_ENV=test
                             - rspec

 

2 answers

1 accepted

0 votes
Answer accepted

Hi @hugh

It is possible to run webdriver tests in Pipelines. This article provides some details using firefox but a similar approach can be taken with chrome: https://medium.com/@yiquanzhou/run-selenium-ui-tests-in-docker-container-78be98e1b52d

In fact we test pipelines using this method ;)

Thank you, that did help - I ended up setting it up using Firefox and Geckodriver, I kept running into issues with Chrome and Chromedriver.

How possible without docker in bitbucket?

Hi @[deleted],

Bitbucket Pipelines is based entirely on Docker. When you run your build script you're doing so inside a Docker container. If you don't explicitly specify an image in the bitbucket-pipelines.yml file, it will use the default Pipelines image.

That doesn't mean you have to be using Docker in your application to use Pipelines. It simply provides the environment in which your build runs. This is extremely useful as you can preconfigure a Docker image to come with all the tooling you need to build, test and deploy your application (or use an existing image provided by the Docker community).

So while it's possible to set up and run webdriver in the script section of the bitbucket-pipelines.yml file, it's actually more beneficial to utilise an image that has already been configured with the necessary tooling. The linked article describes that process. You would then use the image as your build environment by specifying it as the `image` attribute in your bitbucket-pipelines.yml file (your actual build script should remain largely unchanged). This will also reduce your build times as Docker images are cached.

Is anybody still seeing this issue? I am able to run my selenium solution fine in Docker locally but when I run it in pipeline it crashes.

here’s my code. I am adding the sandbox flag as well

Like # people like this

i am having the same issue, was anybody able to solve it?

@StannousBaratheon Hi, Build failure part 2.pngI am trying to run selenium web-driver tests with maven as the build tool in bitbucket pipelines. I am getting this driver timed out issues. Below is the link where i have posted my question in this commnuity and yet to get a response for it. 

https://community.atlassian.com/t5/Bitbucket-Pipelines-questions/Build-getting-failed-in-bitbucket-pipelines/qaq-p/1640917

Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events