【问题标题】:Handling of array; returned by methods in iOS UI Automation数组的处理;由 iOS UI 自动化中的方法返回
【发布时间】:2013-05-29 09:32:03
【问题描述】:
我已经能够使用所有方法来自动化 iphone 应用程序测试,除了返回数组的方法...例如 elements()
我尝试使用数组声明来做到这一点
var arr = [];
var arr = UIATarget.localTarget().frontMostApp().mainWindow().tabBar().elements();
UIALogger.logPass("result"+ arr[0]) // just to get first element
但它不起作用
有人可以回答如何处理array。需要修正什么?
【问题讨论】:
标签:
javascript
ios
arrays
uia
【解决方案1】:
你到底想从这样的数组中得到什么?
这是一个如何处理元素数组的示例:
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();