OpenTuesday: Agile Testautomatisierung und Continuous Integration

Like this? Share it with your network

Share

OpenTuesday: Agile Testautomatisierung und Continuous Integration

  • 695 views
Uploaded 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......

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.

More in: Business , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
695
On Slideshare
583
From Embeds
112
Number of Embeds
1

Actions

Shares
Downloads
8
Comments
0
Likes
0

Embeds 112

http://news.digicomp.ch 112

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