Chromedriver and MultiAction

Hi!

I use appium with chromedriver and android emulator. I try to zoom in map on site, but it’s not working (test passes, nothing happens: neither zoom nor errors).

there is my code:

        from appium.webdriver.common.touch_action import TouchAction as AppiumTouchAction
        from appium.webdriver.common.multi_action import MultiAction as AppiumMultiAction

        location = element.location

        x = location["x"]
        y = location["y"]
        
        multi_touch = AppiumMultiAction(self.driver)
        action1 = AppiumTouchAction(self.driver)
        action1.press(x=x, y=y).move_to(x=x, y=y-100).release()
        action2 = AppiumTouchAction(self.driver)
        action2.press(x=x, y=y).move_to(x=x, y=y+100).release()
        multi_touch.add(action1, action2)
        multi_touch.perform()

Does chromedriver have support MultiAction?

python 3.8.2, appium 1.16.0, chrome 84, chromedriver ChromeDriver 84.0.4147.30

Try W3C actions: https://appiumpro.com/editions/29-automating-complex-gestures-with-the-w3c-actions-api

also, these action only work in native context.

I’m not quite sure if chromedriver supports that, but one could also try W3C actions being in web context. Also it is necessary to make sure it is running in w3c mode (the most recent Appium version must be running)

How can I make sure w3c mode is in use? Doesn’t see such option in appium server 1.18.0.

It should automatically be enabled for chrome drivers above v75. Again, Appium server should be updated to the most recent version