2013-05-29 30 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();