在使用 Appium 對 Android 手機測試時,如何能對手機做 long_press 的動作

以前在用 uiautomator 在做自動化的時候,使用 long_press 的動作是很稀鬆平常的事情。
但在 Appium 做自動化的時候,卻沒有存在可以直接對 element 做 long_press 的動作,
也就是沒有 element.long_press() 這樣的 function 可以直接使用。

如下圖:列出 element 可用的 function,並沒有看到類似 long_press() 這樣的 function。
Appium_long_press

由於有一定得用到 long_press 動作的需求,所以就查詢了一下:
Appium touch_action.py 檔

發現 Appium 中其實還是有可以做 long_press 的 function(),
所以當我需要用到 long_press 時,我就會去 import touch_action 這個檔案,
將 element 丟到 long_press() 裡,最後要執行動作時,就讓他做 perform() 的動作執行。

from appium.webdriver.common import touch_action
touch_action = touch_action.TouchAction(self._driver)
touch_action.long_press(element)
touch_action.perform()

如此一來,就可以達到 long_press 的動作了。

參考文章:
Appium touch_action.py 檔

廣告

發表迴響

Please log in using one of these methods to post your comment:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s