数组的处理;由iOS UI自动化中的方法返回

Handling of array; returned by methods in iOS UI Automation

本文关键字:自动化 返回 UI 方法 iOS 处理 数组      更新时间:2023-09-26

我已经能够使用所有的方法来自动化iphone应用程序测试除了那些返回数组…例如elements()

我尝试过使用声明数组为

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

但它不工作

有人能告诉我如何处理array吗?需要做什么纠正?

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

下面是一个如何处理元素数组的例子:
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();