示例#1
0
  // my method to harvest unique nearby places' names
  public boolean checkNearbyPlacesPresence() {
    Set<String> placesNamesSet = new HashSet<String>();
    List<WebElement> list = new ArrayList<WebElement>();

    list.addAll(
        appiumDriver.findElements(
            By.xpath("//android.widget.TextView[contains(@resource-id, 'txtLocationName')]")));
    for (WebElement item : list) {
      placesNamesSet.add(item.getAttribute("text"));
    }

    int oldSetSize = placesNamesSet.size();
    boolean continueScroll = oldSetSize < 1 ? false : true;

    while (continueScroll) {
      ((AppiumDriver) appiumDriver).swipe(545, 1630, 545, 330, 2000);

      nearbyPlaceName.isDisplayed();
      list.clear();
      list.addAll(
          appiumDriver.findElements(
              By.xpath("//android.widget.TextView[contains(@resource-id, 'txtLocationName')]")));
      for (WebElement item : list) {
        placesNamesSet.add(item.getAttribute("text"));
      }
      continueScroll = placesNamesSet.size() > oldSetSize ? true : false;
      oldSetSize = placesNamesSet.size();
    }
    System.out.println("Set of nearby places:");
    for (String item : placesNamesSet) {
      System.out.println(item);
    }
    System.out.println("Total nearby places: " + placesNamesSet.size());
    return placesNamesSet.size() > 0;
  }
 @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();
 }
  public boolean isContactPresent(String name) {
    MainScreen mainScreen = new MainScreen();
    mainScreen.waitForPageToLoad();

    AppiumDriver appiumDriver = (AppiumDriver) getDriver().getUnderLayingDriver();
    // appiumDriver.scrollTo(name);
    int numberContactsDisplayed =
        getDriver()
            .findElements(By.xpath("//android.widget.ListView//android.widget.LinearLayout"))
            .size();
    System.out.println("Total Contacts : " + numberContactsDisplayed);
    int total_scrolls_required = numberContactsDisplayed / 10 + 15; // 50
    numberContactsDisplayed = numberContactsDisplayed > 10 ? 10 : numberContactsDisplayed;

    QAFExtendedWebElement startEle =
        getDriver()
            .findElement(
                By.xpath(
                    String.format(
                        "//android.widget.LinearLayout[%d]/android.widget.TextView[1]",
                        numberContactsDisplayed)));
    QAFExtendedWebElement endEle =
        getDriver()
            .findElement(By.xpath("//android.widget.LinearLayout[1]/android.widget.TextView[1]"));
    boolean contactFound = false;
    for (int i = 0; i < total_scrolls_required && !contactFound; i++) {
      QAFTestBase.pause(300);
      if (!new QAFExtendedWebElement(
              "xpath=//android.widget.TextView[contains(@text,'" + name + "')]")
          .isPresent()) {
        // getDriver().getTouchScreen().flick(startEle.getCoordinates(),
        // startEle.getCoordinates().onPage().getX(), -400, 35);

        appiumDriver.swipe(
            startEle.getCoordinates().onPage().getX(),
            startEle.getCoordinates().onPage().getY(),
            endEle.getCoordinates().onPage().getX(),
            endEle.getCoordinates().onPage().getY(),
            700);
      } else {
        contactFound = true;
        break;
      }
    }
    return contactFound;
  }