OPEN TUESDAY
Agile Testautomatisierung und Continuous Integration
mit
Selenium, Maven, Git, Jenkins

GRIDFUSION Software S...
WHO AM I?
Gridfusion Software Solutions
Contact:
Michael Palotas
Gerbiweg 2
8853 Lachen
SWITZERLAND
Tel.: +41 79 6690708
E...
Maven
Git / Github
Jenkins
Selenium

3
WHAT WE BUILD TODAY
ECLIPSE (Java Code)

GIT

GITHUB

Maven
APP / JAR
JENKINS
(CI)

SELENIUM
GRID

SELENIUM
NODE

4
MAVEN
http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

Apache Maven is a software project
manage...
POM.XML
The pom.xml file is the core of a project's
configuration in Maven. It is a single
configuration file that contain...
CREATE THE PROJECT

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-arc...
POM.XML

8
CHANGE TO JUNIT 4.10

9
WRITE SOME (UNIT) TESTS

10
MAVEN TARGETS
validate: validate the project is correct and all necessary information is available
compile: compile the so...
WHAT WE BUILD TODAY
ECLIPSE (Java Code)

GIT

GITHUB

Maven
APP / JAR
JENKINS
(CI)

SELENIUM
GRID

SELENIUM
NODE

12
VERSION CONTROL SYSTEM - GIT
Distributed / local
Download: http://git-scm.com/
Initialize directory: git init
Status: git ...
WHAT WE BUILD TODAY
ECLIPSE (Java Code)

GIT

GITHUB

Maven
APP / JAR
JENKINS
(CI)

SELENIUM
GRID

SELENIUM
NODE

14
SHARE YOUR CODE - GITHUB
Create repository on Github: https://github.com
Create remote: git remote add origin https://…
Pu...
WHAT WE BUILD TODAY
ECLIPSE (Java Code)

GIT

GITHUB

Maven
APP / JAR
JENKINS
(CI)

SELENIUM
GRID

SELENIUM
NODE

16
CONTINUOUS INTEGRATION - JENKINS
Download at http://jenkins-ci.org/
Configure / connect to Github
Build your project

17
CHANGE YOUR CODE
Change some code
Build locally: mvn clean, mvn test, mvn package
Push to Github: git push origin master
W...
WHAT WE BUILD TODAY
ECLIPSE (Java Code)

GIT

GITHUB

Maven
APP / JAR
JENKINS
(CI)

SELENIUM
GRID

SELENIUM
NODE

19
E2E / UAT AUTOMATION WITH SELENIUM

BROWSER
CLIENT

20

JSON Wire Protocol

SERVER
SELENIUM GRID

21
WHAT WE BUILD TODAY
ECLIPSE (Java Code)

GIT

GITHUB

Maven
APP / JAR
JENKINS
(CI)

SELENIUM
GRID

SELENIUM
NODE

22
Upcoming SlideShare
Loading in...5
×

OpenTuesday: Agile Testautomatisierung und Continuous Integration

441

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 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
441
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

OpenTuesday: Agile Testautomatisierung und Continuous Integration

  1. 1. OPEN TUESDAY Agile Testautomatisierung und Continuous Integration mit Selenium, Maven, Git, Jenkins GRIDFUSION Software Solutions 5. November 2013 1
  2. 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. 3. Maven Git / Github Jenkins Selenium 3
  4. 4. WHAT WE BUILD TODAY ECLIPSE (Java Code) GIT GITHUB Maven APP / JAR JENKINS (CI) SELENIUM GRID SELENIUM NODE 4
  5. 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. 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. 7. CREATE THE PROJECT mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart DinteractiveMode=false 7
  8. 8. POM.XML 8
  9. 9. CHANGE TO JUNIT 4.10 9
  10. 10. WRITE SOME (UNIT) TESTS 10
  11. 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. 12. WHAT WE BUILD TODAY ECLIPSE (Java Code) GIT GITHUB Maven APP / JAR JENKINS (CI) SELENIUM GRID SELENIUM NODE 12
  13. 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. 14. WHAT WE BUILD TODAY ECLIPSE (Java Code) GIT GITHUB Maven APP / JAR JENKINS (CI) SELENIUM GRID SELENIUM NODE 14
  15. 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. 16. WHAT WE BUILD TODAY ECLIPSE (Java Code) GIT GITHUB Maven APP / JAR JENKINS (CI) SELENIUM GRID SELENIUM NODE 16
  17. 17. CONTINUOUS INTEGRATION - JENKINS Download at http://jenkins-ci.org/ Configure / connect to Github Build your project 17
  18. 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. 19. WHAT WE BUILD TODAY ECLIPSE (Java Code) GIT GITHUB Maven APP / JAR JENKINS (CI) SELENIUM GRID SELENIUM NODE 19
  20. 20. E2E / UAT AUTOMATION WITH SELENIUM BROWSER CLIENT 20 JSON Wire Protocol SERVER
  21. 21. SELENIUM GRID 21
  22. 22. WHAT WE BUILD TODAY ECLIPSE (Java Code) GIT GITHUB Maven APP / JAR JENKINS (CI) SELENIUM GRID SELENIUM NODE 22
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×