2

在 ios UI 自动化工具中工作,我目前被卡住了。我的问题是我正在尝试在 javascript 中的页面之间自动进行水平滑动,但我似乎无法让它工作。

我努力了:

“dragInsideWithOptions”

“flickInsideWithOptions”

“dragToFromDuration”

“flickFromTo”

target.dragFromToForDuration({x:50.00, y:200.00}, {x:300.00, y:200.00});

一个不断发生的问题是,当我只想让它定位到窗口上的某个位置以实际更改为新页面时,它一直定位到顶部导航栏。我在 UI 自动化的参考资料中看到的唯一信息涉及 rects(),似乎每次我指定 {x:, y:}{x:, y:} 坐标时,它都认为我在谈论工具栏或导航栏。它不在滚动视图中,所以我根本无法滚动“左”或“右”。我可以调用另一个函数来允许我的测试移动到不同的页面吗?

4

3 回答 3

5

试试这个,它对我来说非常有用:

伪代码: 1. 确定要在其上执行滑动手势的单元格。例如:在表格视图单元格上执行滑动。2. 通过点击单元格的开始和结束来记录事件以获得开始和结束的偏移量。

通过查看记录的点击事件,您可以在您选择 tapWithOptions 方法时获得点击偏移量。

例如:你会得到 tapWithOptions({tapOffset:{x:1.07, y:0.65}});

然后记下偏移量作为起始偏移量。例如:{startOffset:{x:0.03, y:0.44}

同样,对从末端抽头点的末端偏移执行上述操作。

例如:endOffset:{x:0.81, y:0.50}

一旦你得到了那个单元格的源和结束偏移量,

  1. 对上述偏移量使用 dragInsideWithOptions 方法。

dragInsideWithOptions({startOffset:{x:0.03, y:0.44}, endOffset:{x:0.81, y:0.50},duration:1}

最后它看起来像下面这样: app.mainWindow().tableViews()["UBSTableView"].cells()[0].dragInsideWithOptions({startOffset:{x:0.03, y:0.44}, endOffset:{x:0.81 , y:0.50},持续时间:1}); app.mainWindow().tableViews()["UBSTableView"].cells()[0].buttons()[0].tap();

希望对大家有帮助:)

于 2012-09-10T10:37:30.233 回答
0

如果您使用的是 iOS7 模拟器,那么这些方法将不起作用。但是这些方法在设备上完全可以。尝试在设备上运行您的代码。希望对你有帮助

于 2013-12-17T09:35:54.710 回答
-1

尝试使用超时值更新您的 dragFromToDuration 调用:

target.dragFromToForDuration({x:50.00, y:200.00}, {x:300.00, y:200.00}, 3);

我希望这将有所帮助。

于 2012-08-13T12:28:08.467 回答