2016-08-16 11 views
0
@AndroidFindBy (uiAutomator = "new UiSelector().className(\"android.support.v7.widget.RecyclerView\").childSelector(new UiSelector().className(\"android.widget.RelativeLayout\"))") 
public List<MobileElement> listOfElements; 

System.out.print(listOfElements.size()); 

を使用して、子要素を見つけることができませんので、9つの要素を含む要素「android.support.v7.widget.RecyclerView」「android.widget.RelativeLayoutがあります"それらのリストを取得したいのですが、私は前述のロケータで1つの要素しか得ていません。私はここで間違って何をしていますか?これは1</p> <p>を返しuiautomator(Java)の

ロケータの最後に.index()を追加すると、指定されたインデックス番号に従って要素が返されますが、すべての子要素のリストが必要です。

appiumはすべてのUiSelectorコマンドをサポートしていますか?そのうちのいくつかが動作していないようですので、(あなたがスクロール可能な正規表現、またはfromParentを、入力することができますclassNameMatchesのような...)

答えて

0

あなたは、以下のように

WebElement l1 = driver.findElementByClassName("android.support.v7.widget.RecyclerView\");    
       //All elements in big container L1 
       List<WebElement> l2 = l1.findElements(By.className("android.widget.RelativeLayout\));    
       System.out.println("size of L2= " + l2.size()); 
       for(int i = 0 ; i<l2.size();i++){ 
        System.out.println("\n Index is : " + i + "Content-desc is : " + l2.get(i).getAttribute("name")); 

      } 
を親、子クラスの戦略を使用することができます

必要に応じてループを変更してください

+0

ありがとうございます、私は気付いていますが、私はPageFactoryを使用しています。そして、私はuiAutomatorセレクタを使うことを学びたいと思っていますが、私にとってはうまくいかないものもあります。 – SergioLeone

関連する問題