[Appium] click Visible属性是false的element 一种方法

在做UI自动化的工作中, 和同事遇到了Visible属性是false的element, 而且经常遇到. 当然我们可以和开发协商, 看能否更改这个属性的值为true, 不然据我尝试下来, 这种element点了是没有任何反应, 当然, 我们的自动化脚本也不会报错. 这个时候, 有时点击了, 我们的自动化脚本还会报错, 我发现可能和enabled这个属性相关, 当然我还没有得出具体结论, 等我得出, 我可能会另外开一篇博客说明.

当然, 这个时候开发不一定帮你改, 1是可能会影响到开发的代码, 2是看你们关系好不好了(当然一般会比较好的吧☺️)

那如何从我们测试自身解决问题呢, 我这里提供一种方法, 我和同事的讨论中, 最后得出的,

public static void tapUnVisible(MobileElement element){
        TouchAction tAction = new TouchAction(driver);
        int  x_position = element.getCenter().x;
        int  y_position =  element.getCenter().y;
        tAction.tap(x_position,y_position).perform();
    }

虽然这个元素是肉眼不可见, 但他是实际存在于前端代码中, 是isdisplayed, 所以自然首先很好定位到它, 问题的关键是在于怎么点击到, 所以用这种相对坐标的方式, 比较方便, 而且准确, 不会收到分辨率, 屏幕大小(移动端)之类的因素的影响.

我这里appium: java-client用的版本是:6.0.0-BETA5.
当然, 这个版本tap(int x, int y) Deprecated.
use tap(PointOption) instead.
大家需要的可以自行替换重写下, 就是现在都采用类似看起来是链式操作, 各种操作都是, 感觉更好, 更统一. 当然在这里也要感谢我的同事😁

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值