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.
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
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