首页 > 其他 > 详细

特殊场景元素操作&手势操作

时间:2020-12-24 09:22:44      阅读:27      评论:0      收藏:0      [点我收藏+]

特殊场景元素操作

toast元素定位

Android中的Toast是一种简易的消息提示框。 当视图显示给用户,在应用程序中显示为浮动。和Dialog 不一样的是,它永远不会获得焦点,无法被点击。

获取方式:

匹配所有的元素,找对应的text属性值中有包含tips关键字

androidDriver.findElement(By.xpath("//*[contains(@text, ‘tips‘)]"));

元素无法通过工具定位

eg:bilibili的登录页面、银行金融类的App、密码输入界面

原因在于:页面有做了截图限制,不能通过工具(元素定位工具、adb等)进行截图

可以通过adb命令验证页面是否做了截图限制

adb shell screencap -p /sdcard/1.png

解决方案 getPageSource API获取页面源代码信息

手势操作

滑动

滑动效果影响因素

  • 滑动距离
  • 滑动时间(越快滑动范围越大)

实战示例:下拉刷新

public void swipeDown(long times) {  

 int width = androidDriver.manage().window().getSize().getWidth();  

 int height = androidDriver.manage().window().getSize().getWidth();  

TouchAction touchAction = new TouchAction(androidDriver);    

PointOption startPoint = PointOption.point(width / 2, height / 4);    

PointOption endPoint = PointOption.point(width / 2, 3 * height / 4);    

Duration duration = Duration.ofMillis(times);    

WaitOptions waitOptions = WaitOptions.waitOptions(duration);  

touchAction.press(startPoint).waitAction(waitOptions).moveTo(endPoint).release().per form();

}

多点触摸

MultiTouchAction类可以模拟用户多点触摸操作,主要包含有add()和perform()两个方法,可以结合 TouchAction模拟多根手指滑动效果

技术分享图片

 

总结

  • 特殊场景元素操作:toast元素文本值获取,元素工具无法定位场景-getPageSource
  • 单手势动作:滑动->通用的向下滑动、通用向左滑动,多次连续滑动->连续调用moveTo
  • 多手势动作:放大/缩小 MultiTouchAction类型添加多个TouchAction滑动动作,最后调用perform

 

特殊场景元素操作&手势操作

原文:https://www.cnblogs.com/zhiyu07/p/14182399.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!