python+appium自動化測試-滑動
一、scroll()方法
Appium 中webdriver提供scroll()方法來滾動頁面,該方法只適用于屏幕上已經顯示的兩個元素,從一個元素滾動到另一個元素。若元素不存在當前屏幕或被遮擋,則無法使用該方法。
方法介紹:
scroll(self, start_el, stop_el, duration=None):
參數:
- start_el- 開始要滾動的元素
- stop_el- 要滾動到的元素
- 即從元素stop_el滾動至元素start_el
- duration 即滾動的持續時間
具體代碼如下
def scroll():
stop_el = self.driver.find_element_by_xpath("http://android.widget.TextView[@text='2008']")
start_el = self.driver.find_element_by_xpath("http://android.widget.TextView[@text='2012']")
self.driver.scroll(start_el, stop_el)
二、UiScrollable()方法
UiScrollable是UiCollection的子類,專門處理滾動時間,提供各種滾動方法,下面只介紹了滾動到固定的對象。
相關概念:
步長:從一點到另一點使用的時間。步長越短滾動越快,反之步長越長滾動越慢。
掃動次數:觸發滾動的次數。
上栗子:使用上一個方法scroll()的栗子圖片,實現從“2008”滑動到“2012”。
def test():
self.driver.find_element_by_android_uiautomator(
'new UiScrollable(new UiSelector().scrollable(true)).scrollIntoView(new UiSelector().text("2012")).scrollToEnd(10,5)')
# text("2012"):表示需要滑動的位置
# scrollToEnd(10,5):以步長(速率)5滾動到列表底部,最多滾動10次。
注意:該方法會直接滑動到列表最底部或最頂部,在中間時比較不好判斷,如果列表的數據比較長的話,建議不使用哦。評論區有沒有哪位大神,有好的方法來解決這個局限性,感謝!!
三、swipe()方法
使用循環實現,具體實現方法為:
寫一個循環,循環中再做判斷
若查找到元素,則執行點擊
若未查找到元素,則做上滑操作,向上滑動列表
若向上滑到列表最底部仍然未查找到數據,則判斷當前是否處于列表最底部
當前處于列表最底部,則做下滑操作,向下滑動列表
注意:scroll() 與swipe()的區別,swipe是可以根據自己需要設置滑動的距離,而scroll是根據頁面中兩個元素位置距離進行滑動。
- 相關閱讀
- 亂涂
- 推薦:ASP初學者常用源代碼總結篇
- 代碼絕對精簡的仿lightbox效果彈出層
- flash利用as調用執行外部設置的exe文件
- 使用uni-app開始小程序使用騰訊視頻插件vid播放視頻
- 山西省太原夏日陽光國際旅行社
- 對打開的窗口進行個性尺寸大小定制
- 純div+css制作的彈出菜單-05
- 共有0條關于《python+appium自動化測試-滑動》的評論
- 發表評論
您發布的評論即表示同意遵守以下條款:
一、不得利用本站危害國家安全、泄露國家秘密,不得侵犯國家、社會、集體和公民的合法權益;
二、不得發布國家法律、法規明令禁止的內容;互相尊重,對自己在本站的言論和行為負責;
三、本站對您所發布內容擁有處置權。
- 更多>>同類信息
- Android移動端自動化測試:使用UIAutomatorViewer與Selenium定位元素
- python通過代碼修改pip下載源讓下載庫飛起
- python里面requests.post返回的res.text還有其它的嗎
- windows7環境下安裝配置jdk
- python對微信操作要用到這兩個庫wxpy與itchat
- 8種Python字符串拼接的方法,你知道幾種
- 更多>>最新添加文章
- dw里面查找替換使用正則刪除sqlserver里面的CONSTRAINT
- Android移動端自動化測試:使用UIAutomatorViewer與Selenium定位元素
- 抖音直播音掛載小雪花 懂車帝小程序
- javascript獲取瀏覽器指紋可以用來做投票
- 火狐Mozilla Firefox出現:無法載入您的Firefox配置文件 它可能已經丟失 或是無法訪問 問題解決集合處理辦法
- 在Android、iOS、Windows、MacOS中微信小程序的文件存放路徑
- python通過代碼修改pip下載源讓下載庫飛起
- python里面requests.post返回的res.text還有其它的嗎