【问题标题】: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();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-22
      • 2011-01-12
      • 2020-12-06
      • 2012-04-16
      • 1970-01-01
      相关资源
      最近更新 更多