in.mayurshah.util.MiscellaneousFunctions Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of selenium-helper Show documentation
Show all versions of selenium-helper Show documentation
selenium-helper is developed to easily automate test cases using Selenium WebDriver.
The newest version!
package in.mayurshah.util;
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.mail.BodyPart;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import java.sql.Timestamp;
/**
* MiscellaneousFunctions, as the name says, contains functions which can be used frequently and are independent.
*/
public class MiscellaneousFunctions {
/**
* This method helps form URL for webdriver
*
* @param remoteURL -Enter remote URL, e.g. in.mayurshah
* @param port - Enter your port
* @return - returns fully qualified Grid URL
* @throws MalformedURLException - This exception occures when URL is not right
*/
public static URL getWebDriverURL(String remoteURL, int port)
throws MalformedURLException {
if (port > 0 && remoteURL != null && !remoteURL.equals("")) {
if (!remoteURL.startsWith("http://")) {
return new URL("http://" + remoteURL + ":" + port + "/wd/hub");
} else
return new URL(remoteURL + ":" + port + "/wd/hub");
}
return null;
}
/**
* This function is mainly used by TestNG data provider
*
* @param mapList -Pass the list of hasmap as parameter
* @return -It will return two dimension array of an Object.
*/
public static Object[][] listHashMapToObject(
List> mapList) {
Object[][] data = new Object[mapList.size()][1];
{
for(int i=0;i USPhoneNumber(String string) {
List phoneNumbers = new ArrayList();
String regexPhone = "\\(?(\\d{3})\\)?[- ]?(\\d{3})[- ]?(\\d{4})";
Pattern paternPhone = Pattern.compile(regexPhone);
Matcher matcherPhone = paternPhone.matcher(string);
while (matcherPhone.find()) {
phoneNumbers.add(matcherPhone.group());
}
return phoneNumbers;
}
/**
* This function accepts a string and identify email address and return the same.
* @param string -Provide string
* @return -list of email addresses
*/
public static List emailAddresses(String string) {
List emails = new ArrayList();
String regexEmail = "[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+";
Pattern patternEmail = Pattern.compile(regexEmail);
Matcher matcherEmail = patternEmail.matcher(string);
while (matcherEmail.find()) {
emails.add(matcherEmail.group());
}
return emails;
}
/**
* This function gets current Time Stamp as String
* @return -Time Stamp as String
*/
public static String getTimeStamp() {
java.util.Date date = new java.util.Date();
return new Timestamp(date.getTime()).toString();
}
/**
* This function returns string of the body from Mime Type
* @param message -Pass your message
* @return -Get string of the body.
* @throws MessagingException - This is thrown when there is any exception in Messaging
* @throws IOException - This mostly occurs during connection error
*/
public static String bodyFromMimeType(Object message)
throws MessagingException, IOException {
String body = message.toString();
if (message instanceof Multipart) {
Multipart multipart = (Multipart) message;
for (int x = 0; x < multipart.getCount(); x++) {
BodyPart bodyPart = multipart.getBodyPart(x);
String disposition = bodyPart.getDisposition();
if (disposition != null
&& disposition.equals(BodyPart.ATTACHMENT))
continue;
else {
return bodyPart.getContent().toString();
}
}
}
return body;
}
/**
* Thiss function is used to get file name from given URL
* @param URL -Enter URL
* @return -Returns file name
*/
public static String getFileNameFromURL(String URL) {
String fileName = "";
String[] path = URL.split("/");
if (URL.endsWith("/"))
fileName = path[path.length - 1];
else {
String[] fileNameSplit = path[path.length - 1].split(".");
if (fileNameSplit.length > 0)
fileName = path[path.length - 1];
}
return fileName;
}
/**
* This function is used to capture screenshot and store it in directory
* @param driver -Pass your WebDriver instance.
* @param screenshotdir - Pass your screenshot directory
* @return - Returns location where screenshot is stored.
* @throws IOException -Exception is thrown during communcation errors.
*/
public static String captureScreenshot(WebDriver driver,
String screenshotdir) throws IOException {
String randomUUID = UUID.randomUUID().toString();
String storeFileName = screenshotdir + File.separator
+ getFileNameFromURL(driver.getCurrentUrl()) + "_"
+ randomUUID + ".png";
String[] screenshotdirsplit = screenshotdir.split(File.separator);
String fileName = screenshotdirsplit[screenshotdirsplit.length - 1] + File.separator
+ getFileNameFromURL(driver.getCurrentUrl()) + "_"
+ randomUUID + ".png";
File scrFile = ((TakesScreenshot) driver)
.getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File(storeFileName));
return fileName;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy