This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> | |
<suite name="Sauce Demo Website Tests" parallel="tests" thread-count="4" verbose="2"> | |
<test name="selenium 4 Tests with Chrome Browser"> | |
<parameter name="browser" value="chrome"/> | |
<classes> | |
<class name="io.github.mfaisalkhatri.tests.saucedemo.SauceDemoTests"> | |
<methods> | |
<include name="loginSauceDemoTest"/> | |
<include name="logOutSauceDemoTest"/> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> | |
<suite name="Selenium 4 POC Tests "> | |
<suite-files> | |
<suite-file path="testng-saucedemo.xml"/> | |
<suite-file path="testng-automationpractice.xml"/> | |
<suite-file path="testng-theinternet.xml"/> | |
<suite-file path="testng-juice-shop.xml"/> | |
<suite-file path="testng-lambdatestecommerce.xml"/> | |
<suite-file path="testng-seleniumgrid-theinternet.xml"/> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class AppiumTest extends BaseTest{ | |
@Test | |
public void appiumServerTest () { | |
System.out.println ("Server and Android Driver started successfully!!"); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import static io.github.mfaisalkhatri.drivers.DriverManager.createAndroidDriver; | |
import static io.github.mfaisalkhatri.drivers.DriverManager.quitSession; | |
import org.testng.annotations.AfterClass; | |
import org.testng.annotations.BeforeClass; | |
public class BaseTest { | |
@BeforeClass | |
public void testSetup() { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 (); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private static AppiumDriverLocalService service; | |
public static void createAndroidDriver () { | |
startServer (); | |
DRIVER.set (new AndroidDriver (service.getUrl (), setCapabilities ())); | |
setupDriverTimeouts (); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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"); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@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 ()); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 ()) |
NewerOlder