aws.amazon.com/rds

AWS RDS

What is RDS?

Amazon Relational Database Service (Amazon RDS) is meant to support relational database usage in cloud. 

RDS lets us access MySQL, MariaDB, Oracle, SQL Server, or PostgreSQL databases and our current database operations can be performed in cloud.

As per AWS documentation the following are the databases or schemas capacity within DB instance,
RDS for Amazon Aurora has no limit imposed by software
RDS for MySQL has no limit imposed by software
RDS for MariaDB has no limit imposed by software
RDS for Oracle has 1 database per instance; has no limit on number of schemas per database imposed by software
RDS for SQL Server has 30 databases per instance
RDS for PostgreSQL has no limit imposed by software

 

aws.amazon.com/s3

Amazon S3

S3 enables companies to store massive amount of data in a secure way. S3 enables companies to store, retrieve data. 

Benefits

High durability, availability, and scalability. S3 provides the most comprehensive compliance capabilities.

S3 allows  data storage up to 5 terabytes 

S3 provides a REST web services interface supporting any internet development tool kit.

S3 is available in any AWS region worldwide

 

 

 

 

Components of 3 tier architecture – Web server vs Application server vs Database server

Components of 3 tier architecture – Web server vs Application server vs Database server

Web server serves a web content (HTML and static content) over the HTTP protocol.

Application server is a container on which one can build and expose business logic and processes to client applications through various protocols like HTTP. Some cases it will have internal web server. Application server is heavy in terms of resource usage.

Database server refers to the back-end system of a database application using client/server architecture. The database server performs tasks such as data analysis, storage, data manipulation, archiving, and other non-user specific tasks

 

amazon-aws

amazon-aws

Amazon Web Services (AWS) is a subsidiary of amazon.com. AWS currently provides more than 100 services and helps to setup high computing power, data storage, queuing, notification, machine learning, security, monitoring services available under AWS management console.

AWS Free Tier includes 750 hours of Linux and Windows t2.micro instances each month for one year as per Amazon website. Please check  https://aws.amazon.com or https://aws.amazon.com/ec2/ website for more accurate details and to confirm this.
 
The quickest way to learn AWS is by creating free tier aws account by clicking below link.
 

Different AWS cloud services?

VPC, EC2, S3, SNS, SQS,  ML, Developer tools, Analytics, IAM, Media services etc.
 

VPC

What is VPC?

VPC lets us to place our AWS resources in a virtual network the way we wanted. As you can see below VPC 3 tier architecture holds the resources and makes a secure communication between the internet and your VPC.
 
VPC 3 tier architecture using AWS cloud services as below:
 
Amazon VPC – 3 tier architecture

here in the above diagram, Availability zone 1 has Web server 1, App server 1 and DB server 1 orchestrated 

Similarly, Availability zone 1 has Web server 2, App server 2 and DB server 2 orchestrated. 

The load balancer is placed to handle the load between the servers

EC2

 

What is EC2?

EC2 stands for Amazon Elastic Compute Cloud is a cloud service provides secure, resizable compute capacity. In simple terms it allows us to setup a windows, Linux servers in 2-3 minutes.

How to setup a Windows server and Linux server?

Steps:
AWS Free account gives access to AWS console.
Create a free account and select Linux and Windows t2.micro instances under EC2 option under AWS Dashboard.
Follow the instructions and make sure select “Free Tier Eligible servers” and after learning the process, terminate servers as to avoid the usage of computing services and storage.
 
 
Benefits?
Quick – easy to create/terminate servers.
Inexpensive – Gives an option to select the matching server configurations to reduce cost.   
Secure – EC2 works along with VPC to provide high security with robust networking features.
Elastic Web scale computing – enable to increase/decrease server capacity in minutes by adding/removing 100 of servers simultaneously. 
Integration – easy integration to VPC, S3, RDS etc.
 
Please click on S3Amazon Simple Storage Service (Amazon S3) 
 
Please click on RDS Amazon Relational Database Service (Amazon RDS)
 
Please click on VPC– Amazon Virtual Private Cloud (Amazon VPC)
 
Please click on RPA Amazon Relational Database Service (Amazon RDS)

How to run selenium on linux server using Firefox binary

How to run selenium on linux server using Firefox binary

String Xport = System.getProperty(“lmportal.xvfb.id”, “:1”); // setup firefox binary to start Xvfb
final File ffPath = new File(System.getProperty(“lmportal.deploy.firefox.path”, “/usr/bin/firefox”));
FirefoxBinary ffBinary = new FirefoxBinary(ffPath);
ffBinary.setEnvironmentProperty(“DISPLAY”, Xport);

WebDriver driver = new FirefoxDriver(ffBinary, null);
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.get(“URL”);

How to handle the error popup on site security certificate is not trusted with chrome selenium python automation

How to handle the error popup on site security certificate is not trusted with chrome selenium python automation

For Chrome, add –ignore-certificate-errors in following code
options = webdriver.ChromeOptions()
options.add_argument(‘–ignore-certificate-errors’)
driver = webdriver.Chrome(chrome_options=options)
driver.get(‘URL’)

For the Internet Explorer, set acceptSslCerts desired capability as true:
capabilities = webdriver.DesiredCapabilities().INTERNETEXPLORER
capabilities[‘acceptSslCerts’] = True
driver = webdriver.Ie(capabilities=capabilities)
driver.get(‘URL’)

For Firefox, set accept_untrusted_certs as true

profile = webdriver.FirefoxProfile()
profile.accept_untrusted_certs = True
driver = webdriver.Firefox(firefox_profile=profile)
driver.get(‘URL’)

CPKeralaStrikers

Short/Nick NameRuns in this summer seasonWickets in this summer season Team 🙂Number of CatchesNumber of Sixes
Anoop00Sachin
Arun00Sachin
Ajesh00Sachin
Firosh00Sachin
Lijo00Sachin
Sarat00Ganguly
Sharath00Ganguly
Sreeraj00Ganguly
Suchith00Sachin
Uday00Ganguly

What are the limits in Salesforce

What are the limits in Salesforce

  1. Master detail relationships – 2
  2. Look up relationships – 40
  3. No.of dashboard components – 20
  4. Total Workflow rules per object – 500
  5. Active workflow rules – 50
  6. Approval process – 500
  7. Sharing rules (Criteria and Ownership based) – 300
  8. Sharing rules (Criteria based only) -50
  9. Validation rules – 100
  10. Field tracking – 20 (Additional 20 with chatter)
  11. No. of custom objects – 2000
  12. No. of custom fields – 500

Nia’s readings

Nia’s readings from Library,

  1. Ms. Leakey Is Freaky! – by Dan Gutman
  2. Ms. Hannah Is Bananas! – by Dan Gutman
  3. Nancy Drew and the Clue Crew- Case of the Sneaky Snowman by Carolyn Keene
  4. Diary of a Wimpy Kid Rodrick Rules by Jeff Kinney
  5. Help your Kids with Computer Coding 
  6. The phantom bully by Jeffrey Brown.
  7. Goosebump series Be careful what you wish for Samantha Byrd
  8. Goosebump series Night of the Living dummy Lindy Powell
  9. Goosebump series Night of the Living dummy Kris Powell
  10. Goosebump series Say Cheese and die Greg Banks
  11. Goosebump series Say Cheese and die Shari Walkar
  12. Goosebump series Be careful what you wish for – Samantha Byrd
  13. Goosebump series Stay out of the basement
  14. Carolines secret message
  15. Coach Hyatt is a Riot ! by Dan Gutman
  16. The Riddle of the Robin

Salesforce Admin Syllabus

Salesforce Admin Syllabus

  • Types of Objects & Fields
    • Standard Objects (Sample video link below)
    • Custom Objects (Sample video link below)
    • Standard Fields
    • Custom Fields

  • Types of Relationships, Field Dependency
  • Visualforce
  • Custom, Console application
  • Field Accessibility
  • Grant Login Access
  • Calendar, Console Tab
  • Trusted IP Ranges
  • Session Settings
  • Different types of Email templates
    • Text
    • HTML (using Letterhead)
    • Custom (without using Letterhead)
  • Different types of tabs
    • Custom Object Tab
    • Web Tab
    • Visualforce Tab
  • Field History Tracking in Salesforce, Feed Tracking
  • View setup audit trail
  • Organization Wide Default
  • Roles, Role Hierarchy
  • Sharing Rules
  • Profiles
  • Permission Sets
  • Password Policies
  • Developer console
  • Validation Rules
  • Approval process
  • Reports and Dashboards
  • Scheduling reports
  • Report Types
  • Adding dashboards in Home page
  • Chatter, Chatter Desktop
  • Queues
  • Public Groups
  • Assignment Rules, Auto Response Rule
  • Views
  • Domain Registration
  • Workflow rules
    • Email Alert
    • Task
    • Field Update
    • Outbound Message
  • Search Layouts
  • Search Results
    • Lookup Dialogs, Phone Dialogs
    • Accounts Tab
    • Accounts List View
    • Search Filter Fields
  • Page Layout
  • Mini Console View
  • Mini Page Layout
  • Record Types
  • Apex Data loader tool
  • com Explorer tool, Sites
  • Data Management
    • Analytic Snapshots
    • Import Accounts/Contacts, Leads, Solutions, Custom Objects
    • Data Export
    • Storage Usage
    • Mass Transfer Records
    • Mass Delete Records
    • Mass Transfer Approval Requests
    • Mass Update Addresses
    • Data Loader
  • Tags in Salesforce
  • Live Agent
  • Public Solutions
  • Chatter Answers
  • Entitlement Management
  • How to access Salesforce from all IP Ranges – App Exchange application
  • Mass Edit, Delete – App Exchange application
  • Login Hours restriction for Profiles
  • Edit, Delete and Clone Buttons
  • App Exchange, Chat Settings(Chat Window)
  • Email to Case
  • Web-to-Lead
  • Web-to-Case
  • Schema Builder
  • Visualforce page
  • Actions in Salesforce
  • How to expire all the users password in Salesforce?
  • How Salesforce login works?
  • Account, Opportunity and Case teams
  • Manual Sharing
  • Renaming Tab Names and Labels
  • Io, Data.com
  • Merge tool
  • Chatter Approval Request
  • https://success.salesforce.com
  • Opportunity Split
  • Workbench, Work.com
  • Escalation Rules
  • Adding Multiple Users
  • Account Hierarchy
  • Multi-Tenant Architecture
  • Creating Custom Tab Style in Salesforce
  • Historical Trend Reporting
  • Splash Page creation

QA Automation Interview questions

QA Automation Interview questions

  1. differentiate final , finally, finalize (Ans: final method can’t be overridden, final variable can’t be changed, finally goes with try/catch, finalize is garbage collector)
  2. how to handle exceptions in java (Ans: try catch, throws, etc)
  3. how to use parameters in cucumber/testNG (Ans: scenario outline,tidy gherkin plugin, vs testng.xml-suite,test,class,method;)
  4. compare TestNG and Cucumber BDD (Ans: testng.xml, POM,vs feature file,Junit testrunner,stepDefention, POM)
  5. how to validate flatfiles , db using Java (Ans: input filestream, driver class connection, server name, instance , authentication, sql statement)
  6. how to skip method/test in TestNG, Cucumber BDD (Ans: testng.xml, annotation, cucumber tags on testrunner)
  7. differentiate encapsulation , abstraction
  8. what are interface and explain the methods – webdriver interface, driver object reference, FF/IEdriver class (Since interface can not be instantiated)
  9. write programs – sort array, print number in reverse, print string reverse, etc
  10. how does SSL works , public key-private key, session encryption etc
  11. method overridden vs method overloading (super class methods are overridden by child class when both has same methods, overload – one class has multiple methods with same method name but different parameters)
  12. Selenium automation challenges (ajax – webdriver wait methods, frames switch, alert.accept, multiple windows handlers, pdf in webpage, alert vs modal confuse, dynamic id,name-use xpath contains, etc)
  13. handle dropdown – select class
  14. feature file extension
  15. bufferbuilder usage
  16. what is background, scenarios outline, before/afterhooks vs tags, 
  17. usage of autoit, robotclass, javascript executor, 
  18. Jenkins schedule batch, report generation, 
  19. grid setup, hub and node, run on dos prompt, or use JSON file to configure nodes and run JSON on commandline..then connect in Jenkins 
  20. how to manage Git versions between two teams

Nested Java program loops

Nested Java program loops

import java.util.Scanner;

class NestedIfElse {
public static void main(String[] args) {
int marksObtained, passingMarks;
char grade;

passingMarks = 40;

Scanner input = new Scanner(System.in);

System.out.println(“Input marks scored by you”);

marksObtained = input.nextInt();

if (marksObtained >= passingMarks) {

if (marksObtained > 90)
grade = ‘A’;
else if (marksObtained > 75)
grade = ‘B’;
else if (marksObtained > 60)
grade = ‘C’;
else
grade = ‘D’;

System.out.println(“You passed the exam and your grade is ” + grade);
}
else {
grade = ‘F’;
System.out.println(“You failed and your grade is ” + grade);
}
}
}

If else program in Java

If else program in Java

import java.util.Scanner;

class IfElse {
public static void main(String[] args) {
int marksObtained, passingMarks;

passingMarks = 40;

Scanner input = new Scanner(System.in);

System.out.println(“Input marks scored by you”);

marksObtained = input.nextInt();

if (marksObtained >= passingMarks) {
System.out.println(“You passed the exam.”);
}
else {
System.out.println(“Unfortunately you failed to pass the exam.”);
}
}
}

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.

Maven TestNG framework with reporting features and switching pages

Maven TestNG framework with reporting features and switching pages

 

1.  Setup a Maven project in Eclipse with POM file as below

Refer the Post-Man plugin highlighted below in yellow

Refer the reporting directory path highlighted below in yellow

 

POM file sample as below – you can copy paste this contents for any Maven TestNG project.

 

<project xmlns=“http://maven.apache.org/POM/4.0.0” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>

  <modelVersion>4.0.0</modelVersion>

  <groupId>MavenProject</groupId>

  <artifactId>MavenProject1</artifactId>

  <version>0.0.1-SNAPSHOT</version>

  <dependencies>

       <dependency>

              <groupId>junit</groupId>

              <artifactId>junit</artifactId>

              <version>3.8.1</version>

       </dependency>

       <dependency>

              <groupId>org.testng</groupId>

              <artifactId>testng</artifactId>

              <version>6.8</version>

       </dependency>

         <dependency>

                  <groupId>com.relevantcodes</groupId>

                  <artifactId>extentreports</artifactId>

                  <version>2.41.1</version>

         </dependency>

       <dependency>

              <groupId>org.seleniumhq.selenium</groupId>

              <artifactId>selenium-java</artifactId>

              <version>2.45.0</version>

       </dependency>

 

       <dependency>

              <groupId>net.sourceforge.jexcelapi</groupId>

              <artifactId>jxl</artifactId>

              <version>2.6.12</version>

       </dependency>

       <dependency>

              <groupId>org.apache.poi</groupId>

              <artifactId>poi</artifactId>

              <version>3.17</version>

       </dependency>

  </dependencies>

  <dependencyManagement>

       <dependencies>

              <dependency>

                     <groupId>org.jxl</groupId>

                     <artifactId>jxl</artifactId>

                     <version>2.6</version>

              </dependency>

       </dependencies>

  </dependencyManagement>

 

   <build>

        <plugins>

              <!– Suirefire plugin to run xml files –>

               <plugin>

                     <groupId>org.apache.maven.plugins</groupId>

                     <artifactId>mavensurefireplugin</artifactId>

                     <version>2.18.1</version>

                     <configuration>

                           <suiteXmlFiles>

                                  <!– TestNG suite XML files –>

                                  <suiteXmlFile>testng.xml</suiteXmlFile>

                           </suiteXmlFiles>

                     </configuration>

              </plugin>

       <!– Post-Man plugin –>

              <plugin>

                     <groupId>ch.fortysix</groupId>

                     <artifactId>maven-postman-plugin</artifactId>

                     <executions>

                           <execution>

                          

                           <id>send an email</id>

                           <phase>testEmail</phase>

                           <goals>

                           <goal>send-an-email</goal>

                           </goals>

                           <inherited>true</inherited>

                          

                           <configuration>

                                  <!– From Email address –>

                                  <from>gmailid@gmail.com</from>

                                 

                                  <!–  Email subject –>

                                  <subject>Test Report</subject>

                                 

                                  <!– Fail the build if the mail doesnt reach –>

                                  <failonerror>true</failonerror>

                                 

                                  <!– host –>

                                  <mailhost>smtp.gmail.com</mailhost>

                                  <!– port of the host –>

                                  <mailport>465</mailport>

                                  <mailssl>true</mailssl>

                                  <mailAltConfig>true</mailAltConfig>

                                 

                                  <!– Email Authentication(USername and Password) –>

                                  <mailuser>gmailid@gmail.com</mailuser>

                                  <mailpassword>pwd</mailpassword>

                                 

                                  <receivers>

                                         <!– To Email address –>

                                         <receiver>togmailid@gmail.com</receiver>

                                  </receivers>

                                 

                                  <fileSets>

                                  <fileSet>

                                         <!– Report directory Path –>

                                         <directory>C://Projects//Eclipse//workspace//Mavenproject//Reports</directory>

                                         <includes>

                                                <!– Report file name –>

                                                <include>**/*.html</include>

                                         </includes>

                                         <!—as mentioned above Regular Expression **/*.html to send all the html files reports–>

                                         </fileSet>

                                  </fileSets>                      

                          

                           </configuration>

                           </execution>

                     </executions>

              </plugin>

      

       </plugins>          

  </build>

    

</project>

 

2.      Setup a Page factory package where all the object locators are stored. E.g. code like this below.

 

package ProjectPageFactory;

 

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.FileReader;

import java.util.Iterator;

import java.util.List;

import java.util.NoSuchElementException;

import static org.testng.AssertJUnit.assertEquals;

import java.io.FileInputStream;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.firefox.FirefoxDriver;

import org.openqa.selenium.ie.InternetExplorerDriver;

import org.openqa.selenium.support.CacheLookup;

import org.openqa.selenium.support.FindBy;

import org.openqa.selenium.support.PageFactory;

import org.openqa.selenium.support.ui.Select;

import org.testng.annotations.BeforeSuite;

import org.testng.annotations.BeforeTest;

import org.testng.annotations.Test;

import org.openqa.selenium.support.ui.WebDriverWait;

import org.testng.annotations.Test;

 

 

public class yourFirstpageofApplication {  // this is were you can build the locators repository.

               

                WebDriver driver;

                               

                @FindBy(linkText=”LocatorHyperlinkTextName”)  // type the Locator Hyperlink Text Name

                @CacheLookup  // use CacheLookup for any non dynamic objects , this will improve exection performance.

                WebElement Hyperlink1;

               

                @FindBy(xpath=”html/body/form/divXXXXXXX/xxxx”)

                // @CacheLookup – do not use CacheLookup for any dynamic objects

                WebElement objectName1;

 

2.   Setup a test script code that communicates to Pageobject repository

 

public class applicationPageName extends initialiseDriver  // refer step 3 for initialiseDriver example.

{

      

       //WebDriver driver;

       yourFirstpageofApplication AppObj;

 

       @Test(priority = 1)

       public void Excel() throws Exception

       {

                    

              AppObj = new yourFirstpageofApplication(driver);

              AppObj.ordinqclick();  // this will navigate to PageObject repository code and do action on application.

 

          Note: Basically both classes (Test scripts and Pageobject repository script) will communicate.

 

3.   Reporting code

 

package TestscriptProject;

 

import java.io.File;

import java.io.FileInputStream;

import java.util.List;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.ie.InternetExplorerDriver;

import org.openqa.selenium.support.ui.Select;

import org.openqa.selenium.WebDriver;

import org.testng.annotations.AfterClass;

import org.testng.annotations.AfterTest;

import org.testng.annotations.BeforeTest;

import org.testng.annotations.Test;

import org.testng.asserts.SoftAssert;

 

import com.relevantcodes.extentreports.ExtentReports;

import com.relevantcodes.extentreports.ExtentTest;

import com.relevantcodes.extentreports.LogStatus;

 

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

 

 

import PageFactoryProject.ApplicatonPageScriptClass;  // make sure you import that to this class

 

public class orderInquiryPage extends driverInitialise

{

      

       //WebDriver driver;

       yourFirstpageofApplication AppObj;

                     ExtentReports report;

              ExtentTest logger;

 

       @Test(priority = 1)

       public void Excel() throws Exception

       {

                     report = new ExtentReports(“./Reports/OrderInquiryReport.html”);

                     logger = report.startTest(“csvFile”);

              logger.log(LogStatus.INFO, ” test case started”);

      

             

                     //Pass the test in to report

                     logger.log(LogStatus.PASS,”Test verified Pass for particular functionality”);

                          

                     //End of the test

                     report.endTest(logger);

                                        

                     //clear the data in report

              report.flush();

 

4.   Switching between child window/page and parent window/page

 

To switch to a child window or page

public void childWindowHandle()

{

       childHandle = driver.getWindowHandles().toArray()[y].toString();   // y = 1

       driver.switchTo().window(childHandle);

}

 

To switch to a parent window or page

 

public void parentWindowHandle()

{     

       parentHandle = driver.getWindowHandles().toArray()[x].toString(); // x = 0

       driver.switchTo().window(parentHandle);

}

Cucumber Scenario data table and Scenario Outline data table

4 Dimensional Arrays in Java

Summary on Cloud, Machine learning, Artificial intelligence and other emerging technologies

Summary on Cloud, Machine learning, Artificial intelligence and other emerging technologies

Salesforce

Salesforce.com is an American cloud computing company.
Salesforce offers Software as a Service (SaaS) platform which helps in Customer Relationship Management.
It has a multi-tenant architecture and subscriptions.

 The following are the application clouds in Salesforce CRM.

  1. Sales Cloud
    2. Service Cloud
    3. Marketing Cloud
    4. Data cloud
    5. App Cloud
    6. Analytics Cloud
    7. Community Cloud

Salesforce also offers Platform as a Service (PaaS) using Force.com sites.

People involved in Salesforce Implementation
1. End User ( Customer)
2. Administrator
3. Developer
4. Consultant

The following are the list of Salesforce Certifications.

  1. Certified Administrator
    2. Certified Advanced Administrator
    3. Certified Sales Cloud Consultant
    4. Certified Service Cloud Consultant
    5. Certified Force.com Platform App Builder
    6. Certified Force.com Platform Developer I
    7. Certified Force.com Platform Developer II
    8. Certified Technical Architect

 

What is Apex?

  • Apex is a programming language for salesforce (only).
  • Object Oriented Program, in which the data types have to defined.
  • Allows developers for flow execution in force.com platforms.
  • Enables developers to add business logic to most system events including button clicks, related record updates and visualforce pages.

Datatypes in Apex

  • Primitives

Apex primitives include the following datatypes.

  1. Integer
  2. Boolean
  3. Decimal
  4. Double
  5. Date
  6. Date Time
  7. Time
  8. String
  9. Long
  10. ID- Any valid salesforce.com Id.
  • sObjects
  • Any  object that can be stored in force.com platform database.
  • sObject variable unlike primitive variable refers to row of data in salesforce. That is a complete record as a variable.

Hadoop MapReduce

Hadoop MapReduce is the main core components of Hadoop and is a programming model Hadoop MapReduce helps implementation for processing and generating large data sets, it uses parallel and distributed algorithms on a cluster. Hadoop MapReduce can handle large scale data: petabytes, exabytes.
Mapreduce framework converts each record of input into a key/value pair.

What is Blockchain and cryptocurrency

To understand more about Blockchain and crypto currency, lets explain about current Banking system works.

Current Banking systems : when a user does an online or ATM transaction , the centralized banking ledger verifies and confirm the authenticity of accounts. For that work, every bank or third party sites charges to user.

Blockchain is not like banking centralized ledger but this software uses a decentralized ledger across the thousands of computers and every transactions are updated in each and every ledger. That means everyone is aware of the transactions rather than a centralized bank stores all information and charges for that. There are volunteering systems who does this effort of maintaining all ledgers for block chain. 

Block chain uses cryptography mythology to protect the ledger information so that no one can modify or destroy this.

Block chain concept is utilized by Crypto currency , online voting system, signature system, agreement systems etc.

Top 20 cryptocurrency 2017

bitcoin BTC
ethereum ETH
bitcoincash BCH
ethereumclassic ETC
litecoin LTC
einsteinium EMC2
dash DASH
ripple XRP
bitcoingold BTG
zcash ZEC
eos EOS
qtum QTUM
syscoin SYS
neo NEO
monero XMR
vertcoin VTC
iota IOT
powerledger POWR
omisego OMG
santiment SAN

Summary about Jmeter and performance testing

Summary about Jmeter and performance testing

Jmeter recording

How to create Jmeter scripts?

Recording Jmeter scripts using Jmeter’s HTTP(S) Test Script recorder. There are two ways

1)      Manually adding scripts ( Test plan >> Tread Group >> Add>> Sampler >> HTTP Request )

2)      Recording using Jmeter’s HTTP(S) Test Script recorder

How to record Jmeter scripts using HTTP(S) Test Script recorder

Prior doing that we need to configure browser and learn about the Proxy setup

Jmeter to Application server communication need to be routed thru a browser Proxy for this recording purpose. For that you may need to select the Browser (here we can use Firefox browser”

1)      Navigate to Firefox >> Tools >> options >> Advanced >> Network >> Settings

2)      Select Manual Proxy configuration >> HTTP Proxy = localhost & Port = 8080

How to run Jmeter in Jenkins

steps:

Jenkins setup and performance plugin setup:
1) copy performance plugin into Jenkin’s home directry before you start the test.
2) to do that – you can download the performance plugin “performance.hpi” from the site https://wiki.jenkins-ci.org/display/JENKINS/Performance+Plugin
3) how to find the home directry of jenkins – to do that you can navigate to jenkins home page (localhost:8080) and then
4) click on “Manage Jenkins” and then click on “Configure system” the you will notice “Home directy” path in there.

Configure Jmeter and create a basic script in Jmeter:
5) download Jmeter Binary zip file from Jmeter site http://jmeter.apache.org/download_jmeter.cgi
6) unzip it and go to the “bin” directory of the Jmeter folder, wherre you will notice “user.properties” file.
7) open the file in notepad or notepad++ or any other text editor
8) add a line “jmeter.save.saveservice.output_format=xml” to that. Save and close the “user.properties” file
9) create a Jmeter script and make sure you can run it in non GUI mode i.e either in DOS mode or using shell scripts in MAC (note down the commands used in respective OS and it could be used in Jenkins job setup)
Note: for windows command line run, you can use the following commands

C:\[JMETER BIN directory]\jmeter.bat -Jjmeter.save.saveservice.output_format=xml -n -t C:\[JMETER script “.jmx” file] -l Jmeter_test_results.jtl

Note 1: For detailed topics on Jmeter scripts creation , please visit Jmeter , Jmeter recording 

setup Jenkin’s job to run Jmeter scripts
9) go to Jenkins home page (localhost:8080) and then click on “New Item” on “Freestyle project”
10) in the “New item” page, give some name in the item name field and go to below to section “Build” and add build step
11) add build step can be either a) “execute windows batch command” for windows or b) “Execute shell” for MAC
12) provide your command in there and save.
13) Click on “Build now” which would call the Jmeter (jmx) file and run the program
14) after the run, you can verify the Jenkins console to review the results.

Summary about Jenkins, Selenium and QTP automation frameworks

Summary about Jenkins, Selenium and QTP automation frameworks

How to run Jenkins locally

1) go to https://jenkins.io and download Jenkins.war file
2) place the war file in a folder (e.g. C:\Jenkins\Jenkins.war )
3) then open command prompt (windows start menu > run > cmd will open command prompt )
4) in command prompt, go to folder C:\Jenkins\ ( command : “CD C:\Jenkins\” )  and then run command ” java -jar Jenkins.war ”
5) this will exract a folder name “.jenkins” into your user folder ( the path is usually “C:\users\”your login”\.jenkins”
6) copy “.jenkins” folder and paste to folder C:\Jenkins\, so that you have “C:\Jenkins\.jenkins” as the folder path.
7) Now you setup a Enviroment variable (to set up that go to Control panel > system > Advanced System settings )
8) then add Enviroment variable as “JENKINS_HOME” and value as “C:\Jenkins\.jenkins”

You all set to run Jenkins on your machine!

Open a browser and type “localhost:8080” to see Jenkins session.

Selenium features

Selenium supports Cross Browser Testing and parallel testing. The Selenium tests can be run on multiple browsers and multiple machines and multiple Operating systems. Selenium offers open source tools and supports test automation for web applications

Supports several scripting languages like Java, Python, C#, and PHP

Reporting are very easy and extensible,

Selenium uses Browser native commands. It locates and actions applied on UI elements

TestNG quick summary:

 TestNG’s is Selenium + reporting features. It is easy to generate reports using Listeners and Reporters in TestNG

 Features of TestNG includes the following,

1)      Annotations – please refer my annotation blog Annotation – TestNG’s test case priority

2)      Supports parameterization/ data driven testing

3)      Test cases can be grouped and parallel testing is allowed.

Automaton testing using Cucumber – Behavior driven development (BDD)

Application behavior is the main focus on BDD. The requirements are written in English which gives more readability and understandability of the requirement.

So any roles in the company (Tester, developer, end user, and techno functional person) can read it and understand it. Also this will reduce the complication in terms of missing requirement or misrepresenting or misunderstanding requirements between different roles (Developer /tester / end user)

Gherkin is a business readable language – refer below for an example. Below feature file is integrated with Selenium and are having user stories as below.

Please refer below – “feature, Scenario, Given, When, And, Then “are the Keywords below to understand on how to write a feature file.

What is TestRunner in Cucumber

In order to link Cucumber with Selenium WebDriver, you need to start a Java project in eclipse IDE.

Then, add both Cucumber and Selenium jar files

Write test runner code and execute the same . Please refer BDD testing details on Selenium Cucumber

 

Selenium jenkins integration steps are as below:

 

Jenkin related steps:
1) start jenkins by running command in DOS prompt (detailed steps in here )
2) then make sure you are able to access url : localhost:8080
3) then you need to configure jenkins to run the selenium scripts – for that click on “Manage Jenkins”
4) then click on Configure systems
5) Find out the jdk files are installed (usually in C:\ program files … folder path) and copy paste the path in JDK section “JDK Installations” in ” Configure systems” which you are already in.
6) Give JDK name “JAVA_HOME” and provide Java path below in the next field.

Selenium related steps:
3) Open eclipse IDE and start new Java project
4) make sure you added selenium jars (Selenium server standalone jar file which you can download add to new project) to support selenium framework for your automation testing.
5) then create a simple selenium script – make sure it is running and completing successfully in Eclipse.
6) Also create a xml file give a name “Xml1.xml”  Make sure Run “Xml1.xml” as “TestNG Suite” is working fine in Eclipse. Also notedown the xml file path in selenium project. create a lib folder in that and add all jar files which are required.

Commmand prompt:
7) navigate to that project folder in command prompt and set all required classpath like bin and lib etc which are already in xml file folder in selenium project which you got from selenium project in eclipse.
8) then type command “Java org.testng.testNG Xml1.xml” which will display results in command prompt/DOS screen
9) now create a batch file “Batch1.bat” which contains the above command and also a command for compiling as e.g “java -cp bin;lib/* org.testng.testNG Xml1.xml”

Jenkins setup to build and run the file:
10) in Jenkins, create a “new item” with selection of “Freestyle project”
11) then select “Advance options” and put the Selenium project home directory path in there.
12) the build trigger section, select Batch file execution option in there, then put the batch file name “Batch1.bat”
13) click and save the new item
14) click on “Build Now” and verify the “Console output”

 

How to configure Hub & Node machines for selenium parallel test execution

Configuring Hub machine

1) Start the command prompt/DOS prompt

2) Navigate to the folder location where the Selenium server jar file is kept.

3) Type java –jar selenium-server-standalone-[VERSION].jar –role hub

Note: [VERSION] is the one your downloaded version of selenium-server-standalone Jar file.

Selenium Hub

4) Now type: http://localhost:4444 in browser

Your will see the below screen

5) Now type: http://localhost:4444/console in browser

Configuring Node machines

Follow the same steps 1 to 2 in node machines

Then type,

Java –jar selenium-server-standalone-[VERSION].jar –role node –hub http://yourHUBmachineIP:4444/grid/register

How to run selenium tests in Jenkins

Jenkins configuration:

To run selenium scripts in Jenkins, Jenkins needs to started.

To make Jenkins server start, please use the following command in the Jenkins folder of your machine when Jenkins.warfile is downloaded from internet…

  1. “java -jar jenkins.war” in DOS / command prompt mode.
  2. Then you need to bring the browser up and type “localhost:8080” to see jenkins web UI ready.
  3. Then navigate to Jenkins >> Manage Jenkins and click on “Configure system”
  4. Then scroll down to see the “JDK installations” section in the pag
  5. There you enter “JAVA_HOME” for “JDK name” field.
  6. Provide the Java-JDK file folder path for “JAVA_HOME” field.

Note:  Java-JDK file folder path is usually “C:\Program files\Java\JDK….”

Note: Disable “Install Automatically” check box else it will update with new Java versions and your selenium program might get conflicts

Selenium script development:

  1. create a package and class in Eclipse
  2. and then create a small test script – like print some message based on UI or Browser title name etc
  3. you could create a TestNG project
  4. Then TestNG.xml file will be created in Eclipse 

Note: to get the XML folder path in project home directory, you could go to Eclipse project and right click to see properties.

Note: you also need to put all the jar files required for selenium testing under the lib folder(you may need to create”lib” folder)

Just to test your TestNG scripts are working, you can navigate to Project home directly (XML located) thru DOS/Command prompt and then type as below:

Note: before that you need to set class path as bin directory of Project home folder. Command : “set classpath=C:\Selenium\project\bin;” as an example for binary file

Note1: similarly lib files, Command : “set classpath=C:\Selenium\project\lib\*” as an example

or command: set classpath=C:\Selenium\project\bin;C:\Selenium\project\lib\*;

Then execute testng.xml file thru command prompt

command : java org.testng.TestNG testng.xml

Batch file creation for Jenkin execution

Create a batch file using notepad – steps

  1. Type the below contents in Notepad without quotes.

‘ java -cp bi;lib/* org.testng.TestNG testng.xml ‘

2) save the notepad as “runSelenium.bat” which will create a bat file. Place it in project home directory.

Jenkins job creation:

  1. Open Jenkins, then click on “New item”
  2. Enter item name as “JenkinSeleniumTest”
  3. Select “Freestyle project” , click Ok
  4. Then click on “Advance” button under the “Advance projects options”
  5. Then select “Use custom workspace”, then give the project home directory path in “Directory” field.
  6. Then “Add build setup” under “Build” and select “Execute Windows batch Command”
  7. Then type “runSelenium.bat” in the command field, click apply and save it.
  8. Then in the “JenkinSeleniumTest”, then click on “Build Now” which will call the batch file and then Selenium script internally.
  9. Verify the “Console output” in “JenkinSeleniumTest” which will show the Selenium execution results.

How to send email at every build with Jenkins

Jenkins default configuration setting allows to send email notification for build failure, someone breaks the build etc.

  1. To send email for every build Install Email-ext plugin.
  2. Once it is installed, click on Configure System
  3. Then in “Jenkins Location” section & “Extended E-mail Notification” – enter your email ids
  4. In “E-mail Notification” section, enter the SMTP server name to “SMTP server”
  5. Click “Advanced”, Click “Use SMTP Authentication” to enter required information
  6. verify “Test configuration by sending test e-mail”
  7. Configure a project to send email at every build
  8. Click “Add post-build action” and then Click “Editable Email Notification”
  9. Go to  “Advanced Settings” to “Add Trigger”
  10. then Click “Always” , Save

Qtp script to close all open browsers ..

Call CloseAllBrowsers_ExcludingALM()

Function CloseAllBrowsers_ExcludingALM()
‘To ceclare Variables
Dim objDes, objList, objIndex

‘To Create Object Description for all opened browsers opened.
Set objDes=Description.Create
objDes.Add “micClass”,”Browser”

‘To get all the opened browsers objects from Desktop
Set ObjList=Desktop.ChildObjects(objDes)

‘Indexing always starts from “0”
For objIndex=0 to objList.count-1
‘To cverify the name of the browser is “HP Application Lifecycle Management”
If lcase(objList(objIndex).GetROproperty(“name”))<>”HP Application Lifecycle Management” then
‘Close the Browser
objList(objIndex).close
Exit For
End If
Next

Jenkins reset user password :

First stop the Jenkins service if you are already running jenkins

Go to the folder where jenkin’s config.xml file is stored (generally C:\jenkins\.jenkins\config.xml)

Open config.xml file using notepad++ or any text editor

Search for <useSecurity>true</useSecurity> and change that to <useSecurity>false</useSecurity>, Save the file.

re-start Jenkins service (using Java -jar jenkins.war in commandline)

You should not be seeing login prompt but directly accessing Jenkins home page when you type localhost:8080 in browser.

QTP integration with Jenkins

Create a “.vbs” file as below and save the file as “AOM.vbs” in C:\QTP\VBS folder.
In Jenkins create Job, Select ‘Execute Windows Batch Command’ in Build Step. Enter below command.
and then use that in Jenkins.
Note: To learn how to create a Jenkins job or how to start Jenkins – please refer create a Jenkins job and Run Jenkins locally in my site.
Below code is the “AOM.vbs” which is called by Jenkins Job.
Call QTP()
Public function QTP()
‘Create Quick test pro(QTP/UFT) object
Set objQTP = CreateObject(“QuickTest.Application”)
objQTP.Launch
objQTP.Visible = True
‘to open QTP Test
objQTP.Open “Test file path “, True
Set objResults= CreateObject(“QuickTest.RunResultsOptions”)
objResults.ResultsLocation = “Result path of qtp”  ‘Set the results location
‘to run qtp script results
objQTP.Test.Run objResults
‘to close QTP
objQTP.Test.Close
objQTP.Quit
End function

 

Summary on Web testing and mobile apps

Summary on Web testing and mobile apps

 

What is the difference between Web Layer (Presentation Tier) vs Application Layer (Logic Tier) vs Database Layer (Data Tier)

  1. Presentation Layer is the interface to outside world e.g. web site.
  2. Application Layer is a framework to create the interface to the Web site or Presentation Tier
  3. Database Layer is the database and associated logic needed to query details.

Web Layer (Presentation Tier)

Contains Virtual Machines and Physical Machines with OS can be Windows, UNIX or Linux

Contains Apache web Server, Apache tomcat, Sun Java Web Server or MS Internet Information Services (IIS)

Application Layer (Logic Tier)

Contains Virtual Machines and Physical Machines with OS can be Windows, UNIX or Linux

Contains Apache tomcat, Red Hat JBoss, BEA Web Logic or IBM WebSphere app server

Database Layer (Data Tier)

Contains Virtual Machines and Physical Machines with OS can be Windows, UNIX or Linux

Contains SQL or Oracle

 

How to Use WhatsApp in a Web Browser?

1) Go to web.whatsapp.com in a web browser on a computer.
2) Then, on your iOS/Android/Windows mobile phone, open WhatsApp and press the Options on top right corner side
3) then press WhatsApp Web from the options.
4) use iOS/Android/Windows mobile phone to scan the QR code shown on the browser on your computer.

Headless web browsers

headless web browsers or programs are used to stimulate the browsers where there is no GUI is used for browser actions,

If you want to do browser operations or collect data from UI, there programming concepts will be used.

headless web browsers are listed as below,

HtmlUnit – No GUI browser for Java programmers and its pure java implementation, Open source programs. JavaScript support/DOM emulated. mainly used for used for testing purposes or to retrieve information from web sites.

Spynner – Programmatic web browsing module having AJAX support for Python

Ghost – it is a webkit web client written in python. it is WebKit-based. JavaScript supported and Open source.

Watir-webdriver- it an open source Ruby library for automating tests. Complete JAva script Support via Browsers

Twill – Allows users to browse the Web using command-line interface . Supports automated testing on web applications and Open source.

Awesomium –  is Chromium-based. and supports JavaScript and provides HTML-powered interfaces.

ZombieJS – Open source headless testing using Node.js. JavaScript support/emulated DOM.

SimpleBrowser – Open source web browser engine designed for automation tasks. It is built for .Net framework and No JavaScript support.

Successful test automation

Successful test automation approach – simplest way to build cost effective automation frameworks which can give better ROI.

To maximize automation benefits in terms of best output and cost effectiveness is by implementing best matching framework based on your product line.

When an organization plans for cost effective automation frameworks, they can always consider 2 types of frameworks to start having maximized results with less effort and cost. Basically optimizing your efforts and get better ROI relatively in less time. 

  1. User acceptance testing – Find out a Behavioral driven development (BDD) framework – either cucumber selenium or Robot Framework. I will explain about Cucumber Selenium framework in this article and will explain the reason for including one BDD Framework for your automation. With the help of Business team, identify the most critical applications and most critical functionalities. Once you have BDD framework is ready, you can make sure it is running every day and sending our reports using Jenkins integration. Which will make your automation is ready to Join the DevOps culture. As most of the companies like google, amazon etc have already adopted DevOps while ago.
  1. Regression testing – You can follow any regular automation approach and adopting DevOps, continuous testing, monitoring and reporting. You can opt data driven or keyword or hybrid based on your expertise and application type. 

Let me give an example when you consider the type 1 which is BDD for acceptance testing. 

The very reason for BDD is that it can utilize business user’s collaboration in automation. This is the easiest way to get business team’s association on your automation efforts.

In my opinion, when you compare within different BDDs, cucumber has upper edge as opposed to Robot Framework as simplicity in it that will help business user involve easily.

As an e.g. cucumber frameworks need feature file and typical feature file example will have user scenarios as below,

Feature: Login Action

Scenario: User successfully Login to application with valid user id and password

            Given User is on application login prompt page

            When User enters User name and password

            Then Message displayed as Login is successful

Scenario Outline: data parameter test

            When User navigates to application search screen

            Then user input “<InputInfo>” as “InputVal”

Examples:

            | InputInfo |

            | ABC1  |

            | ABC2 |

In the above example you can see that a business user can simply follow the format for above 2 test cases which is written in feature file.

1)    Scenario

2)    Scenario Outline:

Later automation architect or engineer can develop test runner file and convert this as automation test scripts. Please refer link for more details about cucumber framework.

Benefits

  1. User collaboration
  2. Due to user collaboration, we can make sure all the critical application are automated
  3. Due to user collaboration, we can make sure all the critical features in every important applications are automated
  4. Due to Jenkins integration, you can make sure test can be scheduled for every day run, to make application as robust in terms of quality.

What is Block chain and cryptocurrency

What is Blockchain and cryptocurrency

To understand more about Blockchain and cryptocurrency, lets explain about current Banking system works.

Current Banking systems : when a user does an online or ATM transaction , the centralized banking ledger verifies and confirm the authenticity of accounts. For that work, every bank or third party sites charges to user.

Blockchain is not like banking centralized ledger but this software uses a decentralized ledger across the thousands of computers and every transactions are updated in each and every ledger. That means everyone is aware of the transactions rather than a centralized bank stores all information and charges for that. There are volunteering systems who does this effort of maintaining all ledgers for block chain. 

Block chain uses cryptography mythology to protect the ledger information so that no one can modify or destroy this.

Block chain concept is utilized by Cryptocurrency , online voting system, signature system, agreement systems etc.

To know more about top rated cryptocurrency names – please click here

Top 20 cryptocurrency 2017

Top 20 cryptocurrency 2017

bitcoin BTC
ethereum ETH
bitcoincash BCH
ethereumclassic ETC
litecoin LTC
einsteinium EMC2
dash DASH
ripple XRP
bitcoingold BTG
zcash ZEC
eos EOS
qtum QTUM
syscoin SYS
neo NEO
monero XMR
vertcoin VTC
iota IOT
powerledger POWR
omisego OMG
santiment SAN

How to Implement Maven TestNG Selenium Grid project

How to Implement Maven TestNG Selenium Grid project

High level Steps:
note: I will be adding detailed description for each steps below,

1. Install Eclipse Editior
2. In Eclipse, navigate to “Help >> Install New Software” then install Maven plugin.
3. Create a Maven project, which will have a pom.xml having the option to add all dependencies jars.
     like TestNG, XLS API jars, Reporting jars etc.
4. Once that is made, convert the project into TestNG project that process will generate another xml file. (name it as testng.xml)
5. Now in Eclipse project, create a package and class. Write your programs in it.
6. In the testng.xml, mention the class names which will be included while run.
7. Now right click on pom.xml file and run as “Maven test” which will download dependency jars and store to project and then run the program.

How to reverse an array in java

How to reverse an array in java

package arrays;
import java.util.Arrays;
 
public class ArrayReverse 
{  
 
public static void main(String[] args) 
{
 
int abc[] = {2, 3, 4, 5, 6,7, 8, 9, 10};
System.out.println(“Before Reverse, Arrays are like this : “+Arrays.toString(abc));
 
int temp;
int arrayloop = abc.length/2;
 
for (int i = 0; i < arrayloop; i++) 
{
temp = abc[i];
abc[i] = abc[abc.length-1-i];
abc[abc.length-1-i] = temp;
}
System.out.println(“After Reverse, Arrays are like this  : “+Arrays.toString(abc));
 
 
}
}

What is LinkedList and an example in Java?

What is LinkedList and an example in Java?

LinkedList is a linear collections of data elements.

     // Declaring LinkedList

       LinkedList<String> abclinked = new LinkedList<String>();

 

 

       abclinked.add(“a”);

       abclinked.add(“b”);

       abclinked.add(“c”);

   

system.out.println(“the linked list is ” + abclinked )

 

 

Linked Lists are Dynamic size and this feature certainly has an endge over Array. insertion and deletion also possible for Linked Lists which may not be done on Array which is already defined.

 

 

The downside of Linked Lists is that the extra memory space for a pointer is required with each element of the list. Also accessing elements are sequential manner starting from the first node is difficult.

How to reverse an array in java – Please click here

What is Thanksgiving?

What is Thanksgiving?

Thanksgiving is a national holiday of USA, Canada etc. In USA, it is celebrated on 4th Thursday of November. This day is to give thanks for the blessing of the harvest. Modern Thanksgiving has been changed a lot. Everyone are curious about the Thanksgiving deals 🙂 and it has been well celebrated as a holiday. Most of the organization gives holidays on 4th Thursday & Friday of November making it a long weekend. One can look for Thanksgiving recipes, deals, restaurants to make the holidays more enjoyable.

What is DevOps?

What is DevOps?

DevOps is the latest Development Methodology where Dev team and Operations team are collaborated for better productivity , Improving the time to market of the product releases etc.

DevOps uses lots of tool like Git for Version controlling , Jenkins for Integrating multiple DevOps tools, helps on better communications between Developers, Testers, Operations team etc. Selenium is another tool used as part of DevOps which is a test automation and Jenkins controls and manages Selenium execution.

Puppet is another DevOps tool used for configuration management. Configuration script will be stored in puppet server and puppet agents on various VMs or target machines will be communicating puppet master. There are build management tools like Maven will be part of DevOps. Nagios is another DevOps tool which monitors systems, servers, infrastructures to make sure the deployed applications are running on production servers without any issues.

For testing specific requirements, Jenkins will help to send notification to Tester when a build is available for testing. Jenkins will trigger the selenium scripts and after execution, the results will be send out to target users including developers, management teams etc.

 

How to use JMeter for login authentication?

How to use JMeter for login authentication?

Regular Expression Extractor is used to handle this situation. Following steps may be used,

  1. First find out the GET request where the authentication required & POST request that posts the credential to login
  2. The response from the GET request should have tokens which needs to be be extracted and sent as a parameter in the POST request.
  3. Add a Regular Expression Extractor to store these tokens and include the tokens as parameter in the POST request

What is polymorphism in java with example

What is polymorphism in java with example

polymorphism means one object can take multiple forms. lets explain this using a method poly() in java class.

steps:

  1. create a package polymorphismPkg in eclipse
  2. create a class polymorphismClass  in eclipse
  3. now write below code in the class polymorphismClass  

package polymorphismPkg;

public class polymorphismClass {

public static void main(String[] args) {

polymorphismClass obj1 = new polymorphismClass();

obj1.poly(1, 2);
obj1.poly(1, 2, 3);
obj1.poly(1, 22.11);

}

public static void poly(int a, int b)

{
System.out.println(“this is first method for polymorphism”);
}

public static void poly(int n, int b, int c)

{
System.out.println(“this is like first method but number of argument is different in signature “);

}

public static void poly(int n, double b)

{
System.out.println(“this is like first method but argument order is different in the signature “);

}

}

 

 

 

What is Inheritance in Java with example

What is Inheritance in Java with example

One class in Java can get the methods and properties from other class – this helps reducing the coding efforts , increase code reusability and maintainability.

e.g. 

public class classB extends classB {

}

in the above Java code, classB class gets the methods and properties from classA class.

steps,

  1. create a meaningful project and a package in eclipse
  2. create 2 classes classA and classB under the package (Codes are below)

Code for classA class as below:

package inheritancePkg;

public class classA {

public void A()

{

System.out.println(“this is from father class”);
}

}

 

Code for classB class as below:

package inheritancePkg;

public class classB extends classA // extends classA is inheritance from classA class to classB

// so we are able to write obj1.add() from father.

{
public static void main(String[] args)
{

classB obj1 = new classB();
obj1.A();
obj1.B();

}

public void B()

{
System.out.println(“this is from son class “);

}

}

 

Top 5 sql interview questions and answers

Top 5 sql interview questions and answers

What is DDL, DML, DCL, TCL in SQL ?

DDL refers to Data Definition language. DDL is used to create/modify the structure of Database. e.g. CREATE, ALTER, DROP statement..

DML refers to Data Manipulation language. DML is used to retrieve, modify, delete, insert and update data in database. e.g. SELECT, UPDATE, INSERT statement

DCL refers to Data Control Language. DCL is used to create roles, permissions, and control access to database. e.g. GRANT, REVOKE statement.

TCL refers to Transactional Control Language. TCL is used to manage different transactions occurring within a database. e.g COMMIT, ROLLBACK statement

What is the difference between UNION vs UNION ALL?

          UNION and UNION ALL are used for merging two tables which has similar structure.

the difference between UNION and UNION ALL is that the UNION removes the duplicates while merging tables but UNION ALL do not and retain all duplicates.

UNION is slower in performance  as it has additional task of removing duplicates which causes more time in  execution.

What is the difference between query and subquery?

A Query is a code written to fetch information from the database where as subquery is a query within another query.  Basically subquery is an inner query. SubQuery is designed to executed first. The result of subquery is passed on to the main query which then process using the subquery output.

What is a stored procedure?

Stored Procedure is a function having several SQL statements. Stored procedure can be executed to process all SQL statements in it.

What is the difference between WHERE clause and HAVING clause?

Both WHERE and HAVING are used for filtering out records based conditions. WHERE clause can only be applied for static non-aggregated column whereas HAVING for aggregated columns.
SELECT * FROM Cricketbat WHERE batlenght > 2 feet
SELECT COUNT(Cricketbat)
FROM Bat
GROUP BY Team
HAVING COUNT(Cricketbat) > 2 feet;

What is DELETE and TRUNCATE commands?

DELETE command is used to remove selected rows from a table. A WHERE clause can be used to specify the rows to be deleted

 

What is difference between select and select distinct

Top 5 Salesforce Interview questions

Top 5 Salesforce Interview questions

1. What is object in salesforce?

Objects are database tables used to store specific data. There are two types of objects. 1. Standard objects 2. Custom objects.

2. What are different types of relationship in salesforce?

There are two different types of relationship in salesforce.
1. Master detail relationship
2. Lookup relationship

3. What is a trigger in salesforce ?

A Trigger is a code that is executed before or after a record is inserted or updated.

4. How many reports can be added to salesforce dashboard ?

20

5. What is validation rule ?

While creating or modifying a record, based on certain conditions validation rule helps to display error message.

6. What are escalation rules in sales force?

Escalation rules can be created on sales force case object and based on priority escalation emails can be sent.

Top 20 sql interview questions and answers

Top 20 sql interview questions and answers

What is DDL, DML, DCL, TCL in SQL ?

DDL refers to Data Definition language. DDL is used to create/modify the structure of Database. e.g. CREATE, ALTER, DROP statement..

DML refers to Data Manipulation language. DML is used to retrieve, modify, delete, insert and update data in database. e.g. SELECT, UPDATE, INSERT statement

DCL refers to Data Control Language. DCL is used to create roles, permissions, and control access to database. e.g. GRANT, REVOKE statement.
TCL refers to Transactional Control Language. TCL is used to manage different transactions occurring within a database. e.g COMMIT, ROLLBACK statement

What is the difference between UNION vs UNION ALL?

          UNION and UNION ALL are used for merging two tables which has similar structure.

the difference between UNION and UNION ALL is that the UNION removes the duplicates while merging tables but UNION ALL do not and retain all duplicates.

UNION is slower in performance  as it has additional task of removing duplicates which causes more time in  execution.

What is the difference between query and subquery?

A Query is a code written to fetch information from the database where as subquery is a query within another query.  Basically subquery is an inner query. SubQuery is designed to executed first. The result of subquery is passed on to the main query which then process using the subquery output.

What is a stored procedure?

Stored Procedure is a function having several SQL statements. Stored procedure can be executed to process all SQL statements in it.

What is the difference between WHERE clause and HAVING clause?

Both WHERE and HAVING are used for filtering out records based conditions. WHERE clause can only be applied for static non-aggregated column whereas HAVING for aggregated columns.
SELECT * FROM Cricketbat WHERE batlenght > 2 feet
SELECT COUNT(Cricketbat)
FROM Bat
GROUP BY Team
HAVING COUNT(Cricketbat) > 2 feet;

What is DELETE and TRUNCATE commands?

DELETE command is used to remove selected rows from a table. A WHERE clause can be used to specify the rows to be deleted

What is TRUNCATE commands?

TRUNCATE is used for removing all rows from the table. Truncate operation cannot be reversed but but delete can be reversed/rollback.

What is Log Caches of SQL Server?

Log cache is a memory pool allocated to read/write the log pages. A group of cache pages are available in each log cache.

What is Inner join?

Inner join is used for returning rows when there is at least one match of rows between the tables used in the inner join query.

What is Full Join?

Full join is used for returning all the rows from the left side table and all the rows from the right side table.

What is Right Join?

Right join return all rows of Right hand side table and matched rows in left hand table. Non matched rows will show null values for left had side.
Simply, it returns all the rows from the right hand side table even though there are no matches in the left hand side table.

What is Left Join?

Left join return all rows of Left hand side table and matched rows in right hand table. Non matched rows will show null values for right hand side.

What are the SQL MAX() and MIN() Functions?

The MAX() function returns the largest value in the selected column.

The MIN() function returns the smallest value in the selected column.

SELECT MAX(Weight) AS LargestWeight

FROM CricketBats;

SELECT MIN(Weight) AS SmallestWeight

FROM CricketBats;

What are the SQL AVG(), COUNT() and SUM() Functions

The SQL AVG() function returns the average value in a numeric values column.

e.g.

SELECT AVG(Weight)

FROM Cricketbats;

The SQL COUNT() function returns the number of rows count that matches with a specified criteria.

SELECT COUNT(ProductID)

FROM Cricketbats;

The SQL SUM() function returns the total sum of a numeric values in a specific column.

e.g

SELECT SUM(Weight)

FROM Cricketbats;

What is SQL UPDATE Statement?

The SQL UPDATE statement is used for modifying the existing records in the selected table.

e.g as below:

UPDATE Users

SET UserContactName=’First name Last name’, City=’City1′

WHERE UserID=1;

What is SQL ORDER BY Keyword?

The purpose of ORDER BY keyword is to sort the results in ascending or descending order.

example for ascending order

SELECT * FROM Users

ORDER BY State ASC;

or

SELECT * FROM Users

ORDER BY State;

example for descending order

SELECT * FROM Users

ORDER BY State DESC;

What is a NULL Value in SQL?

NULL values can not be compared using operators =, <, or <> so we will need to use the “IS NULL” or “IS NOT NULL” operators instead.

SELECT UserName, UserContactName, Address FROM Persons

WHERE Address IS NULL;

SELECT UserName, UserContactName, Address FROM Persons

WHERE Address IS NOT NULL;

What is SQL INSERT INTO Statement?

The INSERT INTO statement is used for inserting new records to a table.

e.g.

INSERT INTO Users (UserName, UserContactName, UserAddress, City, ZipCode, State, Country)

VALUES (‘Test1′,’Firstname last name’,’address 1, 2,3 ‘,’City namer’,’99999′,’Statename’,’Countryname’);

What is SQL INSERT INTO SELECT Statement?

The SQL INSERT INTO SELECT statement is used for copying data from one table and then to insert to someother table.

e.g. as below:

INSERT INTO Users (UserName, UserCity, Country)

SELECT VendorName, VendorCity, Country FROM Vendors;

What is the SQL DELETE Statement?

The SQL DELETE statement is used for deleting the existing records in the selected table.

e.g as below:

DELETE FROM Users

WHERE UserName=’Firstname1 Lastname1′;

What is AND, OR and NOT Operators in SQL?

AND, OR, and NOT operators are combined with the WHERE clause to get the desired filtered results.

e.g

SELECT * FROM Users

WHERE State =’illinois’ AND City=’Chicago’;

SELECT * FROM Users

WHERE City=’Chicago’ OR City=’New York’;

SELECT * FROM Users

WHERE NOT State =’Chicago’;

What is SQL WHERE Clause?

SQL WHERE clause is used to filter records and its added as below

e.g.

SELECT States FROM Users where Usersgroup = ‘1’;

What is the SQL SELECT TOP Clause ?

The SELECT TOP clause is used to specify the number of records to return.

e.g as below:

SELECT TOP 100 * FROM Users;

How to send email at every build with Jenkins

Jenkins default configuration setting allows to send email notification for build failure, someone breaks the build etc.

  1. To send email for every build Install Email-ext plugin.
  2. Once it is installed, click on Configure System
  3. Then in “Jenkins Location” section & “Extended E-mail Notification” – enter your email ids
  4. In “E-mail Notification” section, enter the SMTP server name to “SMTP server”
  5. Click “Advanced”, Click “Use SMTP Authentication” to enter required information
  6. verify “Test configuration by sending test e-mail”
  7. Configure a project to send email at every build
  8. Click “Add post-build action” and then Click “Editable Email Notification”
  9. Go to  “Advanced Settings” to “Add Trigger”
  10. then Click “Always” , Save

 

Jenkins reset user password

Jenkins reset user password :

First stop the Jenkins service if you are already running jenkins

Go to the folder where jenkin’s config.xml file is stored (generally C:\jenkins\.jenkins\config.xml)

Open config.xml file using notepad++ or any text editor

Search for <useSecurity>true</useSecurity> and change that to <useSecurity>false</useSecurity>, Save the file.

re-start Jenkins service (using Java -jar jenkins.war in commandline)

You should not be seeing login prompt but directly accessing jenkins home page when you type localhost:8080 in browser.

To run Jenkins locally click here

Summary of SQL

What are the SQL MAX() and MIN() Functions?

The MAX() function returns the largest value in the selected column.

The MIN() function returns the smallest value in the selected column.

SELECT MAX(Weight) AS LargestWeight

FROM CricketBats ;

SELECT MIN(Weight) AS SmallestWeight

FROM CricketBats ;

What are the SQL AVG(), COUNT() and SUM() Functions

The SQL AVG() function returns the average value in a numeric values column.

e.g.

SELECT AVG(Weight)

FROM Cricketbats;

The SQL COUNT() function returns the number of rows count that matches with a specified criteria.

SELECT COUNT(ProductID)

FROM Cricketbats;

The SQL SUM() function returns the total sum of a numeric values in a specific column.

e.g

SELECT SUM(Weight)

FROM Cricketbats;

What is SQL UPDATE Statement?

The SQL UPDATE statement is used for modifying the existing records in the selected table.

e.g as below:

UPDATE Users

SET UserContactName=’First name Last name’, City=’City1′

WHERE UserID=1;

What is SQL ORDER BY Keyword

The purpose of ORDER BY keyword is to sort the results in ascending or descending order.

example for ascending order

SELECT * FROM Users

ORDER BY State ASC;

or

SELECT * FROM Users

ORDER BY State;

example for descending order

SELECT * FROM Users

ORDER BY State DESC;

What is a NULL Value in SQL?

NULL values can not be compared using operators =, <, or <> so we will need to use the “IS NULL” or “IS NOT NULL” operators instead.

SELECT UserName, UserContactName, Address FROM Persons

WHERE Address IS NULL;

SELECT UserName, UserContactName, Address FROM Persons

WHERE Address IS NOT NULL;

What is SQL INSERT INTO Statement?

The INSERT INTO statement is used for inserting new records to a table.

e.g.

INSERT INTO Users (UserName, UserContactName, UserAddress, City, ZipCode, State, Country)

VALUES (‘Test1′,’Firstname last name’,’address 1, 2,3 ‘,’City namer’,’99999′,’Statename’,’Countryname’);

What is SQL INSERT INTO SELECT Statement?

The SQL INSERT INTO SELECT statement is used for copying data from one table and then to insert to someother table.

e.g. as below:

INSERT INTO Users (UserName, UserCity, Country)

SELECT VendorName, VendorCity, Country FROM Vendors;

What is the SQL DELETE Statement?

The SQL DELETE statement is used for deleting the existing records in the selected table.

e.g as below:

DELETE FROM Users

WHERE UserName=’Firstname1 Lastname1′;

What is AND, OR and NOT Operators in SQL

AND, OR, and NOT operators are combined with the WHERE clause to get the desired filtered results.

e.g

SELECT * FROM Users

WHERE State =’illinois’ AND City=’Chicago’;

SELECT * FROM Users

WHERE City=’Chicago’ OR City=’New York’;

SELECT * FROM Users

WHERE NOT State =’Chicago’;

What is SQL WHERE Clause?

SQL WHERE clause is used to filter records and its added as below

e.g.

SELECT States FROM Users where Usersgroup = ‘1’;

What is the SQL SELECT TOP Clause ?

The SELECT TOP clause is used to specify the number of records to return.

e.g as below:

SELECT TOP 100 * FROM Users;

How to Use WhatsApp in a Web Browser?

Solution:

1) Go to web.whatsapp.com in a web browser on a computer.
2) Then, on your iOS/Android/Windows mobile phone, open WhatsApp and press the Options on top right corner side
3) then press WhatsApp Web from the options.
4) use iOS/Android/Windows mobile phone to scan the QR code shown on the browser on your computer.

Whatsapp tricks & cheats

How to locate important messages in Whatsapp easily?

Solution: WhatsApp selected messages can be starred.

How to do: Hold down the message and select the star icon on top of whatsapp.

Then You can see all your starred messages directly from your WhatsApp homescreen(View contact >> started message)

How to Use WhatsApp in a Web Browser

1) go to web.whatsapp.com in a web browser on a computer.

2) Then, on your iOS/Android/Windows mobile phone, open WhatsApp and press the Options on top right corner side

3) then press WhatsApp Web from the options.

4) use iOS/Android/Windows mobile phone to scan the QR code shown on the browser on your computer.

How to restrict the view on profile photo and personal status in Whatsapp

Solution: Settings > Account > Privacy and press the right sub-menus for profile photo, status etc.

How to turn it off / hide the Last seen time in WhatsApp?

Follow the path Settings > Account > Privacy > Last Seen

How to turn it off / hide the Read Receipts indication.

Settings > Account > Privacy > Read Receipts

How to reference an old message in WhatsApp and wanted to respond to that.

Hold down the message, then press the left arrow on Android/’reply’ button on iOS. Then type the message that you wanted to display as a response to the old message. This is helpful when multiple conversations are happening in a group chat and you want to respond to a particular message.

How to hide the WhatsApp message previews?

Solution: Go to Settings > Notifications > Show Preview, change the settings.

WhatsApp – how to format the text message

             -it-  => it

             *it* =>    it

            ~it~ =>   it

WhatsApp- Sending voice message instead of typing

            In Android phones – tap on mic icon in WhatsApp and record your voice or use Google’s speech to text engine

            In iPhone phones – tap on mic icon in WhatsApp and record your voice

   ...   ...   ...   ...   ...   ...  ...   ...   ...

How to use while loop in java

While loop in Java

import java.util.Scanner;

class WhileLoop {
public static void main(String[] args) {
int i;

Scanner input = new Scanner(System.in);
System.out.println(“Please input an integer value”);

while ((i = input.nextInt()) != 0) {
System.out.println(“You have entered ” + i);
System.out.println(“Please input an integer value”);
}

System.out.println(“Gone out of loop”);
}
}

How to implement Multiplication program in java

How to implement Multiplication program in java:

import java.util.Scanner;

class TableForMultiplication
{
public static void main(String args[])
{
int i, j;
System.out.println(“Enter an integer to display it’s multiplication table…”);
Scanner in = new Scanner(System.in);
i = in.nextInt();
System.out.println(“Multiplication table of “+i+” is :-“);

for ( j = 1 ; j <= 10 ; j++ )
System.out.println(i+”*”+j+” = “+(i*j));
}
}

What is AND, OR and NOT Operators in SQL

AND, OR, and NOT operators are combined with the WHERE clause to get the desired filtered results.

 

e.g SELECT * FROM Users

WHERE State =’illinois’ AND City=’Chicago’;

 

e.g SELECT * FROM Users

WHERE City=’Chicago’ OR City=’New York’;

 

e.g SELECT * FROM Users

WHERE NOT State =’Chicago’;

Breaking while loop in Java

import java.util.Scanner;

class TestingBreakWhileLoop {
public static void main(String[] args) {
int i;

Scanner input = new Scanner(System.in);

while (true) {
System.out.println(“Input an integer for this test program”);
i = input.nextInt();

if (i == 0) {
break;
}
System.out.println(“You have entered …  ” + i);
}
}
}

What is SQL ORDER BY Keyword

The purpose of ORDER BY keyword is used to sort the results in descending or ascending order

 

e.g SELECT * FROM Users

ORDER BY State DESC;

 

e.g SELECT * FROM Users

ORDER BY State ASC;

 

or

 

SELECT * FROM Users

ORDER BY State;

String reverse using java script split method

Assume given string ‘str’ value is “welcome”
function stringRev(str) {
var splitString = str.split(“”);// Use the reverse() method to reverse the array
var arrayReverse = splitString.reverse(); // equals to [“e”, “m”, “o”, “c”, “l”, “e”, “w”]

// Use join() method to join the elements of the array into a string as below in comments
var joinArray = arrayReverse .join(“”); //  [“e”, “m”, “o”, “c”, “l”, “e”, “w”] to “emoclew”

//Return the reversed string
return joinArray; // “emoclew”
}

stringRev(‘welcome’);

Differences between SQL and PL/SQL

PL/SQL is procedural language where s SQL is data oriented language.
PL/SQL purpose is to create applications but SQL is data manipulator and reviewer
PL/SQL executions works at block of code level while SQL execution is per statement at a time.
PL/SQL servers for building, formatting and display application screens but SQL sources data for that screens.
PL/SQL is procedural based and instructs database on how to do but SQL is declarative level which helps database on what to do.
PL/SQL purpose it to code program blocks, procedures, triggers, functions, and packages but SQL is used to code queries, DCL, DML and DDL statements
SQL can be subset of PL/SQL but PL/SQL can not be subset of SQL
 

 Popular databases or filesystems that uses SQL – Please click here

Defect priority and severity

Severity indicates the seriousness of the defect.
Severity types are Critical, Major, Moderate, Minor, Cosmetic
 
Priority indicates how quickly the defect needs to be fixed.
Priority types are High, Medium, Low.
 

Low Severity and Low Priority: A cosmetic error in a page which is not important to users.

High Severity and High Priority: An error in the login feature which does not allow user to login to application or a server error in the web application.

Low Severity and High Priority : The spelling mistakes that happens on the cover page or heading or title of an application.

High Severity and Low Priority: A page access error which page is rarely used by users.

What is Apex?

Apex is a programming language for salesforce (only)

    • Object Oriented Program, in which the data types have to defined.
    • Allows developers for flow execution in force.com platforms.
    • Enables developers to add business logic to most system events including button clicks, related record updates and visualforce pages.

Datatypes in Apex

  • Primitives

Apex primitives include the following datatypes.

  1. Integer
  2. Boolean
  3. Decimal
  4. Double
  5. Date
  6. Date Time
  7. Time
  8. String
  9. Long
  10. ID- Any valid salesforce.com Id.
  • sObjects
    • Any  object that can be stored in force.com platform database.
    • sObject variable unlike primitive variable refers to row of data in salesforce. That is a complete record as a variable.

What is Salesforce

Salesforce.com is an American cloud computing company.
Salesforce offers Software as a Service (SaaS) platform which helps in Customer Relationship Management.
It has a multi-tenant architecture and subscriptions.

 The following are the application clouds in Salesforce CRM.
1. Sales Cloud
2. Service Cloud
3. Marketing Cloud
4. Data cloud
5. App Cloud
6. Analytics Cloud
7. Community Cloud
Salesforce also offers Platform as a Service (PaaS) using Force.com sites.
People involved in Salesforce Implementation
1. End User ( Customer)
2. Administrator
3. Developer
4. Consultant
The following are the list of Salesforce Certifications.
1. Certified Administrator
2. Certified Advanced Administrator
3. Certified Sales Cloud Consultant
4. Certified Service Cloud Consultant
5. Certified Force.com Platform App Builder
6. Certified Force.com Platform Developer I
7. Certified Force.com Platform Developer II
8. Certified Technical Architect

Quick summary of QTP

QTP Quick summary:

Automation Frameworks

  1. Record and Playback.(Records application flow using QTP and playback)
  2. Data driven. (Data controls the automation flow thru a spreadsheet/datatable)
  3. Keyword driven. (Functions are mapped to Keywords)
  4. Hybrid approach (Combination of Keyword and data driven)
  5. Business process testing(BPT)
  6. Functional Decomposition

Types of QTP Licenses

  1. Seat
  2. Concurrent

How to record/playback

  1. Open QTP/UFT
  2. Click on File > New Test
  3. Click on the ‘Record’ button
  4. Perform actions on the application under test
  5. Click ‘Stop’ at the end of Recording session

Types of QTP/UFT Add-ins

  1. Activex Controls
  2. Web
  3. Visual Basic
  4. Java Add-in 8.2
  5. Terminal Emulator for mainframe
  6. .NET
  7. Oracle
  8. SAP Solutions
  9. PeopleSoft
  10. Siebel
  11. Web Services
  12. Etc

What is Record and Run Settings

  1. Record and Run Settings window will be triggered right after the recording started for a new Test or an existing test.
  2. user can see tabs based on the loaded Add-in
  3. user can provide Application under test input criteria (like url, application path etc)

What are the various Recording Modes

There are 3 recording modes available

  • Standard Recording: this is used for normal recording to capture user operations on the application.
  • Analog Recording: this will record the exact mouse and keyboard operations.
  • Low level Recording: this will record the mouse movements with respect to the coordinates on the AUT (application under test) Window.

What is Expert View

  • Shows the every user actions done on the  application in the form of codes.

Active Screen view

  • Every code generated after recording will show corresponding application screen on Active screen window. This will help tracking the code vs application objects.

Actions in QTP:

It’s the recorded set of codes which are logically meaningful to the application flow. E.g Customer creation flow.

Types of actions in QTP:

  • Non-reusable Action – action that can be called only in the test where it is stored, and can be used only once.
  • Reusable Action – action that can be called from any QTP/UFT test
  • External Action – reusable action stored with another QTP/UFT test. External actions are read-only.

Object Repository in QTP/UFT:

  • QTP stores the recorded object details in a specific location in the tool named the ‘Object Repository’
  • Browser – page – Objects are stored in a hierarchal manner.
  • Every object will have some listed set of methods as e.g button can perform Click using QTP codes.