appium ios 上滑y坐标传值问题

  • 问题
    • 按照android的滑动,比如要是向上滑动就是y坐标从大滑到小,比如y坐标是100,那么相对坐标就是100*0.8->100*0.2,x坐标不变即可,这样子在android上面运行没问题,但是在ios屏幕上一直是往下滑动
    • appium的log打印出来是这样的

      Received the following touch action: press(options={"y":533,"x":187})-wait(options={"ms":1000})-moveTo(options={"y":166,"x":187})-release(options={})
    • 可以看出让appium执行滑动命令的是从大坐标往小坐标移动,但是在看一条日志

      Proxying [POST /wda/dragfromtoforduration] to [POST http://localhost:8100/session/52C75AF0-8CF4-4D86-A72F-83A89677FA93/wda/dragfromtoforduration] with body: {"fromX":187,"fromY":533,"toX":374,"toY":699,"duration":1}
    • 这个日志可以看appium执行的时候其实坐标是对的,但是终点坐标变成了699,ios 4.7寸的y轴最大才667,可见已经超出了屏幕范围,我猜是这个坐标导致一直是往下滑动的操作
  • 解决办法
    • 如果继续调用swipe方法肯定是不得行,我感觉是appium执行转化坐标的时候可能存在bug,那我们直接就调用wda里面的执行方法(dragFromToForDuration)告诉他滑动的坐标距离是多少,即可解决此问题

      self.driver.execute_script("mobile: dragFromToForDuration", {"fromX": width / 2,
      "fromY": height * 4 / 5,
      "toX": width / 2,
      "toY": height / 4,
      "duration": 1})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值