Base OTP UP
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();
}
}
}



Comments