在ios UI Automation中浏览多个页面

时间:2012-07-19 21:01:28

标签: javascript automated-tests ios-ui-automation

在ios UI Automation工具中工作,我目前陷入困境。我的问题是我试图在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:}坐标时,它认为我在谈论工具栏或navigationBar。它不在滚动视图中,因此我无法滚动“向左”或“向右”。我可以调用另一个函数来允许我的测试移动到另一个页面吗?

3 个答案:

答案 0 :(得分:5)

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

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

通过查看录制的点击事件,您可以在yopu选择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方法。
  2. dragInsideWithOptions({startOffset:{x:0.03,y:0.44},endOffset:{x:0.81,y:0.50},持续时间: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”]细胞()[0] .buttons()[0] .tap();

    希望能帮到每个人:)

答案 1 :(得分:0)

如果您使用的是iOS7模拟器,那么这些方法就无法使用。但这些方法在Device上完全没问题。尝试在设备上运行您的代码。希望这会对你有所帮助

答案 2 :(得分:-1)

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

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

我希望这会有所帮助。