Base OTP UP

PHOTO EMBED

Sun Dec 10 2023 10:13:12 GMT+0000 (Coordinated Universal Time)

Saved by @mehran

package tests;

import com.adak.ir.LoggingUtils;
import com.epam.reportportal.annotations.attribute.Attribute;
import com.epam.reportportal.annotations.attribute.Attributes;
import com.epam.reportportal.annotations.attribute.MultiKeyAttribute;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.remote.MobileCapabilityType;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.ITestListener;
import org.testng.ITestResult;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Listeners;

import java.net.MalformedURLException;
import java.net.URL;
import java.time.Duration;

@Listeners(BasePage.TestListener.class)
public class BasePage {
    public static final Logger LOGGER = LoggerFactory.getLogger(BasePage.class);
    public static AppiumDriver driver;


    @BeforeClass
    public void Android_setUp() throws MalformedURLException {
        LOGGER.info("آماده سازی دستگاه");

        DesiredCapabilities capabilities = new DesiredCapabilities();

        capabilities.setCapability("appium:automationName", "UIAutomator2");
        capabilities.setCapability("appium:platformVersion", "12");
        capabilities.setCapability("appium:deviceName","RF8NB25E39B");
        capabilities.setCapability("udid","RF8NB25E39B");

        capabilities.setCapability("platformName", "Android");
        capabilities.setCapability(MobileCapabilityType.APP, "/Users/adak/Documents/easypayment_direct_v6.3.4.apk");

        //capabilities.setCapability("appium:app", "/Users/qtroom/Test-project/My/ap_otp/apps/easypayment_direct_v6.4.2.apk");
        capabilities.setCapability("appPackage", "com.sibche.aspardproject.app");
        //capabilities.setCapability("appActivity", "com.sibche.aspardproject.app.ui.activity.LauncherActivity");
        capabilities.setCapability("autoAcceptAlerts", "true");
        driver = new AndroidDriver(new URL("http://localhost:4723/wd/hub"), capabilities);
        driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(30));

    }
    @Attributes(attributes = { @Attribute(key = "Platform", value = "Android"),
            @Attribute(key = "key2", value = "value2") }, multiKeyAttributes = { @MultiKeyAttribute(keys = { "k1", "k2" }, value = "v") })

    public static class TestListener implements ITestListener {
        @Override
        public void onTestStart(ITestResult result) {
            LOGGER.info("Test Started: " + result.getName());
        }

        @Override
        public void onTestSuccess(ITestResult result) {
            LOGGER.info("Test Passed: " + result.getName());
        }

        @Override
        public void onTestFailure(ITestResult result) {
            LOGGER.info("Test Failed: " + result.getName());
            captureScreenshot(result.getMethod().getMethodName());
        }

        private void captureScreenshot(String methodName1) {
            LoggingUtils.logBase64(((TakesScreenshot) driver).getScreenshotAs(OutputType.BASE64), methodName1);
        }
        }



    @AfterClass
    public void tearDown() {
        if(driver != null) {
            ((AndroidDriver) driver).closeApp();
            driver.quit();
        }
    }
}
content_copyCOPY