@Before
  public void setUp() throws Exception {
    DesiredCapabilities capabilities = DesiredCapabilities.iphone();
    capabilities.setCapability("build", "Parallel iOS Native App Test Suite");
    capabilities.setCapability("name", "Parallel iOS Native App Test Suite");
    capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, platformVersion);
    capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, deviceName);

    capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "iOS");
    capabilities.setCapability(MobileCapabilityType.APP, "sauce-storage:UICatalog.zip");
    capabilities.setCapability(MobileCapabilityType.BROWSER_NAME, "");
    capabilities.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, 180);
    capabilities.setCapability(MobileCapabilityType.DEVICE_READY_TIMEOUT, 60);
    capabilities.setCapability("deviceOrientation", "portrait");
    capabilities.setCapability("appiumVersion", "1.4.16");
    capabilities.setCapability("sendKeyStrategy", "setValue"); // fastest typing method
    capabilities.setCapability(
        "noReset",
        true); // to reuse the simulator/installed app between tests, rather than restart sim

    driver =
        new IOSDriver(
            new URL(
                "http://" + SAUCE_USERNAME + ":" + SAUCE_KEY + "@ondemand.saucelabs.com:80/wd/hub"),
            capabilities);
    sessionId = (driver.getSessionId()).toString();
    wait = new WebDriverWait(driver, 15);

    // wait until main view loads
    wait.until(
        ExpectedConditions.visibilityOf(
            driver.findElement(MobileBy.AccessibilityId("date_picker_button"))));
  }
  @Test
  public void datePickerTest() throws Exception {
    // Using Joda Time DateTime and DateTimeFormatter for this test!
    // Creating test data - using +3 days, hours and minutes
    // to make sure that all wheels are used
    DateTime testDate = new DateTime().plusDays(3).plusHours(3).plusMinutes(3);

    // hour of the day - short format
    // i tried to get it using .hourOfDay().getAsShortText() but it would only return 24hr format...
    DateTimeFormatter hourOfDayFormat = DateTimeFormat.forPattern("K");

    // half day of day - AM or PM
    // have to use a new formatter for this as there is no getter - let me know if I'm wrong!
    DateTimeFormatter halfDayFormat = DateTimeFormat.forPattern("aa");

    // short date - example "Sun Dec 27"
    // to be used with the date picker in gregorian calendar
    DateTimeFormatter shortDateFormat = DateTimeFormat.forPattern("E MMM d");

    // longDate - example pattern "Dec 27, 2015, 5:55 PM"
    // to be used for assertion at the end of the test
    DateTimeFormatter longDateFormat = DateTimeFormat.forPattern("MMM d, yyyy, K:mm aa");

    final String hour = testDate.toString(hourOfDayFormat);
    final String minute = testDate.minuteOfHour().getAsString();
    final String shortDate = testDate.toString(shortDateFormat);
    final String longDate = testDate.toString(longDateFormat);
    final String halfDay = testDate.toString(halfDayFormat);

    driver.findElement(MobileBy.AccessibilityId("date_picker_button")).click();
    // wait for Date Picker view to load
    wait.until(
        ExpectedConditions.visibilityOf(driver.findElement(MobileBy.className("UIAPickerWheel"))));

    List<WebElement> pickerWheel_elements =
        driver.findElements(MobileBy.className("UIAPickerWheel"));
    pickerWheel_elements.get(0).sendKeys(shortDate);
    pickerWheel_elements.get(1).sendKeys(hour);
    pickerWheel_elements.get(2).sendKeys(minute);
    pickerWheel_elements.get(3).sendKeys(halfDay);

    String dateValidation_element =
        driver.findElement(MobileBy.AccessibilityId("current_date")).getText();
    assertThat(dateValidation_element, is(longDate));
  }
 @Test
 public void runWebTest() throws Exception {
   driver.get("http://www.thoughtworks.com");
   WebElement idElement = driver.findElement(By.id("mobile-menu-title"));
   assertNotNull(idElement);
   elementHighlight(idElement);
   idElement.click();
   wait.until(
       ExpectedConditions.presenceOfElementLocated(By.xpath(".//*[@id='mobile-menu']/li[6]/a")));
   WebElement commentElement = driver.findElement(By.xpath(".//*[@id='mobile-menu']/li[6]/a"));
   elementHighlight(commentElement);
   assertNotNull(commentElement);
   commentElement.click();
   Thread.sleep(5000);
   WebElement contact_us = driver.findElement(By.xpath(".//*[@id='footer-menu']/div/ul/li[9]/a"));
   contact_us.click();
   wait.until(
       ExpectedConditions.presenceOfElementLocated(By.xpath(".//*[@id='contact-us-vertical']")));
 }
 @Test
 public void addContact() {
   WebElement el = driver.findElement(By.name("Add Contact"));
   el.click();
   List<WebElement> textFieldsList = driver.findElementsByClassName("android.widget.EditText");
   textFieldsList.get(0).sendKeys("Some Name");
   textFieldsList.get(2).sendKeys("*****@*****.**");
   driver.swipe(100, 500, 100, 100, 2);
   driver.findElementByName("Save").click();
 }
  @Test
  public void textInputAlertTest() {
    driver.findElement(MobileBy.AccessibilityId("alert_views_button")).click();
    driver.findElement(MobileBy.AccessibilityId("text_entry_alert_button")).click();
    wait.until(ExpectedConditions.alertIsPresent());

    Alert alert = driver.switchTo().alert();
    String titleAndMessage = alert.getText();
    assertThat(
        titleAndMessage,
        is("A Short Title Is Best A message should be a short, complete sentence."));

    // input text
    String text_alert_message = "testing alert text input field";

    alert.sendKeys(text_alert_message);
    String alertTextInputField_value =
        driver.findElement(MobileBy.xpath("//UIAAlert//UIATextField")).getText();
    assertThat(alertTextInputField_value, is(text_alert_message));
  }
  @Test
  public void handlingSimpleAlertTest() {
    final String expected_alert_text =
        "A Short Title Is Best A message should be a short, complete sentence.";

    driver.findElement(MobileBy.AccessibilityId("alert_views_button")).click();
    // wait for alert view to load by waiting for "simple" alert button
    wait.until(
            ExpectedConditions.visibilityOf(
                driver.findElement(MobileBy.AccessibilityId("simple_alert_button"))))
        // and click on it
        .click();
    wait.until(ExpectedConditions.alertIsPresent());

    Alert alert = driver.switchTo().alert();
    String titleAndMessage = alert.getText();

    assertThat(titleAndMessage, is(expected_alert_text));
    alert.accept();
  }
  @Test
  public void testApp() throws MalformedURLException, InterruptedException {

    File app = new File("F:\\Whizdom-Trainings\\Tools\\Appium\\apps\\com.whatsapp-2.apk");
    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability("deviceName", "Nexus 5");
    capabilities.setCapability("platformVersion", "4.4.4");
    capabilities.setCapability("platformName", "Android");
    capabilities.setCapability("app", app.getAbsolutePath());
    driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    WebElement listView = driver.findElement(By.id("android:id/list"));
    List<WebElement> allChats =
        listView.findElements(By.className("android.widget.RelativeLayout"));
    System.out.println("Total - " + allChats.size());

    WebElement secondChat = allChats.get(1);
    System.out.println("Text - " + secondChat.getText());
  }
 @Test
 public void MobileElementByTest() {
   WebElement element = driver.findElement(MobileBy.AccessibilityId("UICatalog"));
   assertNotNull(element);
 }
Exemple #9
0
 /** Return an element by locator * */
 public static MobileElement element(By locator) {
   return w(driver.findElement(locator));
 }
  @Test
  public void testAndroidText4() throws Exception {
    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
    capabilities.setCapability("deviceName", "CB5A1LYY6N");
    capabilities.setCapability("automationName", "Selendroid");
    capabilities.setCapability("platformName", "Android");
    capabilities.setCapability("app", "/home/justice/Downloads/app-debug.apk");
    capabilities.setCapability("app-package", "com.sony.csx.ad.mobile");
    capabilities.setCapability("app-activity", "com.sony.csx.ad.mobile.MainActivity");
    AppiumDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

    // input EntityID
    AppiumSAMAPI.InputEntityID(driver, entityID);

    // input WindowID
    AppiumSAMAPI.InputWindowID(driver, windowID);

    // load ad
    AppiumSAMAPI.ClickLoadAD(driver);

    driver.context("WEBVIEW_0");
    System.out.println(driver.getPageSource());

    System.out.println(
        driver
            .findElement(By.xpath("//div[contains(@class, 'text_description_content')]"))
            .getText());
    System.out.println(
        driver.findElement(By.xpath("//div[contains(@class, 'text_title_content')]")).getText());
    assertTrue(
        "Selenium Auto Test for Text4 Description not found!!",
        driver.getPageSource().contains("Selenium Auto Test for Text4 Description"));
    assertTrue(
        "Selenium Auto Test for Text4 Description not found!!",
        driver
            .findElement(By.xpath("//div[contains(@class, 'text_description_content')]"))
            .getText()
            .equals("Selenium Auto Test for Text4 Description"));
    assertTrue(
        "Selenium Auto Test for Text4 Title not found!!",
        driver
            .findElement(By.xpath("//div[contains(@class, 'text_title_content')]"))
            .getText()
            .equals("Selenium Auto Test for Text4 Title"));
    assertTrue(
        "textad.css not found!!",
        driver.getPageSource().contains("/dev2/ad/csx/csxwin/css/textad.css"));

    // click impression
    AppiumSAMAPI.ClickImpression(driver);
    // driver.findElementByLinkText("Selenium Auto Test for Text1 Title").click();
    // driver.findElementByPartialLinkText("Selenium Auto Test for Text1
    // Title").sendKeys("Keys.ENTER");
    // driver.context("WEBVIEW_0");
    // driver.findElement(By.xpath("//div[contains(@class, 'text_title_content')]")).click();
    Thread.sleep(5000);
    assertTrue(
        "ClickCount does not match!!"
            + "It should be"
            + ClickCount
            + 1
            + " But now is "
            + ClickCount,
        JSON.GetClick(campaignID, orderLinesID) == ClickCount);
    assertTrue(
        "ImpressionCount does not match"
            + "It should be"
            + ImpressionCount
            + 1
            + " But now is "
            + ImpressionCount,
        JSON.GetImpression(campaignID, orderLinesID) == ImpressionCount + 1);

    ClickCount = JSON.GetClick(campaignID, orderLinesID);
    ImpressionCount = JSON.GetImpression(campaignID, orderLinesID);
    System.out.println("ClickCount after test: " + ClickCount);
    System.out.println("ImpressionCount after test: " + ImpressionCount);
    driver.quit();
  }