Tuesday 22 October 2019

setup proxy for seetest devices


package sample.Seetest;
import io.appium.java_client.ios.IOSDriver;
import io.appium.java_client.ios.IOSElement;
import io.appium.java_client.remote.MobileBrowserType;
import org.testng.annotations.*;
import org.openqa.selenium.By;
import org.openqa.selenium.Cookie;
import org.openqa.selenium.Keys;
import org.openqa.selenium.ScreenOrientation;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.Iterator;
import java.util.Set;

public class LocaliOSTest {

    private String accessKey = "eyJ4cC51Ijo3NTgzMzczLCJ4cC5wIjo3NTgzMzcyLCJ4cC5tIjoiTVRVM01UYzFNakEyTkRJd05BIiwiYWxnIjoiSFMyNTYifQ.eyJleHAiOjE4ODcxMTIwOTAsImlzcyI6ImNvbS5leHBlcml0ZXN0In0.R47MeNXeUeRGukUeRnBMQxiwjjgwVl-XYhv2PlMrrZ0";
    protected IOSDriver<IOSElement> driver = null;
    DesiredCapabilities dc = new DesiredCapabilities();

    @BeforeTest
    public void setUp() throws MalformedURLException {
        dc.setCapability("testName", "SHIVA Quick Start iOS Browser Demo ");
        dc.setCapability("accessKey", accessKey);
        dc.setCapability("deviceQuery", "@os='ios' and @category='PHONE'");
        dc.setBrowserName(MobileBrowserType.SAFARI);
        dc.setCapability("cleanSession","true"); 
        dc.setCapability("ensureCleanSession","true");

        
        driver = new IOSDriver<>(new URL("https://cloud.seetest.io/wd/hub"), dc);
       
        
    }

    @Test
    public void quickStartiOSBrowserDemo() {
    
     
     driver.get("https://www.autozone.com/");
     
    Set<Cookie> cookies = driver.manage().getCookies();
    
        System.out.println("Cookies size "+cookies.size());

    
    Iterator<Cookie> itr = cookies.iterator();

    while (itr.hasNext()){
    Cookie c = itr.next();
        System.out.println("Cookies name "+c.getName());
        driver.manage().deleteCookie(c);
        System.out.println("Deleted Cookies name "+c.getName());

    }
    
        driver.rotate(ScreenOrientation.PORTRAIT);
       
       // new WebDriverWait(driver, 10).until(ExpectedConditions.presenceOfElementLocated(By.xpath("//*[@id='siteLogo']")));
        //driver.findElement(By.xpath("//*[@id='siteLogo']")).click();
        //new WebDriverWait(driver, 10).until(ExpectedConditions.presenceOfElementLocated(By.xpath("(//*[@value='Log In'])[1]")));

  

    }

    @AfterTest
    public void tearDown() {
        System.out.println("Report URL: "+ driver.getCapabilities().getCapability("reportUrl"));
        driver.quit();
    }
}

Monday 4 April 2016

Appium Sample Run Code

package com.sample;
import java.io.File;


import java.net.MalformedURLException;
import java.net.URL;
import java.util.HashMap;
import java.util.concurrent.TimeUnit;

import org.junit.After;
import org.junit.Before;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.android.AndroidDriver;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.Test;

@Test
public class AppiumExampleTest {
WebDriver driver ;
public  void aSa() throws MalformedURLException{

    File appDir = new File("/Users/siva/git");
    File app = new File(appDir, "Sample.apk");

    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability("BROWSER_NAME","Android");
    capabilities.setCapability("VERSION","Android");
    capabilities.setCapability("device","Android");

 
    //mandatory capabilities
    capabilities.setCapability("deviceName","Android");
    capabilities.setCapability("platformName","Android");
capabilities.setCapability("appPackage", "com.****.***");
    capabilities.setCapability("appActivity", "com.jhonsoned.aqua.login.viewcontroller.LoginActivity");



    //other caps
    capabilities.setCapability("app", app.getAbsolutePath());
     driver =  new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
 

 
}
}


Note :

AppActivty and appPackge will come automatically once u have chosen path in Appium server




Tuesday 16 February 2016

To verify whether file is downloaded or not in selenium webdriver

package com.sample;

import java.io.File;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

public class FileDownloadVerify {

private WebDriver driver;

private static String downloadPath = "D:\\siva";
private String URL="http://all-free-download.com/free-photos/download/in_love_cosmos_flower_garden_220378.html";

@BeforeClass
public void testSetup() throws Exception{
driver = new FirefoxDriver(firefoxProfile());
driver.manage().window().maximize();
}

@Test
public void example_VerifyExpectedFileName() throws Exception {
driver.get(URL);
   driver.findElement(By.xpath(".//*[@id='detail_content']/div[2]/a")).click();
 
   Thread.sleep(10000);
   File getLatestFile = getLatestFilefromDir(downloadPath);
   String fileName = getLatestFile.getName();
   Assert.assertTrue(fileName.equals("in_love_cosmos_flower_garden_220378.zip"), "Downloaded file name is not matching with expected file name");
}


@AfterClass
public void tearDown() {
driver.quit();
}
public static FirefoxProfile firefoxProfile() throws Exception {

FirefoxProfile firefoxProfile = new FirefoxProfile();
firefoxProfile.setPreference("browser.download.folderList",2);
firefoxProfile.setPreference("browser.download.manager.showWhenStarting",false);
firefoxProfile.setPreference("browser.download.dir",downloadPath);
firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk","application/zip");

return firefoxProfile;
}
public boolean isFileDownloaded(String downloadPath, String fileName) {
boolean flag = false;
    File dir = new File(downloadPath);
    File[] dir_contents = dir.listFiles();
   
    for (int i = 0; i < dir_contents.length; i++) {
        if (dir_contents[i].getName().equals(fileName))
            return flag=true;
            }

    return flag;
}

private boolean isFileDownloaded_Ext(String dirPath, String ext){
boolean flag=false;
    File dir = new File(dirPath);
    File[] files = dir.listFiles();
    if (files == null || files.length == 0) {
        flag = false;
    }
   
    for (int i = 1; i < files.length; i++) {
    if(files[i].getName().contains(ext)) {
    flag=true;
    }
    }
    return flag;
}

private File getLatestFilefromDir(String dirPath){
    File dir = new File(dirPath);
    File[] files = dir.listFiles();
    if (files == null || files.length == 0) {
        return null;
    }

    File lastModifiedFile = files[0];
    for (int i = 1; i < files.length; i++) {
       if (lastModifiedFile.lastModified() < files[i].lastModified()) {
           lastModifiedFile = files[i];
       }
    }
    return lastModifiedFile;
}
}

Sunday 18 May 2014

Zoom in/out page content selenium webdriver

WebElement Sel= driver.findElement(By.tagName("html"));
sel.sendKeys(Keys.chord(Keys.CONTROL, Keys.ADD));
reset the zoom back to 100%:
html.sel(Keys.chord(Keys.CONTROL, "0"));

Friday 21 March 2014

Random

WebDriver driver=new FirefoxDriver();
driver.get("http://www.donebynone.com/?gclid=CLXXyPaikb0CFedV4godlE0Azw");
driver.manage().window().maximize();

Random randomGenerator = new Random();
java.util.List<WebElement> ll=driver.findElements(By.xpath("html/body/header/div[4]/div[1]/nav/section/ul/li"));
int la=ll.size();
System.out.println(la);
int ran1=randomGenerator.nextInt(la)+1;

System.out.println("ran1..."+ran1);
java.util.List<WebElement> l=driver.findElements(By.xpath("html/body/header/div[4]/div[1]/nav/section/ul/li[1]/ul/li[2]"));
int a=l.size();


System.out.println("szeTwo"+la);
System.out.println("szeOne"+a);

int ran2=randomGenerator.nextInt(a)+3;

System.out.println("ran2..."+ran2);
WebElement web=driver.findElement(By.xpath("html/body/header/div[4]/div[1]/nav/section/ul/li["+ran1+"]/ul/li["+ran2+"]/a"));
// WebElement web=driver.findElement(By.xpath("html/body/header/div[4]/div[1]/nav/section/ul/li[5]/ul/li[4]/a"));
WebElement web1=driver.findElement(By.xpath("html/body/header/div[4]/div[1]/nav/section/ul/li[1]"));
//WebElement web=driver.findElement(By.xpath("html/body/header/div[4]/div[1]/nav/section/ul/li[5]/ul/li[4]/a"));
Actions act=new Actions(driver);
act.moveToElement(web1).build().perform();
Thread.sleep(5000);
web.click();
System.out.println("over");

Monday 17 February 2014

Reading and writing data from Excel using Selenium Web driver

This code will work for reading data from excel sheet :

import java.io.IOException;
import org.testng.annotations.Test;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
@Test
public class Xlsheet {
public void asd() throws IOException, BiffException, Throwable{
Workbook workbook = Workbook.getWorkbook(new File ("FilePath"));
System.out.println(workbook);
Sheet sheet = workbook.getSheet("Sheet1");
System.out.println(sheet.getRows());

String s = sheet.getCell(1,1).getContents();
System.out.println(s);
}
}
This code will work for Writing data into excel sheet :

package sample;
import java.io.FileOutputStream;
import org.testng.annotations.Test;
import jxl.Workbook;
import jxl.write.WritableWorkbook;
import jxl.write.WritableSheet;
import jxl.write.Label;
@Test
public class ExcelWrite {
public void aa() throws Throwable{

//Creating an excel and naming it. 

FileOutputStream exlFileName= new FileOutputStream("Filepath");

//Creating an instance for the above excel.

WritableWorkbook exlWorkBook = Workbook.createWorkbook(exlFileName);

//Creating Writable work sheets for the above excel.

WritableSheet exlWorkSheet1 = exlWorkBook.createSheet("Shivaprsad",0);
WritableSheet exlWorkSheet2 = exlWorkBook.createSheet("Suresh",1);

//Creating data(cell values) into above excel workbook

Label Sheet1cellContent = new Label(0,0,"Test sheet1");
Label Sheet2cellContent = new Label(0,0,"Test sheet2");

//Adding cell value to its respective sheet.

exlWorkSheet1.addCell(Sheet1cellContent);
exlWorkSheet2.addCell(Sheet2cellContent);

//Writing the values into excel.

exlWorkBook.write();

//Close the workbook

exlWorkBook.close();
}
}
   
        

Monday 27 January 2014

Verification points in Selenium ...

1.    To check Element Present:
if(driver.findElements(By.xpath("value")).size() != 0){
System.out.println("Element is Present");
}else{
System.out.println("Element is Absent");
}
Or
if(driver.findElement(By.xpath("value"))!= null){
System.out.println("Element is Present");
}else{
System.out.println("Element is Absent");
}
2.    To check Visible:
if( driver.findElement(By.cssSelector("a > font")).isDisplayed()){
System.out.println("Element is Visible");
}else{
System.out.println("Element is InVisible");
}
3.    To check Enable:
if( driver.findElement(By.cssSelector("a > font")).isEnabled()){
System.out.println("Element is Enable");
}else{
System.out.println("Element is Disabled");
}
4.    To check text present:
if(driver.getPageSource().contains("Text to check")){
System.out.println("Text is present");
}else{
System.out.println("Text is absent")