Skip to content

Instantly share code, notes, and snippets.

View naelabdeljawad's full-sized avatar

Nael Marwan naelabdeljawad

View GitHub Profile
@naelabdeljawad
naelabdeljawad / Retry
Last active January 29, 2021 16:41
TestNG Retry Test Execution by RetryListener
import org.testng.IRetryAnalyzer;
import org.testng.ITestResult;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
public class Retry implements IRetryAnalyzer {
private int retryCount = 0;
private int maxRetryCount = 1;
@naelabdeljawad
naelabdeljawad / AppiumUtilities
Created January 29, 2021 16:07
Appium Utilities
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.TouchAction;
import io.appium.java_client.android.Activity;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.Connection;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.*;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.FluentWait;
@naelabdeljawad
naelabdeljawad / SeleniumUtilities
Created January 29, 2021 15:50
Selenium Utilities
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.apache.commons.lang3.StringUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.Keys;
@naelabdeljawad
naelabdeljawad / PDFUtils
Last active January 29, 2021 15:50
PDF Files Utilities
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.util.Scanner;
public class FileReaderUtils {
static StringBuffer stringBufferOfData = new StringBuffer();
@naelabdeljawad
naelabdeljawad / AppiumCapabilitiesCSVManager
Last active January 29, 2021 15:51
Manage Appium Capabilities from CSV file.
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import com.opencsv.CSVReader;
public class CSVUtils {
// Please add this opencsv dependency
@naelabdeljawad
naelabdeljawad / AppiumCaps.java
Last active March 27, 2020 17:34
Appium Capabilities
DesiredCapabilities capabilities = new DesiredCapabilities();
/** Device capabilities **/
desiredCapabilities.setCapability("app", "apk path with name"));
// If to reset session before creating new session
desiredCapabilities.setCapability(MobileCapabilityType.NO_RESET, false);
desiredCapabilities.setCapability("deviceName", "Samsung J530"));
desiredCapabilities.setCapability("platformVersion", "9"));
desiredCapabilities.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, 120);
/** App Capabilities **/
package automationInfra.com.listeners;
import static java.nio.charset.StandardCharsets.UTF_8;
import static java.nio.file.Files.newBufferedWriter;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.DecimalFormat;
import java.text.NumberFormat;