2016-07-14 8 views
-1

現在のところ、連絡先リストの最初のページにある連絡先を開き、他の連絡先にスクロールできない短くすると、最初のページにある連絡先が開きます。各連絡先にスクロールしてクリックするコードを作成するにはどうすればよいですか?自分のappiumコードがwhatsappアカウントにあるすべての連絡先を開くように自動化する必要があります

import static org.junit.Assert.*; 

import org.junit.Test; 

import static org.junit.Assert.*; 
//import static org.testng.AssertJUnit.assertEquals; 
//import java.awt.List; 
import java.util.List; 
import java.io.File; 
import java.net.MalformedURLException; 
import java.net.URL; 
import java.util.concurrent.TimeUnit; 

import org.junit.After; 
import org.junit.Before; 
import org.junit.BeforeClass; 
import org.junit.FixMethodOrder; 
import org.junit.Test; 
import org.junit.runners.MethodSorters; 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.remote.CapabilityType; 
import org.openqa.selenium.remote.DesiredCapabilities; 

import io.appium.java_client.MobileElement; 
import io.appium.java_client.SwipeElementDirection; 
import io.appium.java_client.android.AndroidDriver; 
//import objectRepository.HomePageElements; 
import io.appium.java_client.android.AndroidKeyCode; 



    public class watsappjunit { 

    @Test 
    public void test() { 
     AndroidDriver driver; 
    } 

    @SuppressWarnings("deprecation") 
    @Before 
    public void Before() throws Exception { 
    // HomePageElements hpee= new HomePageElements(driver); 

    File classpathRoot = new File(System.getProperty("user.dir")); 
    File appDir = new File(classpathRoot, "/Apps/Amazon/"); 
    File app = new File(appDir, "com.whatsapp_v2.16.155-451245_Android- 2.1.apk"); 

    DesiredCapabilities capabilities = new DesiredCapabilities(); 
    capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); 
    capabilities.setCapability("deviceName", "Redmi Note 3"); 
    capabilities.setCapability("platformVersion", "5.0.1"); 
    capabilities.setCapability("platformName", "Android"); 
    capabilities.setCapability("app", app.getAbsolutePath()); 
    capabilities.setCapability("appPackage", "com.whatsapp"); 

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

     // To open the contacts tab in Watsapp 
     WebElement phno = driver.findElementByName("CONTACTS"); 
     phno.click(); 

     List<WebElement> chatName = driver.findElements(By.id("com.whatsapp:id/contactpicker_row_name")); 
     System.out.println("Total Chats in your WhatsApp are - "+ chatName.size()); 

     // To iterate over the elements 
     for (WebElement names : chatName) { 
      // To print the Chat Names 
      System.out.println(names.getText()); 
      // To click on each chat 
      names.click(); 

      // To press back button in Android 
      driver.pressKeyCode(AndroidKeyCode.BACK); 
      driver.pressKeyCode(AndroidKeyCode.BACK); 
     } 

     driver.quit(); 
    } 


    } 
+0

リンクを必要とするまでスクロールし、ビュー契約をスクロールダウンコード:{https://docs.google.com/document/d/1KuC_e2lVvMst3Yvko1NLUUUELAE-LKxJBjr6aCA_8IU/edit} – Sammy

答えて

0

あなたは、あなたはそのツールを介して、スクリーンの要素の属性を取得することがあります、あなたのシミュレータの画面をキャッチするためにこのツールを使用して、あなたのAndroidのホーム//ツールフォルダにあるuiautomatorviewer.batを開くことができます。

その後、オートメーションコードを書き留めることができます。

+0

はい、これは私がやっていることですが、私のコードでwhatsappを開いたときに表示される最初の7つの連絡先の後です私のwatsappアカウントの他の連絡先の残りの部分には行かない – Sammy

0

使用しているAppiumのバージョンによって異なります。古いバージョンでは、driver.ScrollTo( "要素の名前")を使用できます。しかし、それより新しいバージョンでは、TouchActionクラスを使用する必要があります。

あなたは要素の最初のリストを開いた後、下にスクロールする変数、開始Yと終了Yとの一定の開始xとエンドXと
0

使用スワイプ方法 デンは再びuはに

関連する問題