那天写了个 控件内点击指定位置:http://testerhome.com/topics/2247
今天重新改了下,对控件内的滑动,如下控件我需要在控件里面滑动,选取:
具体代码如下(目前只做滑动一次,有需要可以自己再做修改,如果有更好方式操作,求推荐):
/** * 控制滑动方向 */ public enum Heading { UP, DOWN } /** * 控件内上下滑动 * * @param step 测试步骤 * @param by 控件定位方式 * @param heading 滑动方向 UP DOWN */ public void swipeControl(String step, By by, Heading heading) { // 获取控件开始位置的坐标轴 Point start = this.findElement(driver, by).getLocation(); int startX = start.x; int startY = start.y; // 获取控件坐标轴差 Dimension q = this.findElement(driver, by).getSize(); int x = q.getWidth(); int y = q.getHeight(); // 计算出控件结束坐标 int endX = x + startX; int endY = y + startY; // 计算中间点坐标 int centreX = (endX + startX) / 2; int centreY = (endY + startY) / 2; switch (heading) { // 向上滑动 case UP: driver.swipe(centreX, centreY + 30, centreX, centreY - 30, 500); break; // 向下滑动 case DOWN: driver.swipe(centreX, centreY - 30, centreX, centreY + 30, 500); break; } log.info(step); }