TestSuite1.TestCase1.java Source code

Java tutorial

Introduction

Here is the source code for TestSuite1.TestCase1.java

Source

package TestSuite1;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.By.ByXPath;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebElement;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

import static org.junit.Assert.*;

import java.io.File;
import java.net.URL;
import java.util.HashMap;
import java.util.concurrent.TimeUnit;

@Ignore
public class TestCase1 {
    /**
     * Created by daearcdo on 2016. 1. 11.. 
     * ? ? ?   ? ??  ? 
     */

    public AppiumDriver driver;

    @Before
    public void setUp() throws Exception {

        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName", "test");
        capabilities.setCapability("platformVersion", "5.1");
        capabilities.setCapability("unicodeKeyboard", true);
        capabilities.setCapability("resetKeyboard", true);
        // File file = new File("/Users/daearcdo/OneDrive/ocb.apk");

        // capabilities.setCapability("app", file.getAbsolutePath());
        capabilities.setCapability("appPackage", "com.skmc.okcashbag.home_google");
        capabilities.setCapability("appActivity", ".activities.Entrypoint");
        capabilities.setCapability("noRest", true);
        // capabilities.setCapability("fullReset", true);

        driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
        driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
    }

    @After
    public void tearDown() throws Exception {
        // driver.quit();
    }

    @Test
    public void test() throws InterruptedException {

        System.out.println("Test Start");

        WebDriverWait wait = new WebDriverWait(driver, 10);

        int WindowsY = 752;
        int y;
        int x1;
        int y1;
        int start;
        int starty;
        int end;
        int endy;
        final int maxcount = 20;
        int count = maxcount;
        WebElement element = null;

        start = driver.findElement(By.xpath(
                "//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.support.v4.widget.DrawerLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.support.v4.view.ViewPager[1]/android.widget.RelativeLayout[1]/android.view.View[1]/android.widget.ListView[1]/android.widget.LinearLayout[3]"))
                .getLocation().getY();
        System.out.println(start);
        starty = driver.findElement(By.xpath(
                "//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.support.v4.widget.DrawerLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.support.v4.view.ViewPager[1]/android.widget.RelativeLayout[1]/android.view.View[1]/android.widget.ListView[1]/android.widget.LinearLayout[3]"))
                .getSize().getHeight();
        System.out.println(starty);

        end = driver.findElement(
                By.className("android.widget.LinearLayout").id("com.skmc.okcashbag.home_google:id/main_header"))
                .getLocation().getY();
        System.out.println(end);
        endy = driver.findElement(
                By.className("android.widget.LinearLayout").id("com.skmc.okcashbag.home_google:id/main_header"))
                .getSize().getHeight();
        System.out.println(endy);
        y = start + starty;
        x1 = WindowsY / 2;
        y1 = end + endy;

        while (count > 0) {
            try {
                Thread.sleep(1000);
                element = driver.findElement(
                        By.className("android.widget.TextView").name("SK()?"));
                break;
            } catch (NoSuchElementException nsee) {
                System.out.println(" ?  . scroll .");
            } catch (InterruptedException e) {
            }

            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
            }
            driver.swipe(x1, y, x1, y1, 6000);
            count--;
        }
        System.out.println("? " + element.getText());
        Thread.sleep(5000);
        assertEquals(element.getText(), "SK()?");
        // driver.findElement(By.className("android.widget.LinearLayout").id("com.skmc.okcashbag.home_google:id/summary")).click();
        // element.click();

        int ey = element.getLocation().getY();
        int ex = element.getLocation().getX();
        int eh = element.getSize().getHeight();
        int ew = element.getSize().getWidth();

        Thread.sleep(2000);
        // WebElement ee =
        // driver.findElement(By.xpath("//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.support.v4.widget.DrawerLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.support.v4.view.ViewPager[1]/android.widget.RelativeLayout[1]/android.widget.RelativeLayout[1]/android.widget.RelativeLayout[1]"));
        WebElement ee = driver
                .findElement(By.className("android.view.View").id("com.skmc.okcashbag.home_google:id/empty_view"));
        int TestY = (ee.getLocation().getY() - ee.getSize().getHeight());
        System.out.println(ee.getLocation().getY() - ee.getSize().getHeight());
        System.out.println(ee.getLocation().getX());
        System.out.println(ee.getSize().getHeight());
        System.out.println(ee.getSize().getWidth());
        System.out.println("  " + TestY);

        System.out.println(ey);
        System.out.println(ex);
        System.out.println(eh);
        System.out.println(ew);
        driver.tap(1, ex + (ew / 2), TestY + 10, 500);
        // driver.findElement(By.xpath("//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.support.v4.widget.DrawerLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.support.v4.view.ViewPager[1]/android.widget.RelativeLayout[1]/android.widget.RelativeLayout[1]/android.widget.RelativeLayout[1]")).click();

        /**
         * ?  ? ? ? ?? ? / ? / ? ?   ? 
         *  ture
         */

        String[] Result = { "", "?  ?? 264 The Planet", "1599-0512",
                "104-86-36968", "2014--0036", "?", "?",
                "? ?" };

        WebElement Bizceo = driver.findElement(
                By.className("android.widget.TextView").id("com.skmc.okcashbag.home_google:id/biz_ceo"));
        WebElement Addres = driver.findElement(
                By.className("android.widget.TextView").id("com.skmc.okcashbag.home_google:id/biz_address"));
        WebElement Bizcall = driver.findElement(
                By.className("android.widget.TextView").id("com.skmc.okcashbag.home_google:id/biz_call"));
        WebElement Bizlicense = driver.findElement(
                By.className("android.widget.TextView").id("com.skmc.okcashbag.home_google:id/biz_license"));
        WebElement Bizsalereport = driver.findElement(
                By.className("android.widget.TextView").id("com.skmc.okcashbag.home_google:id/biz_sale_report"));
        WebElement Bizuseagreement = driver.findElement(
                By.className("android.widget.TextView").id("com.skmc.okcashbag.home_google:id/biz_use_agreement"));
        WebElement Bizprivacy = driver.findElement(
                By.className("android.widget.TextView").id("com.skmc.okcashbag.home_google:id/biz_privacy"));
        WebElement Bizinfom = driver.findElement(
                By.className("android.widget.TextView").id("com.skmc.okcashbag.home_google:id/biz_infom"));

        assertEquals(Bizceo.getText(), Result[0].toString());
        assertEquals(Addres.getText(), Result[1].toString());
        assertEquals(Bizcall.getText(), Result[2].toString());
        assertEquals(Bizlicense.getText(), Result[3].toString());
        assertEquals(Bizsalereport.getText(), Result[4].toString());
        assertEquals(Bizuseagreement.getText(), Result[5].toString());
        assertEquals(Bizprivacy.getText(), Result[6].toString());
        assertEquals(Bizinfom.getText(), Result[7].toString());

        /**
         * ? ?? / ? / ? ? ?   ?? ??  ?
         */

        /**
         * ? ?
         */
        Bizuseagreement.click();

        WebElement Title = driver.findElement(
                By.className("android.widget.TextView").id("com.skmc.okcashbag.home_google:id/title_txt"));
        assertEquals(Title.getText(), "OK? ?");

        wait.until(ExpectedConditions.elementToBeClickable(
                By.className("android.widget.ImageView").id("com.skmc.okcashbag.home_google:id/back_btn")));
        driver.findElement(
                By.className("android.widget.ImageView").id("com.skmc.okcashbag.home_google:id/back_btn")).click();

        /*
         * ? ??  ? ?
         */

        driver.tap(1, ex + (ew / 2), TestY + 10, 500);

        wait.until(ExpectedConditions.elementToBeClickable(
                By.className("android.widget.TextView").id("com.skmc.okcashbag.home_google:id/biz_privacy")));
        driver.findElement(
                By.className("android.widget.TextView").id("com.skmc.okcashbag.home_google:id/biz_privacy"))
                .click();
        // Bizprivacy.click();

        Title = driver.findElement(
                By.className("android.widget.TextView").id("com.skmc.okcashbag.home_google:id/title_txt"));
        assertEquals(Title.getText(), "? ");

        wait.until(ExpectedConditions.elementToBeClickable(
                By.className("android.widget.ImageView").id("com.skmc.okcashbag.home_google:id/back_btn")));
        driver.findElement(
                By.className("android.widget.ImageView").id("com.skmc.okcashbag.home_google:id/back_btn")).click();

        /*
         * ? ??  ? ?(?  )   ?  ?   
         */
        driver.tap(1, ex + (ew / 2), TestY + 10, 500);

        wait.until(ExpectedConditions.elementToBeClickable(
                By.className("android.widget.TextView").id("com.skmc.okcashbag.home_google:id/biz_infom")));

        Bizinfom.click();

        WebElement url = driver
                .findElement(By.className("android.widget.EditText").id("com.android.chrome:id/url_bar"));
        System.out.println(url.getText());
        Boolean UrlEquals = url.getText().contains("www.ftc.go.kr");
        assertTrue(UrlEquals);
        driver.navigate().back();

        /**
         *?  ?  ?? ?
         */

        driver.findElement(By.className("android.widget.ImageView")
                .id("com.skmc.okcashbag.home_google:id/eventbanner_message")).click();

        HashMap<String, String> scrollObject = new HashMap<String, String>();
        RemoteWebElement element1 = (RemoteWebElement) ((AndroidDriver) driver)
                .findElementByAndroidUIAutomator("new UiSelector().className(\"android.widget.ListView\")");
        JavascriptExecutor js = (JavascriptExecutor) driver;
        String webElementId = ((RemoteWebElement) element).getId();
        scrollObject.put("text", "OK? ? 16.01.26~16.04.30 ??");
        scrollObject.put("element", webElementId);
        js.executeScript("mobile: scrollTo", scrollObject);

    }
}
// android.widget.TextView / SK()?