使用手势

手势是移动应用中的用户交互的重要组成部分。 点击、swipes 和笔锋允许用户通过多种方式与应用程序进行交互,并以直观直观的方式进行交互。 本指南讨论适用于 Android 和 iOS 的 UITest 的 Api。

UITest 提供大量 Api 来模拟笔势或设备的物理交互。 下面列出了一些 (但不是所有这些 Api) :

  • IApp. DoubleTap -执行两次快速点击匹配的视图。
  • IApp. DragCoordinates -此方法模拟两个点之间的连续拖动。
  • IApp. PinchToZoomIn -此方法将在匹配的视图上执行一项缩小的手势来放大。
  • IApp. PinchToZoomOut -此方法将在匹配的视图上执行缩小手势以缩小。
  • IApp. ScrollUp / IApp. ScrollDown -执行向下或向下滚动的触摸手势。
  • IApp. SwipeLeftToRight / IApp. RightToLeft -它模拟从左到右或从右到左的笔势。
  • IApp -此点点击第一个匹配的元素。
  • IApp. TouchAndHold -此方法将持续触摸查看。

这些 Api 都采用了 AppQuery 用于查找相关视图的。 如果查询定位了多个视图,则 API 将作用于找到的第一个视图。 例如,以下代码片段将双击:

app.DoubleTap(c=>c.Marked("save_button"))

有关 AppQuery.Marked 工作原理的详细信息,请参阅 Marked 方法。

使用 (而不是 )可以 string 匹配元素 AppQuery 。 这些重载方法将使用字符串作为选择 Marked 器来查找视图。 例如 app.DoubleTap(c=>c.Marked("save_button")) ,可以编写为:

app.DoubleTap("save_button")

备注

由于 iOS 模拟器中的 bug, 在滚动视图(如 或 ) flick / swipeUITableView 不起作用 UIScrollView

滚动屏幕以查找视图

UITest 只能与屏幕上显示的视图进行交互。 可以使用 或 以编程 IApp.ScrollUp IApp.ScrollDown 方式将视图滚动到屏幕上。 此方法采用 AppQuery标记的字符串 来引用特定视图。 然后,UITest 将滚动到视图在屏幕上可见。 以下代码片段演示如何向下滚动,直到"保存"按钮可见:

app.ScrollDown("save_button")

IApp.Scroll* 接受第二个可选参数,该参数将描述 UITest 如何模拟滚动。 可能的选择封装在 ScrollStrategy 枚举中:

说明
ScrollStrategy.Auto 这是默认值。 UITest 将在尝试 Programmatically 滚动 Gesture 时使用 或 。 它偏向 Programmatically 于 。
ScrollStrategy.Programmatically UITest 将尽可能快地滚动屏幕,直到显示视图。
ScrollStrategy.Gesture UITest 将尝试使用一系列手势来模拟用户滚动屏幕。