Your SlideShare is downloading. ×

OpenTuesday: Agile Testautomatisierung und Continuous Integration

403

Published on

In seinem Referat zeigte Michael Palotas von Gridfusion Software Solution auf, wie die einzelnen Komponenten Selenium / Selenium Grid, Maven, Git / GitHub und Jenkins zusammenspielen und wie durch ein …

In seinem Referat zeigte Michael Palotas von Gridfusion Software Solution auf, wie die einzelnen Komponenten Selenium / Selenium Grid, Maven, Git / GitHub und Jenkins zusammenspielen und wie durch ein solches System agile Testautomatisierung und Continuous Integration mit relativ einfachen Mitteln ermöglicht wird.

Published in: Business, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
403
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. OPEN TUESDAY Agile Testautomatisierung und Continuous Integration mit Selenium, Maven, Git, Jenkins GRIDFUSION Software Solutions 5. November 2013 1
  • 2. WHO AM I? Gridfusion Software Solutions Contact: Michael Palotas Gerbiweg 2 8853 Lachen SWITZERLAND Tel.: +41 79 6690708 Email: michael.palotas@gridfusion.net Head of Quality Engineering eBay 2 Founder / Principal Consultant Gridfusion Software Solutions
  • 3. Maven Git / Github Jenkins Selenium 3
  • 4. WHAT WE BUILD TODAY ECLIPSE (Java Code) GIT GITHUB Maven APP / JAR JENKINS (CI) SELENIUM GRID SELENIUM NODE 4
  • 5. MAVEN http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. 5
  • 6. POM.XML The pom.xml file is the core of a project's configuration in Maven. It is a single configuration file that contains the majority of information required to build a project in just the way you want. 6
  • 7. CREATE THE PROJECT mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart DinteractiveMode=false 7
  • 8. POM.XML 8
  • 9. CHANGE TO JUNIT 4.10 9
  • 10. WRITE SOME (UNIT) TESTS 10
  • 11. MAVEN TARGETS validate: validate the project is correct and all necessary information is available compile: compile the source code of the project test: test the compiled source code using a suitable unit testing framework. These tests should not require the code be packaged or deployed package: take the compiled code and package it in its distributable format, such as a JAR. integration-test: process and deploy the package if necessary into an environment where integration tests can be run verify: run any checks to verify the package is valid and meets quality criteria install: install the package into the local repository, for use as a dependency in other projects locally deploy: done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects. clean: cleans up artifacts created by prior builds 11
  • 12. WHAT WE BUILD TODAY ECLIPSE (Java Code) GIT GITHUB Maven APP / JAR JENKINS (CI) SELENIUM GRID SELENIUM NODE 12
  • 13. VERSION CONTROL SYSTEM - GIT Distributed / local Download: http://git-scm.com/ Initialize directory: git init Status: git status Add files and directories to git: git add file1 dir2 Commit: git commit –am “commit message” 13
  • 14. WHAT WE BUILD TODAY ECLIPSE (Java Code) GIT GITHUB Maven APP / JAR JENKINS (CI) SELENIUM GRID SELENIUM NODE 14
  • 15. SHARE YOUR CODE - GITHUB Create repository on Github: https://github.com Create remote: git remote add origin https://… Push code to Github: git push origin master Tag your code: git tag –a v0.1 –m “initial version” Push tag to Github: git push origin v0.1 15
  • 16. WHAT WE BUILD TODAY ECLIPSE (Java Code) GIT GITHUB Maven APP / JAR JENKINS (CI) SELENIUM GRID SELENIUM NODE 16
  • 17. CONTINUOUS INTEGRATION - JENKINS Download at http://jenkins-ci.org/ Configure / connect to Github Build your project 17
  • 18. CHANGE YOUR CODE Change some code Build locally: mvn clean, mvn test, mvn package Push to Github: git push origin master Watch Jenkins…. 18
  • 19. WHAT WE BUILD TODAY ECLIPSE (Java Code) GIT GITHUB Maven APP / JAR JENKINS (CI) SELENIUM GRID SELENIUM NODE 19
  • 20. E2E / UAT AUTOMATION WITH SELENIUM BROWSER CLIENT 20 JSON Wire Protocol SERVER
  • 21. SELENIUM GRID 21
  • 22. WHAT WE BUILD TODAY ECLIPSE (Java Code) GIT GITHUB Maven APP / JAR JENKINS (CI) SELENIUM GRID SELENIUM NODE 22

×