Skip to content

soujava/soujava-test-kit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

SouJava

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

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.

Apache Camel (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.

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

Apache CXF (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.

Spring (Testing packages Under development) The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications.

Netty (Testing packages Under development) Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.

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

Maven

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

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.

Installing Jenkins on Ubuntu

Jenkins

  • 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

Installing Jenkins in other distros:

Installing Jenkins

Configure Jenkins on Linux to run with alternative port

  • 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

Create jenkins user on Linux (if none was created by the instalation)

/usr/sbin/groupadd -g 30119 jenkins
/usr/sbin/useradd -u 30119 -g jenkins jenkins
 
mkdir /home/jenkins
chown -R jenkins:jenkins /home/jenkins

Switch to jenkins user on Linux

sudo su - jenkins

Configure iptables to forward port 80 to 8085

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

Author

Thomas Modeneis StackOverflow LinkedIn

License

This module is licensed under the MIT license.

About

This project contains a set of Java/Scala goods for Testing

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published