2

我需要帮助访问 UITableView 中的单元格(名称:设置)。我在 ipad v6.0.1 上做 ios-UIAutomation。

我尝试了所有这些命令 -

  1. mainWindow.popover().tableViews()[0].cells()[4].tap();
  2. mainWindow.tableViews()[0].cells()["Settings"].tap();
  3. mainWindow.popover().tableViews()[0].cells()[4].elements()["Settings"];

但没有任何效果。

logElementTree 看起来像这样 -

UIATarget  
   | UIAApplication
      | UIAWindow
         | UIAPopover
            | UIATableView : name:Empty list
               | UIATableCell : name:Menu
               | **UIATableCell : name:Settings**

附上logTree的截图以供参考。

4

2 回答 2

1

首先,我建议为表格视图本身添加一个名称。使用数组偏移量会使您的测试代码更难维护。为顶级项目定义变量是“标准”做法。

我相信这段代码会起作用。在 Instruments 中的 JavaScript“框架”内工作是一种令人沮丧的练习。我发现命名中间对象是一个很好的起点。

var target = UIATarget.localTarget();
var app = target.frontMostApp();
var mainWindow = app.mainWindow();

var targetTableView = mainWindow.popover.tableViews()[0];   

targetTableView().cells()["Settings"].tap()
于 2013-12-17T14:38:45.210 回答
0

该变量targetTableView()不是方法,因此不需要括号:

targetTableView.cells()["Settings"].tap()

当我声明一个变量targetTableView时,我没有 的方法popover,所以没有分配这个方法:

var targetTableView = mainWindow.tableViews()[0];
于 2016-08-19T10:49:47.520 回答