测试人社区

【求助】Appium 的touchAction滑动操作,轨迹上是能看到滑动的,但是实际上只是坐标滑动了,页面没有进行真正的滑动。

问题描述:Appium 的touchAction滑动操作,轨迹上是能看到滑动的,但是实际上只是坐标滑动了,页面没有进行真正的滑动。

  • 环境:macOS、appium-desktop(1.15.1版本)、java version “1.8.0_144”
  • 移动端型号:网易mumu-oppo R11s
  • 移动端系统:Android 6.0.1
  • 问题复述:Appium 的touchAction滑动操作,轨迹上是能看到滑动的,但是实际上只是坐标滑动了,页面没有进行真正的滑动。
    image

相关log文件

相关代码(包括log文件,都要使用markdown代码格式,)

class TestDW():
    # 测试用例前执行一次
    def setup(self):
        desire_caps = {}
        desire_caps["platformName"] = "android"
        desire_caps["platformVersion"] = "6.0.1"
        desire_caps["deviceName"] = "emulator-5554"
        desire_caps["appPackage"] = "com.xueqiu.android"
        desire_caps["appActivity"] = "com.xueqiu.android.common.MainActivity"
        desire_caps["noReset"] = "true"
        # 输入中文时调用unicode键盘,使用完成后重置键盘
        desire_caps["unicodeKeyBoard"] = "true"
        desire_caps["resetKeyBoard"] = "true"

        self.driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desire_caps)
        self.driver.implicitly_wait(3)

    def teardown(self):
        self.driver.quit()

    def test_touchAction(self):
        action = TouchAction(self.driver)
        action.press(x=725, y=2229).wait(2000).move_to(x=725, y=350).release().perform()

报错信息:

无(用例执行通过,但是实际页面并没有滑动)

原因以及解决方式(没有可以写无):

原因:

解决办法:

下次标签要选择 “open” 哈,要不然助教可能看不到

我的appium的版本跟你的是一样的, 把你的代码复制过来,我这边是可以正常滑的。

原因:
有可能是模拟器中app那个页面有问题。

解决方法:
你先试一下手动滑能不能滑动,如果能滑动再去运行脚本。
如果还是滑不动,换一种方式试试: self.driver.swipe(725,2229, 725, 350),试试这种滑动方式。

直接在mumu里面进行滑动是可以滑动的;试了下swipe,也滑不动。尴尬

你换个页面试试呢

换了个页面,2种方式都可以滑动。感谢

desire_caps["appActivity"] = "com.xueqiu.android.stockmodule.quotecenter.activity.QuoteCenterHotStockListActivity"

image

我也遇到了相同问题,请问你用的mumu模拟器中的指针是自动显示的吗,我换了页面也是没效果

可以试着把点击换成长按,我也遇到过这个情况,换成长按就可以滑动了
我是用的这个:

TouchAction ( self.driver ).long_press ( x=700 / 1080 * width , y=1000 / 2340 * height ).move_to (
                x=self.x , y=self.y ).wait ( t ).release ().perform ()

试了下你的方法,为啥我的还是没有效果,请问跟模拟器的指针开启有关系吗?

会不会和模拟器有关,我用的是雷电,当时对自己公司产品进行操作是可以的

你的模拟器都没有去主动开启指针就有了对吧?

我当时是开了指针的是

嗯,我开了指针然后放慢速度终于实现了。 :sweat_smile: