S2E3 — Process automation (RPA) with Jenkins and Test Automation tools

Ozgur Kaya
Software Testing Bootcamp
4 min readMar 5, 2022

In this video, we will do 2 process automation examples with Open Source technologies:

  • High-Code Process Automation with Java
  • Low-Code Process Automation with Jmeter (WDS)

Before starting, You can check these 4 webinar docs on https://testingbootcamp.com

  • DevOps and Test Automation with Jenkins
  • Performance Testing with Jmeter
  • S2E1 — Selenium 4.0 with Java step by step
  • S2E2 — Mobile Test Automation with Appium 2.0 and Java

We will get the cryptocurrency prices from markets and will write to MySQL DB until the whole operation has been failed. If the operation has been failed Java code or Jmeter will send Email and Discord notifications after that process will be stopped until we check it manually to be sure that’s working again. The following picture describes the whole process automation

Example Apps to collect the needed data are here:

  1. Get data from Paribu Ticker API with Rest Assured -> https://www.paribu.com/ticker
  2. Get Data from BTCTurk Ticker API with Rest Assured -> https://api.btcturk.com/api/v2/ticker
  3. Get Data from Binance Ticker API with Rest Assured -> https://api.binance.com/api/v3/ticker/24hr
  4. Get Data from CoinmarketCap Android App with Appium 2.0 -> https://apk.coinmarketcap.com/downloads/coinMarketCap-latest.apk
  5. Get Data from CoinmarketCap Website with Selenium 4.0 -> https://coinmarketcap.com/currencies/bitcoin/

Youtube Webinar Video

MySQL Database Creation

Before starting the project let’s create a MySQL DB scheme with the needed initial Data with this file “coin_test_DB_Creation_Scripts.sql” on this repository.

1. High-Code Process Automation with Java

Requirements:

Getting Started with JAVA Project

  1. Open Java Maven project with IntelliJ IDEA
  2. Set your DatabaseManager.java file with your MySQL Database connection credentials
  3. Download the latest CoinMarketCap APK from its website and set “appium:app” capability’s value on “PlatformManager.java” file
  4. Start Appium server from your Terminal or Command Prompt “Appium &”
  5. To check the Automation on your computer, right click on the TestNG suite XML files and run or execute the following commands.
  6. cd ${JAVA_PROJECT_DIRECTORY} mvn clean test -Dsurefire.suiteXmlFiles=src/test/java/suites/APIGroup.xml mvn clean test -Dsurefire.suiteXmlFiles=src/test/java/suites/WebGroup.xml mvn clean test -Dsurefire.suiteXmlFiles=src/test/java/suites/MobileGroup.xml
  7. Manually trigger your Jenkins Pipeline Job to check the whole process automation. Sample Groovy script is the “jenkins-pipeline-script.groovy” file.

2. Low-Code Process Automation with Jmeter

Requirements:

Getting Started with JMETER Project

  1. Download Jmeter Plugins Manager and MySQL Connector JAR files and then copy to the following locations. ${JMETER_INSTALLATION_PATH}/lib/ext/jmeter-plugins-manager-${VERSION}.jar ${JMETER_INSTALLATION_PATH}/lib/mysql-connector-java-${VERSION}.jar
  2. Start Jmeter and Click File->Open than select “jmeter_test-crypto.jmx” file ${JMETER_INSTALLATION_PATH}/bin/Jmeter or Jmeter.bat(for Windows)
  3. SET your SMTP Server Settings or Discord API Hook URL. For Gmail SMTP Server usage, please allow less secure apps to use your Gmail address on this link https://myaccount.google.com/lesssecureapps
  4. SET your MySQL Server Connection Information on “JDBC.MySQL” section.
  5. SET your chromeDriver file location on “Chrome Driver Config” section.

3. What is next?

Once you have collected enough data, you can start analyzing it and even create your own application. To be sure if you need AI support, you must first determine what you expect from AI and make sure it needs to be analyzed in a humanlike way.

GITHUB REPOSITORY:

--

--