2013-05-29 28 views
1

我已经能够使用所有的方法来与那些自动化的iPhone应用程序的测试,除了返回数组返回......如elements()处理阵列;通过iOS中UI自动化方法

我试图做使用数组的声明为

var arr = []; 
var arr = UIATarget.localTarget().frontMostApp().mainWindow().tabBar().elements(); 
UIALogger.logPass("result"+ arr[0])  // just to get first element 

但它不工作

可有人ANS如何处理array。需要什么修正?

回答

0

你究竟想从这样的数组中得到什么?

下面是一个例子如何处理元件的阵列:

function getAllNamesInList (list, index){ 

    var elem_list = list[index].elements(); 
    var elem_count = elem_list .length; 
    var names = []; 
    var elem_name; 

    for (var elem_ind = 0; elem_ind < elem_count ; elem_ind++){ 

     elem_name= elem_list [cell_ind].name(); 
     if (!elem_name){fail ("TEST_INFO: Empty Element name!!!");} 
     names.push(elem_name); 
    } 

    return names; 

}; 

下面是()该函数的使用例:

你的情况下:

var app = UIATarget.localTarget().frontMostApp(); 
var window = app.mainWindow(); 
var arr = window.tabBar() 
var current_names = []; 

current_names = getAllNamesInList (arr , 0); 
UIALogger.logMessage ("Here are ALL names from array " + current_names); 

其它可能的列表,其可以在此功能()内转移和使用:

var table_views = window.tableViews(); 
var tab_bar = app.tabBar(); 
var nav_bar = app.navigationBar();