How to configure Sonarqube Jenkins integration

How to configure sonarqube in jenkins?

SonarQube is code quality checker and that can be integrated to Jenkins workflow to deliver continuous inspection.
Configuration steps as follows:SonarQube:1. Do a SonarQube docker image pull from docker hub 2. Then use docker run command to run the image to build SonarQube container.(Assumption JDK is already setup on the machine) if not , we need to docker containerized JDK.3. Now that step 2 allows us to run the SonarQube as a standalone server under localhost port 9000. (Type localhost:9000 on browser)4.login to SonarQube web app using admin as user I’d and admin as password.5. The go to Admin tab , Market place of SonarQube and install the plugins you wanted (SonarPython, Java, Groovy etc)6. You may need to restart SonarQube app after applying plugin installation.
Jenkins integration with Sonar1. Now that Sonar Server is ready, you may need to integrate Jenkins with Sonar.2. Login on to Jenkins, and go to Manage plugin section to install Sonar plugin.3. After restarting Jenkins, go the Configure system in Manage Jenkins section.4. Enable injection of Sonarserver,  add Sonar server auth token etc.
Now, Enable Analysis with Sonar scanner by defining the SonarQube server on Global configuration Then configure Jenkins build

What is contract testing

What is contract testing?

Contract testing is famous in microservices world. When we consider less numbers of microservices,  then contract testing is not so necessary.However when you look at the Amazon or Netflix microservices mesh, it is countless. Such cases it is extremely difficult for developer or tester to maintain unit/automation test suite as per the microservices development chnages.
Contract testing is the best possible solution currently offered for this situation. In contract testing, a mocked service is created to represent the provider.  There are commercial or opensource tools available to stimulate this. In short, contract is set of predefined requests and responses created by automation or developer team to do their testing.

How to read pdf content in java for automation project

How to read pdf content in java?

Apache PDFBox and FontBox jar available can be useful here. Add these two libraries to your Maven Pom.xml or build.gradle dependencies.
Then write java code to parse your PDF files to create POJOs.
What is POJO in javaPOJO stands for Plain java object and it has not restrictions or class path dependency.

What is google App Engine

What is Google’s App Engine ?

Google provides platform as service or PaaS via Google’s App Engine.App Engine is a cloud computing platform where development and hosting of applications can be done.Other feature is App engine scales up on demand basis when the requests are more.
App Engine supports almost all development technologies like Go, Java , Python, .NET, ruby.
Python web frameworks like Flask, Django all can run on App Engine.

DevOps vs DevSecOps vs NetOps

What is DevOps vs DevSecOps vs NetOps ?

DevOps is the practice of using set of tools, processes and practices to get good agility in software implementation to customers. It combines Dev (software development ) and Ops (information operations). DevOps shortens the development lifecycles and provides Continous Integration & Delivery. 
DevSecOps is when security features are included in DevOps CI/CD flow.
NetOps is when network services are packaged to DevOps.

Jenkins job vs pipeline

What is Jenkins jobs and Jenkins pipeline ?

Jenkins jobs and Jenkins pipeline are essentially same, however pipeline is more staged flow of jobs. For Jenkins pipeline, Jenkinsfile is used.
What is Jenkinsfile?Jenkinsfile is a text file placed in the root project directory. The Jenkinsfile has multiple stages like build, unit test, sonar test, functional,  regression, integration,  performance testing, deployment etc.

How does Karate framework work

What is Karate Framework and API test automation is done using Karate ?

Overview

Karate framework is the only framework that combines API, Web Automation, mock and performance testing using Gatling. It supports some level of RPA/RDA testing by integrating Sikuli with it’s scritps.

Stackoverflow links related with Karate framework

https://stackoverflow.com/questions/59768331/like-selenium-grid-hub-node-is-there-any-option-to-run-karatedriver-on-grid

https://stackoverflow.com/questions/58854004/karate-driver-synchronization-challeges

https://stackoverflow.com/questions/58783547/karate-driver-connection-refused-error-while-using-driver-type-chrome-and-exec

https://stackoverflow.com/questions/58634921/calling-karate-feature-files-based-on-soap-response-status-code-200-or-500

Karate framework can be build using gradle or maven. If you already know Cucumber framework it is easy to learn Karate framework. Karate uses feature files and Karate specific DSL supports both API and Web automation. Karate’s Java runner file can call the feature file having Karate DSL to perform API transactions like GET, POST, PUT and DELETE.

Karate version 0.9.5 released in 2020 has the following features,

  1. Debug from Visual Source code IDE
  2. Hot reload, step over / into / out / back

In 2019, Karate started web automation. Karate 0.9.5 feature will make Karate as complete test automation framework supporting both API and Web automation. Also another point to be noted is Karate’s integration with Sikulix for Desktop automation, integration with Gatling for performance testing and Mocking support for API testing.

What is REST client in Visual studio code

REST client is an extension available in Visual Studio code available through its market place.
REST client make API test automation easy via Visual studio code development. 

Consider a scenario where you needed to handshake selenium UI automation with API REST calls, normally you would need to do coding effort for REST calls. In this case REST client makes life easy.
Please find below example on REST client coding:
GET transaction for getting a response

# codes starts here
GET https://endpointurl/xxxxx

Authorization: {{“token”}}

# code ends..

Note : you can pass token as variable as well.
Similarly POST, or PUT works and needs the json input file/string to be attached with POST, PUT request

Summary of Web services and API testing using UFT

Summary of Web services and API testing using UFT

 

Web services

 
Demand of Web services is already high in the new internet era since applications are built in different technology / databases and connected through internet. So communication between is only possible through a commonly accepted media which are Web services
 
Web services are XML format based services which use media as HTTP to communicate and it is loosely coupled where there no hard binding with client.
 

WSDL

 
WSDL is a document in XML format which describes a web service and defines which transactions are available and data should be structured to send to those transactions.

WSDL (Web services description language) helps client to initiate the correct web service

Webserver client needs WSDL to initiate Web services and Web server providers generates WSDL.
 

UDDI

UDDI is the online directory which has all the WDSL available and all web services client gets that from UDDI.

Web services has two implementations.
1. SOAP

2. REST

SOAP

 
SOAP is the XML based implementation for web service and it has 3 main components which are
a. Envelope – represents root elements
b. Header – stores authentication, routing id for web service transaction.
c. Body – stores all data which are intended to transfer to webservice client.

SOAP uses HTTP as media for transferring data. Format used in XML.

REST

 
REST is more flexible implementation as it uses text format and media other than HTTP as well.
 

API testing using UFT

 
UFT is a software automation tool. Apart from automation test scenarios it supports API testing. Following AP testing are supported.
 

Web service

REST

 
In UFT user can create a new API project by clicking File > New > Test..
Select the  API Test type
Then navigate to tool box in the left
Click on Network once it’s exploded,
Drag HTTP Request to Test flow
Right click and select the properties
Fill the URL, select HTTP method as GET
Also you can configure the checkpoints.