https://www.geeksforgeeks.org/amazon-interview-experience-for-software-development-engineer-ii/
Wednesday, 28 April 2021
Thursday, 15 April 2021
interview prog
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Tste extends BB {
public static void main(String[] args) {
System.out.println(solution("Sat", 15));
}
public static String solution(String s, int K) {
List<String> list = new ArrayList<String>();
String[] arr = { "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun" };
list = Arrays.asList(arr);
int cuurtInd = list.indexOf(s);
String result = "";
if (K <= 0) {
return arr[0];
} else {
int div = K / arr.length;
int reminder = K % arr.length;
System.out.println(cuurtInd);
System.out.println(div);
System.out.println(reminder);
if (cuurtInd + reminder >= arr.length) {
int temp = (cuurtInd + reminder) % arr.length;
result = list.get(temp);
} else
result = list.get(cuurtInd + reminder);
}
return result;
}
}
Wednesday, 6 May 2020
io.restassured
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>4.3.0</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.1.0</version>
<scope>test</scope>
</dependency>
import org.testng.Assert;
import org.testng.annotations.Test;
import io.restassured.RestAssured;
import io.restassured.http.Header;
import io.restassured.http.Headers;
import io.restassured.http.Method;
import io.restassured.path.json.JsonPath;
import io.restassured.response.ResponseBody;
import io.restassured.specification.RequestSpecification;
public class NewTest {
String baseUrl = "https://restcountries.eu/rest/v2/name/";
public Response getResponse(String restApi) {
// Specify the base URL to the RESTful web service
RestAssured.baseURI = baseUrl;
// Get the RequestSpecification of the request that you want to sent
// to the server. The server is specified by the BaseURI that we have
// specified in the above step.
RequestSpecification httpRequest = RestAssured.given();
// Make a request to the server by specifying the method Type and the method
// URL.
// This will return the Response from the server. Store the response in a
// variable.
Response response = httpRequest.request(Method.GET, restApi);
return response;
}
@Test
public void TestsPositive() {
Response response = getResponse("/eesti");
// Now let us print the body of the message to see what response
// we have recieved from the server
String responseBody = response.getBody().asString();
System.out.println("Response Body is => " + responseBody);
// Get the status code from the Response. In case of
// a successfull interaction with the web service, we
// should get a status code of 200.
int statusCode = response.getStatusCode();
// Assert that correct status code is returned.
Assert.assertEquals(statusCode, 200, "Correct status code returned");
// Get all the headers. Return value is of type Headers.
// Headers class implements Iterable interface, hence we
// can apply an advance for loop to go through all Headers
// as shown in the code below
Headers allHeaders = response.headers();
// Iterate over all the Headers
for (Header header : allHeaders) {
System.out.println("Key: " + header.getName() + " Value: " + header.getValue());
}
// Reader header of a give name. In this line we will get
// Header named Content-Type
String contentType = response.header("Content-Type");
Assert.assertEquals(contentType, "application/json;charset=utf-8");
// Reader header of a give name. In this line we will get
// Header named Content-Encoding
String contentEncoding = response.header("Content-Encoding");
Assert.assertEquals(contentEncoding, "gzip");
// Retrieve the body of the Response
ResponseBody body = response.getBody();
// To check for sub string presence get the Response body as a String.
// Do a String.contains
String bodyAsString = body.asString();
// By using the ResponseBody.asString() method, we can convert the body
// into the string representation.
System.out.println("Response Body is: " + body.asString());
// convert the body into lower case and then do a comparison to ignore casing.
Assert.assertEquals(bodyAsString.contains("Estonian"), true, "Response body contains Estonian");
// First get the JsonPath object instance from the Response interface
JsonPath jsonPathEvaluator = response.jsonPath();
// Then simply query the JsonPath object to get a String value of the node
// specified by JsonPath: City (Note: You should not put $. in the Java code)
String city = jsonPathEvaluator.get("[0].demonym");
// Let us print the city variable to see what we got
System.out.println("City name received from Response " + city);
// Validate the response
Assert.assertEquals(city, "Estonian", "Correct city name received in the Response");
}
@Test
public void TestsNegative() {
Response response = getResponse("/wrongInput");
// Now let us print the body of the message to see what response
// we have recieved from the server
String responseBody = response.getBody().asString();
System.out.println("Response Body is => " + responseBody);
// Get the status code from the Response. In case of
// a successfull interaction with the web service, we
// should get a status code of 200.
int statusCode = response.getStatusCode();
// Assert that correct status code is returned.
Assert.assertEquals(statusCode, 404, "Correct status code returned");
}
}
Tuesday, 7 April 2020
Running jmeter scripts in FF & IE browser
windows:
Jmeter - bin folder - find out system.properties file and add below line
webdriver.gecko.driver=C:\\Users\\Kranthi\\Desktop\\AA-Perf\\new\\geckodriver.exe
yes you need to add Firefox config file in the Test plan of jmter - no modifications required!
for mac:
>> jmeter -Dwebdriver.gecko.driver=/path/to/geckodriver
----------------------------------
IE:
only one version driver works in IE:
IEDriver 2.53.1 version of 32 bit IE driver. No other versions will work.
Saturday, 21 March 2020
Appium - webAutomation
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>5.0.3</version>
</dependency>
package com.gitlab.appium;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.MobileElement;
import io.appium.java_client.android.AndroidDriver;
public class NewTest2 {
public static void main(String[] ards) throws MalformedURLException {
// Created object of DesiredCapabilities class.
DesiredCapabilities capabilities = new DesiredCapabilities();
// Set android deviceName desired capability. Set your device name.
capabilities.setCapability("deviceName", "J7AXPW");
capabilities.setCapability("udid", "J7AXPW");
// Set BROWSER_NAME desired capability. It's Android in our case here.
capabilities.setCapability("browserName", "Chrome");
// Set android VERSION desired capability. Set your mobile device's OS
// version.
capabilities.setCapability("platformVersion", "9.0");
// Set android platformName desired capability. It's Android in our case
// here.
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("noReset", true);
// Set ChromeDriver location
System.setProperty("webdriver.chrome.driver", "C:\\Users\\KKasthuri\\Downloads\\chromedriver_win32\\chromedriver.exe");
AppiumDriver<MobileElement> driver = null;
try {
driver = new AndroidDriver<MobileElement>(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);
} catch (MalformedURLException e) {
System.out.println(e.getMessage());
}
// Open URL in Chrome Browser
driver.get("http://www.google.com");
driver.quit();
}
}
Friday, 6 March 2020
Program - Given an array A[] and a number x, check for pair in A[] with sum as x
hasArrayTwoCandidates (A[], ar_size, sum)
1) Sort the array in non-decreasing order.
2) Initialize two index variables to find the candidate
elements in the sorted array.
(a) Initialize first to the leftmost index: l = 0
(b) Initialize second the rightmost index: r = ar_size-1
3) Loop while l < r.
(a) If (A[l] + A[r] == sum) then return 1
(b) Else if( A[l] + A[r] < sum ) then l++
(c) Else r--
4) No candidates in whole array - return 0
// Java program to check if given array // has 2 elements whose sum is equal // to the given value import java.util.*; class GFG { // Function to check if array has 2 elements // whose sum is equal to the given value static boolean hasArrayTwoCandidates(int A[], int arr_size, int sum) { int l, r; /* Sort the elements */ Arrays.sort(A); /* Now look for the two candidates in the sorted array*/ l = 0; r = arr_size - 1; while (l < r) { if (A[l] + A[r] == sum) return true; else if (A[l] + A[r] < sum) l++; else // A[i] + A[j] > sum r--; } return false; } // Driver code public static void main(String args[]) { int A[] = { 1, 4, 45, 6, 10, -8 }; int n = 16; int arr_size = A.length; // Function calling if (hasArrayTwoCandidates(A, arr_size, n)) System.out.println("Array has two " + "elements with given sum"); else System.out.println("Array doesn't have " + "two elements with given sum"); } }
Tuesday, 3 March 2020
Why WebDriver driver = new ChromeDriver() ?
ChromeDriver driver = new ChromeDriver(); // Lot of methods from parent calss RemoteWebDriver
vs
WebDriver driver = new ChromeDriver(); // we can access only few methods from WebDriver Interface & SerchContext Interface
Ex: Advantage of interface
Public List getList(){
return new ArrayList<String>()
}
We can return any implemented class for any method which has return type as interface
