continuous integration : combining jenkins, rails and headless selenium
Post on 14-Sep-2014
1.505 Views
Preview:
DESCRIPTION
TRANSCRIPT
Continuous IntegrationCombining Jenkins, Rails and headless selenium
Panggi Libersa Jasri Akadolpanggi@bistip.com
Jakarta.rb
Continuous Integration
"A software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly." (Martin Fowler, http://martinfowler.com/articles/continuousIntegration.html)
Continuous Integration
Jakarta.rb
Continuous Integration
- A software development practice- members of a team integrate their work frequently- leading to multiple integrations per day- Each integration is verified by an automated build (including test)- Verification is made to detect integration errors as quickly as possible
Continuous Integration
Jakarta.rb
Jakarta.rb
- Information : jenkins-ci.org- Open source (http://pkg.jenkins-ci.org/debian/) - Hosted : cloudbees.com
Jenkins ( previously hudson)
Jakarta.rb
- Information : rubyonrails.org- Open source (http://rubyonrails.org/download)- PaaS : heroku.com
Ruby on Rails
Jakarta.rb
- Information : seleniumhq.org- Open source (http://seleniumhq.org/download/)- Hosted : saucelabs.com
Selenium
Jakarta.rb
A headless software is a software without a head *eh? I mean without User Graphical Interface :)
Headless ?
Jakarta.rb
Dependencies :- Java- Ruby- xvfb ( X virtual framebuffer )- Web browser ( firefox )- VNC server
Jenkins + Rails + Selenium
Jakarta.rb
Rails :Test results
Jakarta.rb
Rails :Test results
Jakarta.rb
Selenium :Test results
Jakarta.rb
Selenium :Test results
Jakarta.rb
- “rake db:drop:all” make your tests fresh everytime. - use the firefox profile manager to customized the browser.- make many small tests to make it more manageable. - set the build interval frequently e.g 30 minutes.- include the Selenium test suite into the project repository.- be discipline, the code grows test must grows as well.- record the selenium test using https://github.com/leonid-shevtsov/headless
Tips
Jakarta.rb
Discussion
Jakarta.rb
“entrepreneur is hard , come and work with us!”
http://www.bistip.com/jobs
Software Engineer ( Ruby on Rails )
We're Hiring!
top related