Sunday, October 31, 2021

Genpact Interview Question for Automation Test engineer (2 to 5 year Experience 2021)

 1)Tell Me about your self

2) WAP to reverse String

3) WAP to reverse each world in String.

4) WAP to reverse sentence

5) WAP to count each Occurrence of String

6) What is constructor

7) What is static member in java

8) What is overriding and rules of overriding

9) What is private keyword.

10) What is Singleton pattern

11) What is an  Interface and how many types of Interface is available in collection.

12) What hard Assert and Soft assert in selenium

13) How to handle multiple window in selenium

14) How to handle frame in selenium

15) What is Wait statement in selenium

16) How many types of exception is there in selenium.

17) What is System. Out.Println()

18) What is Authorization and Authentication


UST Global Interview Question for Automation Test engineer (2 to 5 year Experience 2021)

1)Tell me about your roles and responsibilities in your current project. 

2) Which framework you have used. Can you explain. 

3) Which built tools do u have used and explain maven life cycle. 

Ans:- 

 mvn clean: Cleans the project and removes all files generated by the previous build.

 mvn compile: Compiles source code of the project.

 mvn test-compile: Compiles the test source code.

 mvn test: Runs tests for the project.

 mvn package: Creates JAR or WAR file for the project to convert it into a distributable format.

 mvn install: Deploys the packaged JAR/ WAR file to the local repository.

 mvn deploy: Copies the packaged JAR/ WAR file to the remote repository after compiling, running tests and building the project. 4) Have you used Git. What conflict and how to resolve. 

Ans;- A merge conflict is an event that takes place when Git is unable to automatically resolve differences in code between two commits. Git can merge the changes automatically only if the commits are on different lines or branches.

       https://stackoverflow.com/questions/161813/how-to-resolve-merge-conflicts-in-a-git-repository

5) What is Head command. 

Ans:- The term HEAD refers to the current commit you are viewing.

6) What is POM & What is page factory. 

7) What is the difference between Absolute Xpath and Relative Xpath. 

8)What is Fluent Wait? 

9) What is javaScriptExecuter ?

10) How to enter value in text fields without Sendkeys 

Ans:- driver.get("http://www.qajudge.com/"); WebElement cssValue= driver.findElement(By.xpath(".//*[@id='s']")); JavascriptExecutor jse = (JavascriptExecutor) driver; jse.executeScript("document.getElementById('s').value='Virender Testing sending'");

https://stackoverflow.com/questions/26955263/is-there-any-other-waynot-sendkeys-to-enter-text-into-textbox-using-selenium-w

11) What is default the constructor and parameterize constructor. 

12) WAP to find duplicate char in String. 

13) Why java is not purely oop. 

Thursday, October 7, 2021

RestAssured Examples

 package RestAssuredNews.RestAssuredNewApp;

import org.testng.Assert;


import org.testng.annotations.Test;


import io.restassured.config.LogConfig;

import io.restassured.http.Header;

import io.restassured.http.Headers;

import io.restassured.path.json.JsonPath;

import io.restassured.response.Response;


import static io.restassured.RestAssured.*;

import static io.restassured.matcher.RestAssuredMatchers.*;

import static org.hamcrest.Matchers.*;


import java.util.Collections;

import java.util.HashMap;

import java.util.HashSet;

import java.util.List;

import java.util.Set;


import static org.hamcrest.MatcherAssert.assertThat;


public class GetAutomationTest {

public void testjava(){

}

@Test(enabled=false)

public void valiateStatusCode(){

given().

      baseUri("https://api.postman.com")

      .header("x-api-key","PMAK-606a8c2da5c08a004dfd060f-c7cdd622c690177cce465538021e349288").

when().

     get("/workspaces").

then()

.log().all()

.assertThat()

.statusCode(200);

}

@Test(enabled=false)

public void validate_response_body(){

given().baseUri("https://api.postman.com")

.header("x-api-key", "PMAK-606a8c2da5c08a004dfd060f-c7cdd622c690177cce465538021e349288")

.when().get("/workspaces")

.then().log().all()

.assertThat().statusCode(200)

.body("workspaces.name",hasItems("APITesting","MyMockServer","My Workspace2","Team Workspace",

"myworkspace")

,"workspaces.type",hasItems("team","team","team","team"),

"workspaces[0].name",equalTo("APITesting")

,"workspaces[0].name",is(equalTo("APITesting"))

,"workspaces.size()",equalTo(5)

,"workspaces.name",hasItem("APITesting"));

}

   @Test(enabled=false)

   public void extract_response(){

  Response res= given().baseUri("https://api.postman.com")

   .header("x-api-key", "PMAK-606a8c2da5c08a004dfd060f-c7cdd622c690177cce465538021e349288")

   .when()

    .get("/workspaces")

    .then()

    .assertThat()

    .statusCode(200)

    .extract().response();

  System.out.println("Response = " + res.asString());

   }

   

   @Test(enabled=false)

   public void extract_single_value_from_response(){

String name=  given().baseUri("https://api.postman.com")

   .header("x-api-key", "PMAK-606a8c2da5c08a004dfd060f-c7cdd622c690177cce465538021e349288")

   .when()

    .get("/workspaces")

    .then().assertThat()

    .statusCode(200)

    .extract()

    .response().path("workspaces[0].name");

System.out.println("workspace name = " + name);

// JsonPath.from(res).getString("workspaces[0].name");

//System.out.println("workspace name = " + JsonPath.from(res).getString("workspaces[0].name"));

 

 

   //System.out.println("workspace name = " + res.path("workspaces[0].name"));

//JsonPath js=new JsonPath(res.asString());

// System.out.println("workspace name = " + js.getString("workspaces[0].name"));

 

   }

   

   @Test(enabled=false)

   public void hamcrest_assert_on_extracted_response(){

   String name =given().baseUri("https://api.postman.com")

   .header("x-api-key", "PMAK-606a8c2da5c08a004dfd060f-c7cdd622c690177cce465538021e349288")

   .when()

    .get("/workspaces")

    .then()

    .assertThat()

    .statusCode(200)

    .extract()

    .response().path("workspaces[0].name");

 

   System.out.println("workspace name=" + name);

  // assertThat(name,equalTo("APITesting"));

   Assert.assertEquals(name, "APITesting");

   

   }

   

   @Test(enabled=false)

   public void validate_response_body_hamcrest_learning(){

   given()

   .baseUri("https://api.postman.com")

   .header("x-api-key", "PMAK-606a8c2da5c08a004dfd060f-c7cdd622c690177cce465538021e349288")

   .when()

    .get("/workspaces")

    .then()

    .assertThat()

    .statusCode(200)

    .body("workspaces.name",contains("APITesting","MyMockServer","My Workspace2",

    "Team Workspace","myworkspace"),"workspaces.name",is(not(emptyArray()))

    ,"workspaces.name",hasSize(5)

    //,"workspaces.name",everyItem(startsWith("My"))

   

    ,"workspaces[0]",hasKey("id")

    ,"workspaces[0]",hasValue("APITesting")

    ,"workspaces[0]",hasEntry("id","1f44f446-31d0-429e-8e92-ed6fdb17934b")

    ,"workspaces[0]",not(equalTo(Collections.EMPTY_MAP))

    ,"workspaces[0].name",allOf(startsWith("API"),containsString("Testing")));

   

   }

   

   @Test(enabled=false)

   public void request_response_logging(){

   given()

    .baseUri("https://api.postman.com")

    .header("x-api-key", "PMAK-606a8c2da5c08a004dfd060f-c7cdd622c690177cce465538021e349288")

    .config(config.logConfig(LogConfig.logConfig().enableLoggingOfRequestAndResponseIfValidationFails()))

    //.log().ifValidationFails()

        .when()

        .get("/workspaces")

        .then()

        //log().ifValidationFails().

        .assertThat()

        .statusCode(201);

   

   }

   

   @Test(enabled=false)

   public void log_blacklist_header(){

   Set<String> headers=new HashSet<String>();

   headers.add("x-api-key");

   headers.add("Accept");

   given()

    .baseUri("https://api.postman.com")

    .header("x-api-key", "PMAK-606a8c2da5c08a004dfd060f-c7cdd622c690177cce465538021e349288")

    .config(config.logConfig(LogConfig.logConfig().blacklistHeaders(headers)))

    .log().all()

    .when()

    .get("/workspaces")

    .then()

    .assertThat()

    .statusCode(200);

   }

   

   @Test(enabled=false)

   public void multiple_headers(){

   HashMap<String,String> headers=new HashMap<String,String>();

   headers.put("header", "value1");

   headers.put("x-mock-match-request-headers", "header");

   given()

    .baseUri("https://5e6acb5c-eb77-40a9-ac40-7dfc335f8288.mock.pstmn.io").

   // headers(headers).

    header("multiValueHeader","value1","value2").

    log().headers().

   when() 

    .get("/get")

    .then()

        .log().all()

        .assertThat()

        .statusCode(200);

  }

   

   

   @Test(enabled=false)

   public void multi_value_in_the_request(){

   Header header1=new Header("multiValueHeader","value1");

   Header header2=new Header("multiValueHeader","value2");

   

   Headers headers=new Headers(header1,header2);

   

   given().

    baseUri("https://5e6acb5c-eb77-40a9-ac40-7dfc335f8288.mock.pstmn.io")

    .headers(headers)

    .log().headers().

   when().

    get("/get")

    .then()

    .log()

    .all()

    .assertThat()

    .statusCode(200);

      } 

   

   @Test(enabled=false)

   public void asser_response_headers(){

   HashMap<String,String> headers=new HashMap<String,String>();

   headers.put("header","value1");

   headers.put("x-mock-match-request-headers","header");

   given()

    .baseUri("https://5e6acb5c-eb77-40a9-ac40-7dfc335f8288.mock.pstmn.io").

    headers(headers).

   

    when()

    .get("/get").

    then().

    log().all().

    assertThat()

    .statusCode(200).

    //header("responseHeader","resValue1").

            //header("X-RateLimit-Limit","120");

    headers("responseHeader","resValue1","X-RateLimit-Limit","120");

   }  




  @Test(enabled=false)

  public void extract_response_headers(){

  HashMap<String,String> headers=new HashMap<String,String>();

  headers.put("header","value1");

   headers.put("x-mock-match-request-headers","header");

   Headers extractedheaders=given()

    .baseUri("https://5e6acb5c-eb77-40a9-ac40-7dfc335f8288.mock.pstmn.io").

    headers(headers).

    when().get("/get").

    then().

    log().all()

    .assertThat()

    .statusCode(200)

    .extract()

    .headers();

   for(Header header:extractedheaders){

   System.out.println("header name = " + header.getName() + " ,");

   System.out.println("header value = " + header.getValue());

   }

/*

System.out.println("header name = " + extractedheaders.get("responseHeader").getName());

System.out.println("header value = " + extractedheaders.get("responseHeader").getValue());

System.out.println("header value = " + extractedheaders.getValue("responseHeader"));

*/

  }

  

  @Test

  public void extract_multivalue_response_header(){

  HashMap<String,String> headers=new HashMap<String,String>();

  headers.put("header","value1");

   headers.put("x-mock-match-request-headers","header");

   Headers extractedheaders=given()

    .baseUri("https://5e6acb5c-eb77-40a9-ac40-7dfc335f8288.mock.pstmn.io").

    headers(headers).

    when().get("/get").

    then().

    //log().all()

    assertThat()

    .statusCode(200)

    .extract()

    .headers();

   List<String> values=extractedheaders.getValues("multiValueHeader");

   for(String value:values){

   System.out.println(value);

   }    }}

 


 

   

   


Saturday, May 1, 2021

How to Handle bootstrap drop down and make reusable method add in framework

 package com.seleniumpractice1;


import java.util.List;

import java.util.concurrent.TimeUnit;


import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.chrome.ChromeDriver;


import com.businesslib.Helper;


public class BoostrapTest extends Helper{


public static void main(String[] args) {

/*

System.setProperty("webdriver.chrome.driver","D:\\driver1016\\driver\\chromedriver.exe");

WebDriver driver=new ChromeDriver();

driver.get("https://www.spicejet.com/");

driver.manage().window().maximize();

driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);

driver.findElement(By.xpath("//input[@id='ctl00_mainContent_ddl_originStation1_CTXT']")).click();

List<WebElement> list=driver.findElements(By.xpath("//div[@id='glsctl00_mainContent_ddl_originStation1_CTNR']//li"));

for(int i=0;i<list.size();i++){

String str=list.get(i).getText();

System.out.println(str);

if(str.equalsIgnoreCase("Aurangabad (IXU)")){

list.get(i).click();

break;

}

}

*/

Helper.lauchApp();

Helper.selectCity("//input[@id='ctl00_mainContent_ddl_originStation1_CTXT']","//div[@id='glsctl00_mainContent_ddl_originStation1_CTNR']//li","Aurangabad (IXU)");

//Helper.selectCity(xpath1, xpath2, city);


}


}

==============================================
package com.businesslib;

import java.util.List;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.FluentWait;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.support.ui.Wait;
import org.openqa.selenium.support.ui.WebDriverWait;

public class Helper {
public static WebDriver driver;
/**
* This Method is used to launch app
*/
public static void lauchApp(){
System.setProperty("webdriver.chrome.driver","D:\\driver1016\\driver\\chromedriver.exe");
driver=new ChromeDriver();
//driver.get("http://demo.guru99.com/test/newtours/register.php");
driver.get("https://www.spicejet.com/");
driver.manage().window().maximize();
}


public static void selectCity(String xpath1,String xpath2,String city){
driver.findElement(By.xpath(xpath1)).click();
List<WebElement> listofStr=driver.findElements(By.xpath(xpath2));
for(int i=0;i<listofStr.size();i++){
String str=listofStr.get(i).getText();
if(str.equalsIgnoreCase(city)){
listofStr.get(i).click();
break;
}
}
}

Saturday, March 27, 2021

How to create Re-usable Method for Verify getText(),Click()and SendKeys() and Add your framework

Step1:- Create Helper class  

package com.businesslib;


import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.chrome.ChromeDriver;


public class Helper {

public static WebDriver driver;

/**

* This Method is used to launch app

*/

public static void lauchApp(){

System.setProperty("webdriver.chrome.driver","D:\\driver1016\\driver\\chromedriver.exe");

driver=new ChromeDriver();

driver.get("https://in.yahoo.com/");

driver.manage().window().maximize();

}

/**

* This Method is used to verify the title of page

* @param ExpectedTite is String Type

*/

public static String verifyTiteOfPage(String expectedtitle){

String titleOfPage=driver.getTitle();

System.out.println("TitleOf Page::" + titleOfPage);

if(titleOfPage.equals(expectedtitle)){

System.out.println("Title is matched");

}

else{

System.out.println("Title is not matched");

}

return titleOfPage;


}

/**

* This Method is used to maxmize browser

*/

public static void maxmizeBroser(){

driver.manage().window().maximize();

}

/**

* This Method is used to getCurrentUrl

*/

public static String getcurrentUrl(){

String getcurrenturl=driver.getCurrentUrl();

System.out.println("getcurrenturl:::" + getcurrenturl);

return getcurrenturl;

}

/**

* This Method is used to getpageSourse

*/


public static String getpageSourse(){

String getpageSourse=driver.getPageSource();

System.out.println("getpageSourse:::" + getpageSourse);

return getpageSourse;

}

/**

* This Method is used to getTitleofpage

*/


public static String gettitleOfpage(){

String titleofpage=driver.getTitle();

System.out.println("titleofpage::" + titleofpage);

return titleofpage;

}

/**

* This Method is used to close the browser

*/

public static void closeBrowser(){

driver.close();

}

/**

* This Method is used to capture text on webpage

*/

public static String getTextMessage(String xpath) throws InterruptedException{

Thread.sleep(2000);

String gettext=driver.findElement(By.xpath(xpath)).getText();

System.out.println(gettext);

return gettext;

}

/**

* This Method is used to click on webpage

*/

public static void clickOnPage(String xpath){

driver.findElement(By.xpath(xpath)).click();

}

/**

* This Method is used to Enter vale in text Field

*/

public static void enterValueInTextField(String xpath,String str){

driver.findElement(By.xpath(xpath)).sendKeys(str);

}

public static String verifyStringText(String xpath,String expcted){

String actualValue=driver.findElement(By.xpath(xpath)).getText();

if(expcted.equals(actualValue)){

System.out.println("Text is Matched & Test case passed");

}

else{

System.out.println("Text is Matched & Test case passed");

}

return actualValue;

}


}

=======================================================================

Step 2:- Test Runner class 

package com.seleniumpractice;


import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.chrome.ChromeDriver;


import com.businesslib.Helper;


public class VerifyErrorMessage extends Helper {


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

/*

System.setProperty("webdriver.chrome.driver","D:\\driver1016\\driver\\chromedriver.exe");

WebDriver driver=new ChromeDriver();

driver.get("https://in.yahoo.com/");

driver.manage().window().maximize();

*/

Helper.lauchApp();

Helper.clickOnPage("//span[contains(text(),'Sign in')]");

//driver.findElement(By.id("login-username")).sendKeys("mohit123");

Helper.enterValueInTextField("//input[@id='login-username']","mohit123");

//driver.findElement(By.id("login-signin")).click();

Helper.clickOnPage("//input[@id='login-signin']");

//String errorMessage=driver.findElement(By.id("username-error")).getText();

//System.out.println("errorMessage::" + errorMessage);

//WebElement element=driver.findElement(By.id("username-error"));

Helper.getTextMessage("//*[@id='username-error']");

Helper.verifyStringText("//*[@id='username-error']","Sorry, we don't recognise this email address.");

}


}








Q) How To Find Duplicate Characters In A String In Java?

Step1:- Creating a HashMap containing char as key and it's occurrences as value. Step2:- Converting given string to char array. Step3:- ...