欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Appium中scroll和drag_and_drop根據(jù)元素位置滑動

 更新時間:2022年02月15日 15:21:26   作者:測試之路king  
本文主要介紹了Appium中scroll和drag_and_drop根據(jù)元素位置滑動,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

背景

我們在操作APP應用時,有些需要從一個元素滑動到另外一個元素時,這時候我們無法確定坐標,所以swipe 根據(jù)坐標滑動方式就無法使用了,如下圖:從 課堂直播 上滑到 直播公開課 位置

在這里插入圖片描述


這時候我們就需要使用其他滑動方式,我們想到可以根據(jù)元素進行滑動,Appium 里面根據(jù)元素來進行滑動的方式主要方法為 scrolldrag_and_drop

scroll 介紹

說明

從一個元素滾動到另一個元素,只能是兩個元素之間的滑動。

方法詳情

def scroll(self: T, origin_el: WebElement, destination_el: WebElement, duration: Optional[int] = None) -> T:
        """Scrolls from one element to another

        Args:
            origin_el: the element from which to being scrolling
            destination_el: the element to scroll to
            duration: a duration after pressing originalEl and move the element to destinationEl.
                Default is 600 ms for W3C spec. Zero for MJSONWP.

        Usage:
            driver.scroll(el1, el2)

        Returns:
            Union['WebDriver', 'ActionHelpers']: Self instance
        """

        # XCUITest x W3C spec has no duration by default in server side
        if self.w3c and duration is None:
            duration = 600

        action = TouchAction(self)
        if duration is None:
            action.press(origin_el).move_to(destination_el).release().perform()
        else:
            action.press(origin_el).wait(duration).move_to(destination_el).release().perform()
        return self

參數(shù):

  • origin_el - 要滾動的起始元素
  • destination_el - 要滾動到的結束元素
  • duration - 持續(xù)時間,單位毫秒,默認為 600 ms

操作場景

  • 進入網(wǎng)易云首頁
  • 從課堂直播滑動到直播公開課位置

關鍵代碼實現(xiàn)

# 定位到課堂直播元素
el1 = driver.find_element(AppiumBy.XPATH, "http://*[@text='課堂直播']").click()

# 定位到直播公開課元素
el2 = driver.find_element(AppiumBy.XPATH, "http://*[@text='直播公開課']").click()

# 執(zhí)?滑動操作
driver.scroll(el1,el2)

說明

操作過程有 慣性,需要添加duration參數(shù),參數(shù)值越大,慣性越小。

drag_and_drop 介紹

說明

從一個元素滑動到另一個元素,第二個元素代替第一個元素原本屏幕上的位置。

方法詳情

def drag_and_drop(self: T, origin_el: WebElement, destination_el: WebElement) -> T:
        """Drag the origin element to the destination element

        Args:
            origin_el: the element to drag
            destination_el: the element to drag to

        Returns:
            Union['WebDriver', 'ActionHelpers']: Self instance
        """
        action = TouchAction(self)
        action.long_press(origin_el).move_to(destination_el).release().perform()
        return self

參數(shù):

  • origin_el - 要滑動頁面的起始元素
  • destination_el - 要滑動頁面到結束元素

操作場景

  • 進入網(wǎng)易云首頁
  • 從課堂直播滑動到直播公開課位置

關鍵代碼實現(xiàn)

# 定位到課堂直播元素
el1 = driver.find_element(AppiumBy.XPATH, "http://*[@text='課堂直播']").click()

# 定位到直播公開課元素
el2 = driver.find_element(AppiumBy.XPATH, "http://*[@text='直播公開課']").click()

# 執(zhí)?滑動操作
driver.drag_and_drop(el1,el2)

說明

不能設置持續(xù)時間,沒有慣性

滑動和拖拽使用場景選擇

滑動和拖拽無非就是考慮是否具有“慣性”,以及傳遞的參數(shù)是“元素”還是“坐標”。

  • scroll:有 “慣性” ,傳入 “元素”,可以通過設置duration參數(shù)來進行控制慣性大小
  • drag_and_drop:無 “慣性” ,傳入 “元素”
  • swipe:有 “慣性” ,傳入 “坐標”,可以通過設置duration參數(shù)來進行控制慣性大小

說明: 添加duration參數(shù),參數(shù)值越大,慣性越小

到此這篇關于Appium中scroll和drag_and_drop根據(jù)元素位置滑動的文章就介紹到這了,更多相關Appium 元素滑動內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python操作MySQL數(shù)據(jù)庫的方法

    Python操作MySQL數(shù)據(jù)庫的方法

    pymsql是Python中操作MySQL的模塊,其使用方法和MySQLdb幾乎相同。接下來通過本文給大家介紹Python操作MySQL數(shù)據(jù)庫的方法,感興趣的朋友一起看看吧
    2018-06-06
  • Pytorch中使用TensorBoard詳情

    Pytorch中使用TensorBoard詳情

    這篇文章主要介紹了Pytorch中使用TensorBoard詳情,TensorBoard的前段數(shù)據(jù)顯示和后端數(shù)據(jù)記錄是異步I/O的,即后端程序將數(shù)據(jù)寫入到一個文件中,而前端程序讀取文件中的數(shù)據(jù)來進行顯示
    2022-06-06
  • 利用python模擬實現(xiàn)POST請求提交圖片的方法

    利用python模擬實現(xiàn)POST請求提交圖片的方法

    最近在利用python做接口測試,其中有個上傳圖片的接口,在網(wǎng)上各種搜索,各種嘗試。下面這篇文章主要給大家介紹了關于利用python模擬實現(xiàn)POST請求提交圖片的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • python3的map與reduce實例詳解

    python3的map與reduce實例詳解

    這篇文章主要介紹了Python3中map()、reduce()、filter()的用法詳解,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • Python中NumPy的數(shù)組拆分

    Python中NumPy的數(shù)組拆分

    這篇文章主要介紹了Python中NumPy的數(shù)組拆分,我們使用array_split()分割數(shù)組,將要分割的數(shù)組和分割數(shù)傳遞給它,如果將一個數(shù)組拆分為 3 個數(shù)組,則可以像使用任何數(shù)組元素一樣從結果中訪問它們,需要的朋友可以參考下
    2023-07-07
  • pytorch部署到jupyter中的問題及解決方案

    pytorch部署到jupyter中的問題及解決方案

    這篇文章主要介紹了pytorch部署到jupyter中,在這里需要注意我再輸入的時候出現(xiàn)了一些無法定位的提示,但是我的電腦沒有影響使用jupyter,還是可以使用jupyter并且可以import torch,本文給大家講解的非常詳細,需要的朋友參考下吧
    2022-05-05
  • Python+Qt相片更換背景顏色窗體程序的步驟詳解

    Python+Qt相片更換背景顏色窗體程序的步驟詳解

    QT+Python是非常經(jīng)典的窗體編程組合,功能完善,可視化界面美觀易維護,這篇博客針對相片更換背景顏色方面編寫代碼,代碼整潔,規(guī)則,易讀,對學習與使用Python有較好的幫助,需要的朋友可以參考下
    2022-12-12
  • 詳解Python的hasattr() getattr() setattr() 函數(shù)使用方法

    詳解Python的hasattr() getattr() setattr() 函數(shù)使用方法

    這篇文章主要介紹了詳解Python的hasattr() getattr() setattr() 函數(shù)使用方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07
  • Python collections模塊的使用方法

    Python collections模塊的使用方法

    這篇文章主要介紹了Python collections模塊的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • 淺談Python中的模塊

    淺談Python中的模塊

    這篇文章主要介紹了Python中的模塊相關知識,文中代碼非常詳細,供大家參考和學習,感興趣的朋友可以了解下
    2020-06-06

最新評論