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

python開發(fā)App基礎操作API使用示例過程

 更新時間:2021年10月29日 17:22:50   作者:李政楊  
這篇文章主要為大家介紹了python開發(fā)App基礎操作API使用的示例過程有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

手機控件查看工具uiautomatorviewer

工具簡介

用來掃描和分析Android應用程序的UI控件的工具.

如何使用

 1.進入SDK目錄下的tools目錄,打開uiautomatorviewer
 2.電腦連接真機或打開android模擬器
 3.啟動待測試app 
 4.點擊uiautomatorviewer的左上角Device Screenshot,會生成app當前頁面的UI控件截圖

 5.選擇截圖上需要查看的控件,即可瀏覽該控件的id,class,text,坐標等信息

 APP元素定位操作

Appium常用元素定位方式

 前置代碼

from appium import webdriver
# server 啟動參數(shù)
desired_caps = {}
# 設備信息
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1'
desired_caps['deviceName'] = '192.168.56.101:5555'
# app的信息
desired_caps['appPackage'] = 'com.android.settings'
desired_caps['appActivity'] = '.Settings'
 
# 聲明我們的driver對象
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

通過id定位

方法:find_element_by_id(id_value) # id_value:為元素的id屬性值

業(yè)務場景:

        1.進入設置頁面

        2.通過ID定位方式點擊搜索按鈕

通過class定位

 方法:find_element_by_class_name(class_value) # class_value:為元素的class屬性值

業(yè)務場景:

        1.進入設置頁面

        2.通過搜索按鈕

        3.通過class定位方式點擊輸入框的返回按鈕

通過xpath定位

方法:find_element_by_xpath(xpath_value) # xpath_value:為可以定位到元素的xpath語句
 
*** android端xptah常用屬性定位:
      1. id ://*[contains(@resource-id,'com.android.settings:id/search')] 
      2. class ://*[contains(@class,'android.widget.ImageButton')]
      3. text ://*[contains(@text,'WLAN')]
 
*** 模糊定位 contains(@key,value): value可以是部分值

業(yè)務場景:

        1.進入設置頁面

        2.點擊WLAN菜單欄

定位一組元素,注意element -> elements

應用場景為元素值重復,無法通過元素屬性直接定位到某個元素,只能通過elements方式來選擇,返回一個定位對象的列表.

WebDriverWait 顯示等待操作

在一個超時時間范圍內,每隔一段時間去搜索一次元素是否存在,
如果存在返回定位對象,如果不存在直到超時時間到達,報超時異常錯誤。

 方法:WebDriverWait(driver, timeout, poll_frequency).until(method)

參數(shù):

driver:手機驅動對象
timeout:搜索超時時間
poll_frequency:每次搜索間隔時間,默認時間為0.5s
method:定位方法(匿名函數(shù))

使用示例:     

WebDriverWait(driver, timeout, poll_frequency).until(lambda x: x.find_elements_by_id(id_value))

解釋:
        1.x傳入值為:driver,所以才可以使用定位方法.

函數(shù)運行過程:
        1.實例化WebDriverWait類,傳入driver對象,之后driver對象被賦值給WebDriverWait的一個類變量:self._driver
        2.until為WebDriverWait類的方法,until傳入method方法(即匿名函數(shù)),之后method方法會被傳入self._driver
        3.搜索到元素后until返回定位對象,沒有搜索到函數(shù)until返回超時異常錯誤.

業(yè)務場景:

        1.進入設置頁面

        2.通過ID定位方式點擊搜索按鈕

發(fā)送數(shù)據(jù)到輸入框

方法:send_keys(vaue) # value:需要發(fā)送到輸入框內的文本

業(yè)務場景:

        1.進入設置頁面

        2.點擊搜索按鈕

        3.輸入內容abc

 解決輸入中文問題:

server 啟動參數(shù)增加兩個參數(shù)配置

       desired_caps['unicodeKeyboard'] = True
       desired_caps['resetKeyboard'] = True

清空輸入框內容:

方法:clear()

獲取元素的屬性值

方法: get_attribute(value) # value:元素的屬性

業(yè)務場景:

        1.進入設置頁面

        2.獲取搜索按鈕的content-desc屬性值

value='name' 返回content-desc / text屬性值
value='text' 返回text的屬性值
value='className' 返回 class屬性值,只有 API=>18 才能支持
value='resourceId' 返回 resource-id屬性值,只有 API=>18 才能支持

獲取元素在屏幕上的坐標

 方法:location

獲取app包名和啟動名

獲取包名方法:current_package
獲取啟動名:current_activity

APP元素事件操作API

swip滑動事件

從一個坐標位置滑動到另一個坐標位置,只能是兩個點之間的滑動 

方法:swipe(start_x, start_y, end_x, end_y, duration=None) 

參數(shù):

      1.start_x:起點X軸坐標
      2.start_y:起點Y軸坐標
      3.end_x:  終點X軸坐標
      4.end_y: 終點Y軸坐標
      5.duration: 滑動這個操作一共持續(xù)的時間長度,單位:ms

業(yè)務場景:

        1.進入設置頁面

        2.從坐標(148,659)滑動到(148,248)

scroll滑動事件

從一個元素滑動到另一個元素,直到頁面自動停止

方法:scroll(origin_el, destination_el)

參數(shù):
      1.origin_el:滑動開始的元素
      2.destination_el:滑動結束的元素

業(yè)務場景:

        1.進入設置頁面

        2.從存儲菜單位置滑動到WLAN菜單位置

drag拖拽事件

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

方法:drag_and_drop(origin_el, destination_el)

參數(shù):

      1.origin_el:滑動開始的元素
      2.destination_el:滑動結束的元素

應用置于后臺事件

APP放置后臺,模擬熱啟動

方法:background_app(seconds)

參數(shù):

1.seconds:停留在后臺的時間,單位:秒

APP模擬手勢高級操作

TouchAction是AppiumDriver的輔助類,主要針對手勢操作,比如滑動、長按、拖動等,
原理是將一系列的動作放在一個鏈條中發(fā)送到服務器,服務器接受到該鏈條后,解析各個動作,逐個執(zhí)行

所有手勢都要通過執(zhí)行函數(shù)才會運行

手指輕敲操作

模擬手指輕敲一下屏幕操作 

方法:tap(element=None, x=None, y=None)
方法:perform() # 發(fā)送命令到服務器執(zhí)行操作

參數(shù):

     1.element:被定位到的元素
      2.x:相對于元素左上角的坐標,通常會使用元素的X軸坐標
      3.y:通常會使用元素的Y軸坐標

業(yè)務場景:

        1.進入設置頁面

        2.點擊WLAN選項

手指按操作

模擬手指按下屏幕,按就要對應著離開. 

方法:press(el=None, x=None, y=None)
方法:release() # 結束動作,手指離開屏幕 

參數(shù):
      1.element:被定位到的元素
      2.x:通常會使用元素的X軸坐標
      3.y:通常會使用元素的Y軸坐標

等待操作

方法:wait(ms=0)

參數(shù):   

ms:暫停的毫秒數(shù)

業(yè)務場景:

        1.進入設置頁面

        2.點擊WLAN選項

        3.長按選項5秒

手指長按操作

模擬手機按下屏幕一段時間,按就要對應著離開.

方法:long_press(el=None, x=None, y=None, duration=1000)

參數(shù):

      1.element:被定位到的元素
      2.x:通常會使用元素的X軸坐標
      3.y:通常會使用元素的Y軸坐標
      4.duration:持續(xù)時間,默認為1000ms

手指移動操作

模擬手機的滑動操作

方法:move_to(el=None, x=None, y=None)

參數(shù):

      1.el:定位的元素
      2.x:相對于前一個元素的X軸偏移量
      3.y:相對于前一個元素的Y軸偏移量

業(yè)務場景:

        1.進入設置頁面

        2.向上滑動屏幕

練習:

業(yè)務場景:

        1.進入設置頁面

        2.向上滑動屏幕到可見“安全”選項

        3.進入到安全

        4.點擊屏幕鎖定方式

        5.點擊圖案

        6.繪制圖案

以上就是python開發(fā)App基礎操作API使用示例過程的詳細內容,更多關于python開發(fā)App基礎操作API的資料請關注腳本之家其它相關文章!

相關文章

  • Python深入學習之對象的屬性

    Python深入學習之對象的屬性

    這篇文章主要介紹了Python深入學習之對象的屬性,本文從較深的層次講解對象屬性的內部運行方式,需要的朋友可以參考下
    2014-08-08
  • Python多分支語句的三種結構詳解

    Python多分支語句的三種結構詳解

    這篇文章主要介紹了Python多分支語句的三種結構,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • python中的Reportlab模塊詳解最新推薦

    python中的Reportlab模塊詳解最新推薦

    reportlab模塊是用python語言生成pdf文件的模塊,安裝方法也簡單,這篇文章主要介紹了python中的Reportlab模塊,需要的朋友可以參考下
    2023-05-05
  • Python numpy和matlab的幾點差異介紹

    Python numpy和matlab的幾點差異介紹

    這篇文章主要介紹了Python numpy和matlab的幾點差異,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • python協(xié)程之yield和yield?from實例詳解

    python協(xié)程之yield和yield?from實例詳解

    Python在并發(fā)處理上不僅提供了多進程和多線程的處理,還包括了協(xié)程,下面這篇文章主要給大家介紹了關于python協(xié)程之yield和yield?from的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • python3 Scrapy爬蟲框架ip代理配置的方法

    python3 Scrapy爬蟲框架ip代理配置的方法

    Scrapy是用python實現(xiàn)的一個為了爬取網(wǎng)站數(shù)據(jù),提取結構性數(shù)據(jù)而編寫的應用框架。使用Twisted高效異步網(wǎng)絡框架來處理網(wǎng)絡通信。這篇文章主要介紹了python3 Scrapy爬蟲框架ip代理配置,需要的朋友可以參考下
    2020-01-01
  • Python3.8對可迭代解包的改進及用法詳解

    Python3.8對可迭代解包的改進及用法詳解

    這篇文章主要介紹了Python3.8對可迭代解包的改進及用法詳解,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • python實現(xiàn)打開手機app并點擊操作

    python實現(xiàn)打開手機app并點擊操作

    這篇文章主要介紹了python實現(xiàn)打開手機app并點擊操作,本文分為兩部分一部分是打開應用,第二部分是調式手機連接電腦,需要的朋友可以參考下
    2022-04-04
  • python并發(fā)編程多進程之守護進程原理解析

    python并發(fā)編程多進程之守護進程原理解析

    這篇文章主要介紹了python并發(fā)編程多進程之守護進程原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • Python Pandas 獲取列匹配特定值的行的索引問題

    Python Pandas 獲取列匹配特定值的行的索引問題

    這篇文章主要介紹了Python Pandas 獲取列匹配特定值的行的索引問題,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07

最新評論