title: Zoom action in android using appium-python-client
body: <p>Does anybody know how to zoom an element in android via appium python client?</p>
  
  <p>I am currently using</p>
  
  <p><code>self.driver.zoom(self.element, percent)</code> but this gives an error</p>
  
  <pre><code>self.driver.zoom(self.element, percent)
  File "/usr/local/lib/python2.7/site-packages/appium/webdriver/webdriver.py", line 308, in zoom
  self.execute_script('mobile: pinchOpen', opts)
  File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 461, in execute_script
  {'script': script, 'args':converted_args})['value']
  File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 233, in execute
  self.error_handler.check_response(response)
  File "/usr/local/lib/python2.7/site-packages/appium/webdriver/errorhandler.py", line 29, in check_response
  raise wde
  WebDriverException: Message: Method has not yet been implemented
  </code></pre>
  
  <p>I also tried through <code>MultiAction</code>.</p>
  
  <pre><code>loc = self.element.location
  print loc
  xx, yy = loc["x"], loc["y"]
  xx=700
  action1 = TouchAction(self.driver)
  action1.long_press(x=xx, y=yy).move_to(x=0, y=1000).release()
  action2 = TouchAction(self.driver)
  action2.long_press(x=xx, y=yy).move_to(x=0, y=-1000).release()
  m_action = MultiAction(self.driver)
  m_action.add(action1, action2)
  m_action.perform()
  </code></pre>
  
  <p>But again this does not perform any zoom.Instead it scrolls down the list.Does anybody have any idea about what's wrong here.</p>
  
  <p><code>Appium Logs</code></p>
  
  <pre><code>[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {"cmd":"action","action":"element:getLocation","params":{"elementId":"83"}}
  [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
  [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: getLocation
  [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {"status":0,"value":{"x":0,"y":1225}}
  [debug] [AndroidBootstrap] Received command result from bootstrap
  [MJSONWP] Responding to client with driver.getLocation() result: {"x":0,"y":1225}
  [HTTP] &lt;-- GET /wd/hub/session/c1a4d17f-0dc6-4445-bfad-776ec65bddb5/element/83/location 200 26 ms - 88 
  [HTTP] --&gt; POST /wd/hub/session/c1a4d17f-0dc6-4445-bfad-776ec65bddb5/touch/multi/perform {"sessionId":"c1a4d17f-0dc6-4445-bfad-776ec65bddb5","actions":[[{"action":"longPress","options":{"y":1225,"x":700,"duration":1000}},{"action":"moveTo","options":{"y":1000,"x":0}},{"action":"release","options":{}}],[{"action":"longPress","options":{"y":1225,"x":700,"duration":1000}},{"action":"moveTo","options":{"y":-1000,"x":0}},{"action":"release","options":{}}]]}
  [MJSONWP] Calling AppiumDriver.performMultiAction() with args: [[[{"action":"longPress","o...
  [debug] [AndroidBootstrap] Sending command to android: {"cmd":"action","action":"performMultiPointerGesture","params":{"actions":[[{"action":"longPress","time":0.005,"touch":{"y":1225,"x":700,"duration":1000}},{"action":"moveTo","time":0.01,"touch":{"y":2225,"x":700}}],[{"action":"longPress","time":0.005,"touch":{"y":1225,"x":700,"duration":1000}},{"action":"moveTo","time":0.01,"touch":{"y":225,"x":700}}]]}}
  [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {"cmd":"action","action":"performMultiPointerGesture","params":{"actions":[[{"action":"longPress","time":0.005,"touch":{"y":1225,"x":700,"duration":1000}},{"action":"moveTo","time":0.01,"touch":{"y":2225,"x":700}}],[{"action":"longPress","time":0.005,"touch":{"y":1225,"x":700,"duration":1000}},{"action":"moveTo","time":0.01,"touch":{"y":225,"x":700}}]]}}
  [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
  [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: performMultiPointerGesture
  [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {"status":0,"value":"OK"}
  [debug] [AndroidBootstrap] Received command result from bootstrap
  [MJSONWP] Responding to client with driver.performMultiAction() result: "OK"
  [HTTP] &lt;-- POST /wd/hub/session/c1a4d17f-0dc6-4445-bfad-776ec65bddb5/touch/multi/perform 200 133 ms - 76 
  [HTTP] --&gt; DELETE /wd/hub/session/c1a4d17f-0dc6-4445-bfad-776ec65bddb5 {}
  </code></pre>