diff --git a/src/main/java/selenium/utils/Phone.java b/src/main/java/selenium/utils/Phone.java new file mode 100644 index 0000000000000000000000000000000000000000..1940b3c1f03a7c3641678ad54193a3dab32db7da --- /dev/null +++ b/src/main/java/selenium/utils/Phone.java @@ -0,0 +1,60 @@ +package selenium.utils; + +import io.appium.java_client.android.AndroidDriver; +import io.appium.java_client.remote.AndroidMobileCapabilityType; +import io.appium.java_client.remote.MobileCapabilityType; +import io.appium.java_client.remote.MobilePlatform; +import io.appium.java_client.service.local.AppiumDriverLocalService; +import io.appium.java_client.service.local.AppiumServiceBuilder; +import org.openqa.selenium.ScreenOrientation; +import org.openqa.selenium.remote.DesiredCapabilities; + +import java.io.File; +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; + +public class Phone { + + public static AndroidDriver driver; + + public static void initAndroidDriver() throws MalformedURLException { + //Start the appium server - you need to have nodejs and install appium via it with - npm i appium + AppiumServiceBuilder serviceBuilder = new AppiumServiceBuilder() + .withAppiumJS(new File("C:\\Users\\Rosen\\node_modules\\appium\\build\\lib\\main.js")) +// .usingAnyFreePort() + .withIPAddress("127.0.0.1"); + AppiumDriverLocalService service = + AppiumDriverLocalService.buildService(serviceBuilder); + service.start(); + + File classpathRoot = new File(System.getProperty("user.dir")); + File appDir = new File(classpathRoot, "testapps"); + File app = new File(appDir, "app-app-alpha-debug-1.88.1.apk"); + + + DesiredCapabilities capabilities = new DesiredCapabilities(); + capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, MobilePlatform.ANDROID); + capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "7.1.1"); + capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "test"); + capabilities.setCapability(MobileCapabilityType.APP, app.getAbsolutePath()); + capabilities.setCapability("appPackage", "ocm"); + capabilities.setCapability("appActivity", "com.kaching.merchant.Activities.RegisterActivity"); + capabilities.setCapability("locationServicesAuthorized", true); + capabilities.setCapability("locationServicesEnabled", true); + //Choosing emulator + capabilities.setCapability(AndroidMobileCapabilityType.AVD, "test"); + + driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); + +// // Setting mock location +// Location loc = new Location(20.0, 12.5, 1000); // latitude, longitude, altitude +// driver.setLocation(loc); + } + + public static void tearDown() throws InterruptedException, IOException { + driver.terminateApp("ocm"); + driver.quit(); + } + +}