This project is an SouJava Team effort to get together many Automation test technologies like Gatling, TestNG, Mocks, etc, into something real, updated, tested and that is ready-made for use in a CI environment.
This project will get you going with your Automation testing in few minutes, you will be able to test the following technologies:
- REST API
- SOAP WebServices
- Static HTML pages
- WebSockets
- JMS
Gatling is open-source, and yet a very powerful Test tool used for doing performance and load tests. Gatling will teach you about "treating your performance tests as production code" using a lightweight DSL written in Scala.
Gatling is the perfect tool for SDETs that are performing on a performance/load test role or Developers that are doing work to performance/load test apps either for work or home projects.
Gatling integrates Jenkins and this is great because you run your performance tests daily as you develop your app.
(Used mainly for the webservice project)
Apache Camel a open-source integration framework based on known Enterprise Integration Patterns, specially useful to create ESB Camel uses URIs to work directly with any kind of Transport or messaging model such as HTTP, ActiveMQ, JMS, JBI, SCA, MINA or CXF, as well as pluggable Components and Data Format options.
Apache Camel is a small library with minimal dependencies for easy embedding in any Java application. Apache Camel lets you work with the same API regardless which kind of Transport is used - so learn the API once and you can interact with all the Components provided out-of-box.
(Used mainly for the webservice project)
Apache CXF is an open source services framework. CXF helps you build and develop services using frontend programming APIs, like JAX-WS and JAX-RS. These services can speak a variety of protocols such as SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS or JBI.
(Testing packages Under development) The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications.
(Testing packages Under development) Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.
(Testing packages Under development) Velocity is a project of the Apache Software Foundation, Velocity Engine is the actual templating engine which does all the work. If you came here because you heard about Velocity somewhere on the web, this is probably the right place to start.
This project should be build with Maven +3.0.5 and the maven-plugin.
[ ] https://archive.apache.org/dist/maven/binaries/apache-maven-3.0.5-bin.tar.gz 2013-05-24 13:57 4.9M
[TXT] https://archive.apache.org/dist/maven/binaries/apache-maven-3.0.5-bin.tar.gz.asc 2013-05-24 13:57 195
[ ] https://archive.apache.org/dist/maven/binaries/apache-maven-3.0.5-bin.tar.gz.md5 2013-05-24 13:57 32
[ ] https://archive.apache.org/dist/maven/binaries/apache-maven-3.0.5-bin.tar.gz.sha1 2013-05-24 13:57 40
[ ] https://archive.apache.org/dist/maven/binaries/apache-maven-3.0.5-bin.zip 2013-05-24 13:57 5.6M
[TXT] https://archive.apache.org/dist/maven/binaries/apache-maven-3.0.5-bin.zip.asc 2013-05-24 13:57 195
[ ] https://archive.apache.org/dist/maven/binaries/apache-maven-3.0.5-bin.zip.md5 2013-05-24 13:57 32
[ ] https://archive.apache.org/dist/maven/binaries/apache-maven-3.0.5-bin.zip.sha1 2013-05-24 13:57 40
Some people may say: "Why not use SBT if this is a Scala project, or maybe why not Gradle?"
I find SBT and Gradle really interesting, but we have to be honest, Maven is the default build for Java, and everyone knows how to use it.
Jenkins is an open source continuous integration tool written in Java. The project was forked from Hudson after a dispute with Oracle.
Jenkins provides continuous integration services for software development.
It is a server-based system running in a servlet container such as Apache Tomcat.
It supports SCM tools including AccuRev, CVS, Subversion, Git, Mercurial, Perforce, Clearcase and RTC, and can execute Apache Ant and Apache Maven based projects as well as arbitrary shell scripts and Windows batch commands.
The primary developer of Jenkins is Kohsuke Kawaguchi. Released under the MIT License, Jenkins Wiki is free software.
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins
-
Edit Jenkins startup script to check for a alternative 8085 port:
-
Edit the contents of the function
do_start()
:sudo vi /etc/init.d/jenkins
-
From:
check_tcp_port "http" "$HTTP_PORT" "8080" "$HTTP_HOST" "0.0.0.0" || return 2
-
To:
check_tcp_port "http" "$HTTP_PORT" "8085" "$HTTP_HOST" "0.0.0.0" || return 2
-
Edit Jenkins default config to bind to the new alternative 8085 port:
sudo vi /etc/default/jenkins
-
From:
HTTP_PORT=8080
-
To:
HTTP_PORT=8085
/usr/sbin/groupadd -g 30119 jenkins
/usr/sbin/useradd -u 30119 -g jenkins jenkins
mkdir /home/jenkins
chown -R jenkins:jenkins /home/jenkins
sudo su - jenkins
-
Requests from outside
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8085
-
Requests from localhost
iptables -t nat -I OUTPUT -p tcp -d 127.0.0.1 --dport 80 -j REDIRECT --to-ports 8080
-
Now reboot or run
sudo /etc/rc.local
to enable port forwarding.
Thomas Modeneis StackOverflow LinkedIn
This module is licensed under the MIT license.