最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

appium測試之APP元素定位及基本工具介紹

 更新時間:2021年09月02日 09:08:58   作者:清安無別事  
看了我文章了相信都了解了web端的元素定位了,沒看的,既然進來了那么肯定多多少少知道些,本文主要來介紹APP的元素定位有哪些定位方式,我們又怎么去連接APP,然后通過工具去獲取元素

添加配置

這里跟我們之前所說的appium測試工具的配置差不多。

deviceName:設(shè)備名稱

platformName:測試平臺

platformVersion:平臺版本

appPackage:測試app包名

appActivity:測試app啟動入口

那么寫道Pycharm里面就是:

from appium import webdriver
 
desired_capas={
    'deviceName':'127.0.0.1:62001',
    'platformName':'Android',
    'platformVersion':'5.1.1',
    'appPackage':'net.csdn.csdnplus',
    'appActivity':'.activity.MainActivity',
    'noReset':True  # True沒有清除緩存,False清除app緩存的操作
}
rt = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_capas)

有沒有看著很眼熟,實例化這一步括號里面的操作是我們appium連接界面的那個配置,后面跟著的就是配置參數(shù)了。

放在appium工具里面就是這樣:

這里我上面用的是夜神模擬器,下面用的是雷電模擬器,里面有一些其他的參數(shù)都可以自己加進去。

這里用的是某站的界面,appium連接之后就可以在這里操作,模擬器里面的界面也會隨之而動。

uiautomatorviewer使用介紹

此功能在Android SDK中自帶,在tools文件夾下

等抓取完之后就會呈現(xiàn)出界面了

本章兩個工具就介紹到這里了,兩個各有好處,各有所短,后續(xù)還會有其他的工具介紹。

元素定位

方法:id定位,name定位(text定位),class_name定位, accessibility_id定位,xpath定位等 (目前1.5版本的已經(jīng)不支持name定位了),所以APP的定位與selenium定位除了個別的定位方法不同之外,其他的基本都有類似之處。

        id定位 根據(jù)元素的resource-id屬性值進行定位

        name定位 根據(jù)元素的text屬性值進行定位 Appium1.5之后移除了這種方式

        class_name定位 根據(jù)元素的class屬性值進行定位

        accessibility_id定位 根據(jù)元素的content-desc屬性值進行定位Android (IOS->label或name屬性)

        xpath定位 uiautomatorview沒有xpath路徑

        在appium中使用xpath定位需要自己去寫xpath路徑

          Xpath用法:find_element_by_xpath("http://標簽名[@屬性名稱= '屬性值']")                              

          如:find_element_by_xpath("http://android.widget.TextView[@text= '同意']") 

          如:find_element_by_xpath("http://*[@text= '電子郵件']") 星號表示模糊匹配

id定位

注:定位工具你隨意,這里我打開的網(wǎng)易云,定位左上角的按鈕,點擊操作

from selenium import webdriver 
desired_capas = {
  "deviceName": "emulator-5554",
  "platformName": "Android",
  "appPackage": "com.netease.cloudmusic",
  "appActivity": ".activity.MainActivity",
  "platformVersion": "7.1.2",
  "noReset": "True"
}
rt = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_capas)
rt.find_element_by_id('com.netease.cloudmusic:id/menu_icon').click()

這里你會發(fā)現(xiàn)這里有這么一個http://127.0.0.1:4723...這里是用于連接appium界面的,但是我元素定位工具使用的是 uiautomatorviewer,這兩者不沖突,需打開appium才能使用哦。只是appium里面自帶了一個定位工具罷了。

class name定位

from selenium import webdriver
desired_capas = {
  "deviceName": "emulator-5554",
  "platformName": "Android",
  "appPackage": "com.netease.cloudmusic",
  "appActivity": ".activity.MainActivity",
  "platformVersion": "7.1.2",
  "noReset": "True"
}
rt = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_capas)
rt.find_element_by_id('com.netease.cloudmusic:id/menu_icon').click()
rt.find_element_by_class_name('android.widget.TextView').click()

accessibility_id定位

這個定位方法說來也奇怪,這個定位方法我空了兩天,因為之前跑是找不到這個方法的,也就是不可用,具體原因不詳,不過官網(wǎng)無消息證明,此處就此放過,后續(xù)發(fā)現(xiàn)可以使用及時補上。

xpath定位

這里兩個都是可以的,隨意,切記uiautomatorview無xpath定位給出哦。

from selenium import webdriver 
desired_capas = {
  "deviceName": "emulator-5554",
  "platformName": "Android",
  "appPackage": "com.netease.cloudmusic",
  "appActivity": ".activity.MainActivity",
  "platformVersion": "7.1.2",
  "noReset": "True"
}
rt = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_capas)
rt.find_element_by_id('com.netease.cloudmusic:id/menu_icon').click()
rt.find_element_by_class_name('android.widget.TextView').click()
rt.find_element_by_xpath('//*[@text="手機號登錄"]').click()

xpath的定位方式看個人,復制還是自己寫,自己寫一半代碼還是全文字匹配,都是可以的

        有元素定位就會有元素組定位,元素組定位跟selenium類似,都是需要列表取值的方式進行定位。

1. driver.find_elements_by_id()[a]

2. driver.find_elements_by_name()[b]

3. driver.find_elements_by_accessibility_id()[c]

4. driver.find_elements_by_xpath()[d]

APP元素定位會有很多重復的元素,絲毫不亞于web界面元素,更多關(guān)于appium測試APP元素定位及基本工具的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • django批量導入xml數(shù)據(jù)

    django批量導入xml數(shù)據(jù)

    從網(wǎng)上下載的一些數(shù)據(jù),excel表格,xml文件,txt文件等有時候我們想把它導入數(shù)據(jù)庫,應該如何操作呢?下面我們就來詳細討論下。
    2016-10-10
  • python pyg2plot的原理知識點總結(jié)

    python pyg2plot的原理知識點總結(jié)

    在本篇文章里小編給大家整理的是一篇關(guān)于python pyg2plot的原理知識點總結(jié)內(nèi)容,有興趣的朋友們可以參考下。
    2021-02-02
  • python opencv鼠標畫點之cv2.drawMarker()函數(shù)

    python opencv鼠標畫點之cv2.drawMarker()函數(shù)

    這篇文章主要給大家介紹了關(guān)于python opencv鼠標畫點之cv2.drawMarker()函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用opencv具有一定的參考下學習價值,需要的朋友可以參考下
    2021-10-10
  • python中使用pyhook實現(xiàn)鍵盤監(jiān)控的例子

    python中使用pyhook實現(xiàn)鍵盤監(jiān)控的例子

    這篇文章主要介紹了python中使用pyhook實現(xiàn)鍵盤監(jiān)控的例子,包含pyhook的下載地址和手冊地址及一個Windows下的監(jiān)控實例,需要的朋友可以參考下
    2014-07-07
  • python自動生成證件號的方法示例

    python自動生成證件號的方法示例

    這篇文章主要給大家介紹了關(guān)于python自動生成證件號的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • PyTorch函數(shù)torch.cat與torch.stac的區(qū)別小結(jié)

    PyTorch函數(shù)torch.cat與torch.stac的區(qū)別小結(jié)

    Pytorch中常用的兩個拼接函數(shù)torch.cat() 和 torch.stack(),本文主要介紹了這兩個函數(shù)的用法加區(qū)別,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • django的403/404/500錯誤自定義頁面的配置方式

    django的403/404/500錯誤自定義頁面的配置方式

    這篇文章主要介紹了django的403/404/500錯誤自定義頁面的配置方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • 詳解python破解zip文件密碼的方法

    詳解python破解zip文件密碼的方法

    這篇文章主要介紹了python破解zip文件密碼的方法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • Matplotlib中文亂碼的兩種詳細解決方案

    Matplotlib中文亂碼的兩種詳細解決方案

    最近手頭有公司的數(shù)據(jù)資源,正好拿來練習了matplotlib的畫圖,期間碰到一個坑,就是中文在圖表中顯示的是方框,下面這篇文章主要給大家介紹了關(guān)于Matplotlib中文亂碼的兩種詳細解決方案,需要的朋友可以參考下
    2022-07-07
  • Python之虛擬環(huán)境virtualenv,pipreqs生成項目依賴第三方包的方法

    Python之虛擬環(huán)境virtualenv,pipreqs生成項目依賴第三方包的方法

    今天小編就為大家分享一篇Python之虛擬環(huán)境virtualenv,pipreqs生成項目依賴第三方包的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07

最新評論

泊头市| 虹口区| 廊坊市| 府谷县| 阿瓦提县| 怀化市| 屯门区| 济宁市| 茶陵县| 赣榆县| 珲春市| 库伦旗| 灌云县| 华容县| 东源县| 芒康县| 西乌珠穆沁旗| 梅河口市| 江油市| 泰安市| 宁陵县| 岐山县| 周口市| 老河口市| 宝兴县| 白河县| 秦皇岛市| 阿尔山市| 玉田县| 屏边| 汉寿县| 亳州市| 磴口县| 桐梓县| 随州市| 耿马| 荥阳市| 大名县| 湄潭县| 乌审旗| 新余市|