在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。它不在滚动视图中,因此我无法滚动“向左”或“向右”。我可以调用另一个函数来允许我的测试移动到另一个页面吗?
答案 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}
获得该单元格的源和结束偏移后,
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);
我希望这会有所帮助。