Skip to content

Instantly share code, notes, and snippets.

View mfaisalkhatri's full-sized avatar
🎯
Focusing

Mohammad Faisal Khatri mfaisalkhatri

🎯
Focusing
View GitHub Profile
public class RegistrationPage {
private final RegisterUserData registerUserData;
public RegistrationPage () {
this.registerUserData = TestDataBuilder.getRegisterUserData ();
}
public RegistrationSuccessPage registerUser () {
enterText (firstNameField (), this.registerUserData.getFirstName ());
enterText (lastNameField (), this.registerUserData.getLastName ());
@mfaisalkhatri
mfaisalkhatri / RegisterUser.java
Last active September 9, 2022 14:47
POJO Class for required fields for registering a user.
public class RegisterUser {
private String firstName;
private String lastName;
private String address;
private String city;
private String state;
private String country;
private String mobileNumber;
public RegisterUser (final String firstName, final String lastName, final String address, final String city,
@mfaisalkhatri
mfaisalkhatri / RegistrationTest.java
Created September 9, 2022 14:48
Registration Test Example
public class RegistrationTest {
@Test
public void testRegisterUser () {
RegisterUser registerUser = new RegisterUser ("John", "Doe", "302, Adam Street, 1st Lane", "New Orleans",
"New Jersey", "US", "52145364");
assertEquals (registerUser.getFirstName (), "John");
assertEquals (registerUser.getCountry (), "US");
}
@mfaisalkhatri
mfaisalkhatri / RegisterUser.java
Created September 9, 2022 15:53
Register User class with Builder Pattern using Lombok
@Getter
@Builder
public class RegisterUserWithBuilder {
private String firstName;
private String lastName;
private String address;
private String city;
private String state;
private String country;
@mfaisalkhatri
mfaisalkhatri / DataBuilder.java
Created September 9, 2022 17:59
Data Builder
public class DataBuilder {
private static final Faker FAKER = Faker.instance ();
public static RegisterUserWithBuilder getUserData () {
return RegisterUserWithBuilder.builder ()
.firstName (FAKER.name ()
.firstName ())
.lastName (FAKER.name ()
.lastName ())
@mfaisalkhatri
mfaisalkhatri / RegisterUserWithBuilder.java
Created September 10, 2022 05:13
Test register user with builder pattern
@Test
public void testRegisterUserWithBuilder () {
RegisterUserWithBuilder registerUserWithBuilder = getUserData ();
System.out.println (registerUserWithBuilder.getFirstName ());
System.out.println (registerUserWithBuilder.getLastName ());
System.out.println (registerUserWithBuilder.getAddress ());
System.out.println (registerUserWithBuilder.getCity ());
System.out.println (registerUserWithBuilder.getState ());
System.out.println (registerUserWithBuilder.getCountry ());
System.out.println (registerUserWithBuilder.getMobileNumber ());
@mfaisalkhatri
mfaisalkhatri / AppiumServerStart.java
Created October 15, 2022 03:51
Start Appium server Programmatically
public static void startServer () {
AppiumServiceBuilder builder = new AppiumServiceBuilder ();
builder.withIPAddress ("127.0.0.1")
.usingPort (4723)
.withAppiumJS (
new File ("C:\\Users\\Windows\\AppData\\Roaming\\npm\\node_modules\\appium\\build\\lib\\main.js"))
.usingDriverExecutable (new File ("E:\\Program Files\\nodejs\\node.exe"))
.withArgument (BASEPATH, "/wd/hub")
.withArgument (GeneralServerFlag.SESSION_OVERRIDE)
.withArgument (GeneralServerFlag.LOG_LEVEL, "debug");
@mfaisalkhatri
mfaisalkhatri / DesiredCaps.java
Created October 15, 2022 05:07
Desired Capabilities for Appium
private static DesiredCapabilities setCapabilities () {
DesiredCapabilities capabilities = new DesiredCapabilities ();
capabilities.setCapability (MobileCapabilityType.PLATFORM_NAME, Platform.ANDROID);
capabilities.setCapability (MobileCapabilityType.DEVICE_NAME, "Pixel_5_API_30");
capabilities.setCapability (MobileCapabilityType.APP, APP_PATH);
capabilities.setCapability ("appPackage", "com.wdiodemoapp");
capabilities.setCapability ("appActivity", "com.wdiodemoapp.MainActivity");
capabilities.setCapability ("noReset", false);
capabilities.setCapability (MobileCapabilityType.AUTOMATION_NAME, AutomationName.ANDROID_UIAUTOMATOR2);
return capabilities;
@mfaisalkhatri
mfaisalkhatri / AndroidDriver.java
Created October 15, 2022 05:08
Create Android Driver
private static AppiumDriverLocalService service;
public static void createAndroidDriver () {
startServer ();
DRIVER.set (new AndroidDriver (service.getUrl (), setCapabilities ()));
setupDriverTimeouts ();
}
@mfaisalkhatri
mfaisalkhatri / DriverManager.java
Created October 15, 2022 05:15
Driver Manager class
public class DriverManager {
private static final String APP_PATH = System.getProperty ("user.dir") + "\\src\\test\\resources\\app\\webdriverio-app.apk";
private static final ThreadLocal<AppiumDriver> DRIVER = new ThreadLocal<> ();
private static final Logger LOG = LogManager.getLogger ("DriverManager.class");
private static AppiumDriverLocalService service;
public static void createAndroidDriver () {
startServer ();