appium+python自動化48-長按(long_press)

來源:互聯網
上載者:User

標籤:tools   style   form   keycode   tor   down   none   touch   取消   

長按操作是經常會遇到的情境,通過driver可以直接調出long_press_keycode方法,但是這個方法是長按手機上某個按鈕,比如長按電源鍵,長按home鍵。
長按某個元素或者長按螢幕上某個點,就需要用到TouchAction裡面提供的long_press操作了

定位ListView

1.先看看哪些情境是ListView

2.像這種listview裡面每行記錄的id都是一樣的,就用前面講到的list定位,取下標就可以了

3.定位參考

# 定位聊天記錄列表,選第一個長按el = driver.find_elements_by_id("com.tencent.mm:id/apv")[0] 
長按long_press

1.長按的操作可以用前面講到的TouchAction類裡面的long_press方法操作

def long_press(self, el=None, x=None, y=None, duration=1000):        長按操作,可以傳定位的元素對象,也可以傳座標        el 是定位元素的對象        x,y是傳座標        duration是按住的期間,預設1000,單位是毫秒    

2.實現方法

# 長按TouchAction(driver).long_press(el).perform()
參考代碼
# coding:utf-8from appium import webdriverfrom appium.webdriver.common.touch_action import TouchActionimport timedesired_caps = {                ‘platformName‘: ‘Android‘,                ‘platformVersion‘: ‘7.0‘,                ‘deviceName‘: ‘A5RNW18316011440‘,                ‘appPackage‘: ‘com.tencent.mm‘,                ‘appActivity‘: ‘.ui.LauncherUI‘,                ‘automationName‘: ‘Uiautomator2‘,                # ‘unicodeKeyboard‘: True,                # ‘resetKeyboard‘: True,                ‘noReset‘: True,                # ‘chromeOptions‘: {‘androidProcess‘: ‘com.tencent.mm:tools‘}                }driver = webdriver.Remote(‘http://localhost:4723/wd/hub‘, desired_caps)driver.implicitly_wait(10)# 定位聊天記錄列表,選第一個長按el = driver.find_elements_by_id("com.tencent.mm:id/apv")[0]# 長按TouchAction(driver).long_press(el).perform()time.sleep(3)# 定位選項框‘刪除該聊天’driver.find_element_by_xpath("//*[@text=‘刪除該聊天‘]").click()time.sleep(3)# 定位選項框‘取消’driver.find_element_by_id("com.tencent.mm:id/alk").click() 

 

appium+python自動化48-長按(long_press)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.