Thursday 6 May 2021

Find max num in an array

 def maximumSubarray(nums):

  localMax = globalMax = nums[0]
  for ind, num in enumerate(nums[1:]):
    localMax = max(num, num + localMax)
    globalMax = max(localMax, globalMax)

  return globalMax


nums = [-2, 1, -3, 4, -1, 2, 1, -5, 4]
print('Maximum sum subarray ->' ,maximumSubarray(nums))
# OUTPUT: Maximum sum subarray -> 6

Wednesday 28 April 2021

amazon

 https://www.geeksforgeeks.org/amazon-interview-experience-for-software-development-engineer-ii/

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>




package eu.restcountries.restautomation;

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.Response;
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

FF:

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"); 
 } 
}