Showing posts with label java. Show all posts
Showing posts with label java. Show all posts

Monday, 23 July 2018

How to Install Java in macOS

The best approach to install Java on the Mac is to get the latest version of Java JRE directly from Oracle. This is fairly straight forward and you can either initiate the process from the terminal application in macOS or by going directly to the Java download page on Oracles website.
Open the Terminal app and type the following:
java
Click on the “More Info” button to jump to the Java downloads page in a web browser
Start installing Java on MacOS
Start installing Java on MacOSThis will allow you to download and install the newest most recent version of Java available for the Mac, which is currently JRE8.

Remove Oracle Java cache on Mac

Below are the steps to clear Java cache from any Mac machine:

  1. Click on the Finder icon located in your dock
  2. Click on Go in the Finder menu
  3. Click on Utilities
  4. Double-click on the Terminal icon
  5. In the Terminal window Copy and Paste the commands below:
    rm -r ~/"Library/Application Support/Oracle/Java"

Uninstall Oracle Java using the terminal from any Mac machine

Note: To uninstall Java, you must have Administrator privileges and execute the remove command either as root or by using the sudo tool.

Remove one directory and one file (a symlink), as follows:
  1. Click on the Finder icon located in your dock
  2. Click on Go in the Finder menu
  3. Click on Utilities
  4. Double-click on the Terminal icon
  5. In the Terminal window Copy and Paste the commands below:
    sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
    sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane
    sudo rm -fr ~/Library/Application\ Support/Oracle/Java
Do not attempt to uninstall Java by removing the Java tools from /usr/bin. This directory is part of the system software and any changes will be reset by Apple the next time you perform an update of the OS.

Wednesday, 18 September 2013

Performing Mouse Double Click using Selenium Web Driver

Perpose: Performing Mouse Double Click using Selenium Web Driver

Some web applications may need to perform double click to fire the action. Following code will help how to implement Mouse Double Click using Selenium.

In the following example, page contans a div and if we perform single click noting is going to happen but when we perform double click Map will be zoomed.


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.interactions.Action;
import org.openqa.selenium.interactions.Actions;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
public class DoubleClick {
 public String baseURL = "http://openlayers.org/dev/examples/click.html";
 public WebDriver driver = new FirefoxDriver();
 public WebElement element;
 public String title;
 public Actions action = new Actions(driver);
 @BeforeTest
 public void launchBrowser()
 {
  driver.get(baseURL);
 }

 @AfterTest
 public void closeBrowser()
 {
  driver.quit();
 }

 @Test
 public void doubleClick() throws InterruptedException
 {
  element = driver.findElement(By.xpath(".//*[@id='OpenLayers_Map_2_OpenLayers_ViewPort']"));
  element.click();// For single click Map will not load
  System.out.println("Single Click performed");
  Thread.sleep(3000);
  Action doubleClick = action.doubleClick(element).build();
  doubleClick.perform();// After performing double click Map will load
  System.out.println("Double Click performed");
  Thread.sleep(10000);
  doubleClick.perform();// After performing double click Map will load
  System.out.println("Double Click performed");
  Thread.sleep(10000);
 }
}

Monday, 16 September 2013

Extracting ZIP file programatically with the help of Java

Purpose: Extracting ZIP file programatically with the help of Java

Some time we may need to extract zip file and read the contents. Following code will help how to extract .zip files. I collected this program form some blog while searching and I want to share this to all through my blog.

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;

public class FileUnZip {
 public static void main(String[] args)
 {
  unzip("D://LatestSample.zip", "D://tmp");
  System.out.println("Unzip Completed");
 }

 public static void unzip(String zipFile,String outputPath){
  
        if(outputPath == null)
            outputPath = "";
        else
            outputPath+=File.separator;
        System.out.println(outputPath+=File.separator);
        // 1.0 Create output directory
        File outputDirectory = new File(outputPath);
        if(outputDirectory.exists())
            outputDirectory.delete();
        outputDirectory.mkdir();
        // 2.0 Unzip (create folders & copy files)
        try {
            // 2.1 Get zip input stream
            ZipInputStream zip = new ZipInputStream(new FileInputStream(zipFile));
            ZipEntry entry = null;
            int len;
            byte[] buffer = new byte[1024];
            // 2.2 Go over each entry "file/folder" in zip file
            while((entry = zip.getNextEntry()) != null){
                if(!entry.isDirectory()){
                    System.out.println("-"+entry.getName());                       
                    // create a new file
                    File file = new File(outputPath +entry.getName());
                    // create file parent directory if does not exist
                    if(!new File(file.getParent()).exists())
                        new File(file.getParent()).mkdirs();
                    // get new file output stream
                    FileOutputStream fos = new FileOutputStream(file);
                    // copy bytes
                    while ((len = zip.read(buffer)) > 0) {
                        fos.write(buffer, 0, len);
                    }
                    fos.close();
                }
                zip.close();
            }
        }catch (FileNotFoundException e) {
                e.printStackTrace();
        } catch (IOException e) {
                e.printStackTrace();
        }
 }
}

Wednesday, 11 September 2013

Adding An Image to Word programatically using Java

Purpose: Adding An Image to Word programatically using Java

Following Code will allow to add an Image to a Word file using Java from local or web based source.


import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import word.api.interfaces.IDocument;
import word.w2004.Document2004;
import word.w2004.elements.BreakLine;
import word.w2004.elements.Image;
import word.w2004.elements.Paragraph;
public class AddImageToWord
{
    public static void main(String[] args) throws Exception
    {
     String img = "";
      IDocument doc = new Document2004();
      doc.addEle(Paragraph.with("Image from Web URL:").create());
      doc.addEle(new BreakLine(2)); //Add two break lines
      img = Image.from_WEB_URL("http://www.google.com/images/logos/ps_logo2.png").setHeight("100").setWidth("300").create().getContent();
      doc.addEle(img);
      doc.addEle(new BreakLine(2)); //Add two break lines
      doc.addEle(Paragraph.with("Image from Hard Disk:").create());
      doc.addEle(new BreakLine(2)); //Add two break lines
      String wh = Image.from_FULL_LOCAL_PATHL("D://Screen.png").getOriginalWidthHeight();
      String[] temp = wh.split("#");
      System.out.println(temp[0]);
      System.out.println(temp[1]);
      img = Image.from_FULL_LOCAL_PATHL("D://Screen.png").setHeight("300").setWidth("500").create().getContent();
      doc.addEle(img);
     
      File fileObj = new File("D://Java2word_allInOne.doc");
      PrintWriter writer = null;
      try {
          writer = new PrintWriter(fileObj);
      } catch (FileNotFoundException e) {
          e.printStackTrace();
      }
      String myWord = doc.getContent();
      writer.println(myWord);
      writer.close();
    }
}


 

Tuesday, 10 September 2013

How to add text to a word file using Java

Purpose: How to add text to a word file using Java


Following code will help you to Add text to a Word file programatically.

import java.io.*;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import java.io.FileOutputStream;
public class AddToWord
{
    public static void main(String[] args) throws IOException, InvalidFormatException
    {
        XWPFDocument document = new XWPFDocument();
        XWPFParagraph paragraph = document.createParagraph();
        XWPFRun run = paragraph.createRun();
        run.setText("Sample Text to add a word file programatically");
        run.setFontSize(33);
        FileOutputStream out = new FileOutputStream("Success.doc");
        document.write(out);
        out.close();
    }
}

Generating previous day's Date using Java

Purpose: Generating previous day's Date using Java


Some times we may need to use date in different situations in different applications dynamically. That is very simple and we can use the methods of Date/Calender class. But some times we may need to capture previous day's date.

Following code will be useful to capture previous day's date.

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class PreviousDate {
 public static void main(String[] args)
 {
//     Selecting Previous Date --- Start
    
     DateFormat dateFormat = new SimpleDateFormat("dd/mm/yyyy");
     Date date = new Date();
     Calendar cal = new GregorianCalendar();
     cal.setTime(date);
     cal.add(Calendar.DAY_OF_YEAR,-1);
     Date oneDayBefore= cal.getTime();
     System.out.println();
     System.out.println("Previous Day's Date in dd/mm/yyyy format: "+dateFormat.format(oneDayBefore).toString());
//     Selecting Previous Date --- End
 }
}
 

Monday, 8 April 2013

Writing simple Data Driven Framework scripts using TestNG

Purpose: Writing simple Selenium Scripts by implementing Data Driven Framework using TestNG

Data Driven Framework scripts means executing a set of steps with multiple sets of data. Selenium is not have any default way of implementing but by using TestNG support we can implement it successfully.

Step 1: JXL API Jar - We can download it form the following URL
http://sourceforge.net/projects/jxls/files/ and download latest version

Step 2: Prepare Data Source - Open an excel and prepare data source as shown below


In this example we are discussing reading inputs from an excel sheet and writing the results in reports sheet.

Step 3: Following example will demonstrate how to access from an excel sheet and how to write the results into an excel sheet.

package com.google.excel;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
public class GMail{
 private WebDriver driver;
 private String baseURL;
 private FileInputStream fi;
 private Sheet s;
 private Workbook wb;

 @BeforeClass
 public void setup() throws BiffException, IOException
 {
  driver = new FirefoxDriver();
  baseURL = "http://www.gmail.com";
  fi = new FileInputStream("TestDate\\Book1.xls");
  wb = Workbook.getWorkbook(fi);
  s = wb.getSheet(0);
 }

 @AfterClass
 public void teardown()
 {
  driver.quit();
 }
 @Test
 public void testGmail() throws InterruptedException
 {
  for(int row=0; row <s.getRows();row++)
  {
    String username = s.getCell(0, row).getContents();
    System.out.println("Username "+username);
    driver.get(baseURL);
    driver.findElement(By.name("Email")).sendKeys(username);
    String password= s.getCell(1, row).getContents();
    System.out.println("Password "+password);
    driver.findElement(By.name("Passwd")).sendKeys(password);
    Thread.sleep(10000);
    Thread.sleep(30000);
    writeExcel(0, 0, "Passes");
  }
 }

public void writeExcel(int a, int b, String text) {
    try {
        File excelFile = new File("TestDate\\Results.xls");
        WritableWorkbook book;
        WritableSheet sheet;
        Workbook existingBook = null;
        if (!excelFile.exists()) {
            book = Workbook.createWorkbook(excelFile);
            sheet = book.createSheet("TESTRESULTS", 0);
        } else {
            existingBook = Workbook.getWorkbook(excelFile);
            book = Workbook.createWorkbook(excelFile, existingBook);
            sheet = book.getSheet("TESTRESULTS");
        }
        Label i = new Label(a, b, text);
        sheet.addCell(i);
        book.write();
        book.close();
        if (existingBook != null)
            existingBook.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
}



















 

Setting up Eclipse Environment for Selenium

Purpose: Setting up Eclipse IDE environment to Run Selenium Script

Following are the steps to setup successful Selenium environment for Eclipse IDE

In order to Setup, we need Java, Eclipse IDE, Selenium Webdriver, TestNG.

Step 1: Download Java and install if not installed. Visit the following URL and download JDK
URL: http://www.oracle.com/technetwork/java/javase/downloads/index.html

Step 2: Download Eclipse IED and it not require ant install. Extract and open. Visit for following URL and download Eclipse

URL: http://www.eclipse.org/downloads/ download Eclipse IDE for Java EE Developers 32bit version

Step 3: Download Selenium Webdriver and build the path. Visit the following URL and download required Selenium Softwares

URL: http://selenium.googlecode.com/files/selenium-server-standalone-2.31.0.jar

Step 4: Install TestNG for Eclipse

Select Help /  Install New Software /
Click on Add
Enter Any relevent Name for Name Field
Enter URL for Eclipse 3.4 and above, enter http://beust.com/eclipse/
For Eclipse 3.3 and below, enter http://beust.com/eclipse1/
Select TestNG Software, Click Next and Install

Step 5: Create New Java Project and Create New TestNG file
Step 6: Right Click on Project > Build Path > Configure Build Path > Click Libraries > Click Add External Jars. Select the location of Selenium Webdriver and add the Selenuium .Jar file to Eclipse IDE Environment.

Step 6: Write the script and execute. Hope it will lanch application successfully.

Capturing all Links in a page, filtering and visiting filtered pages.

Purpose: Capturing all Links in a page, filtering and visiting filtered pages.


In general while testing any application we are facing a situation where we need to visit specific link available on the Web Page. The Following script help floks how to handle it.

In the following example, I am going to visit 'www.google.com', captures all the links available on the page, filter the required link and visit that link page.

import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;

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

  WebDriver driver = new FirefoxDriver();
  driver.get("http://www.tata.com/");
  driver.manage().window().maximize();
//  Extract all links from the webpage using selenium webdriver
  List<WebElement> all_links_webpage = driver.findElements(By.tagName("a"));

//  Print total no of links on the webpage
  System.out.println("Print total no of links on the webpage---------------------------------------------");
  System.out.println(all_links_webpage.size());

//  Filter the Link and visit that link
  System.out.println("Print Links------------------------------------------------------------------------");
  for(int i=0;i<all_links_webpage.size();i++)
  {
   Thread.sleep(1000);
   if(all_links_webpage.get(i).getText().toLowerCase().contains("contact"))
   {
    System.out.println("Search Resutl found");
   String link = all_links_webpage.get(i).getAttribute("href");
   driver.navigate().to(link);
   Thread.sleep(3000);
   break;
   }
  }
 driver.quit();
 }
}

Tuesday, 19 March 2013

Unsupported Major/Minor Version issue while executing Selenium Scripts / Java Programs using Eclipse IDE

Purpose: When ever we are executing Selenium Scripts / Java Program which is developed / written in some othere version than our version we will get the error "Java.lang.UnsupportedClassVersionError: .............................Unsupported major.minor version"

If you are executing the program using Console / Command Prompt, using additional parameter -source <version number>

For example, if your file name is VersionError.java and executing through Command Prompt use the following command to execute successfully:

javac -source 1.4 VersionError.java

The program will compile successfully.

If you are executing the code using Eclipse IDE follow the steps mentioned below:

Step 1: Click on 'Project' menu option and select 'Properties' submenu.



Step 2: Click on Project Facts from RNP and Select Java in RNP




Step 3: Select required version of Java and click on OK.

Now Run the application and the issue will be resolved.