<thead id="jxdzp"><address id="jxdzp"><pre id="jxdzp"></pre></address></thead>

<em id="jxdzp"><span id="jxdzp"></span></em>

    <listing id="jxdzp"><nobr id="jxdzp"><meter id="jxdzp"></meter></nobr></listing>

      <address id="jxdzp"></address>
      <noframes id="jxdzp"><form id="jxdzp"><th id="jxdzp"></th></form>
      <noframes id="jxdzp"><form id="jxdzp"><th id="jxdzp"></th></form>

          訂閱本欄目 RSS您所在的位置: 深山工作室 > python > 正文

          Android移動端自動化測試:使用UIAutomatorViewer與Selenium定位元素

          2024/9/18 14:33:40 字體: 瀏覽 495

          APP移動端自動化測試】第三節.UIAutomatorViewer元素定位API操作

          (1)應用場景
          定位元素的時候必須根據元素的相關特征來進行定位,而UIAutomatorViewer就是用來獲取元素特征的。
          (2)簡介
          UlAutomatorViewer用來掃描和分析Android應用程序的UI控件的工具。
          (3)使用步驟
          1.進入SDK目錄下的目錄
          mac在tools/bin目錄下,打開uiautomatorviewero
          windows在 tools目錄下,打開uiautomatorviewer.bat
          2.電腦連接真機或打開android模擬器
          3.啟動待測試app
          4.點擊uiautomatorviewer的左上角Device Screenshot (從左數第二個按鈕)
          5.點擊希望查看的控件
          6.查看右下角Node Detail相關信息
          (4)示例
          查看《設置》應用程序右上角"放大鏡”按鈕的"resource-id".
              實現步驟:
              1.打開uiautomatorviewer
              2.打開android模擬器
              3.啟動《設置》應用程序
              4.點擊Device Screenshot按鈕
              5.點擊"放大鏡”按鈕
              6.查看Node Detail中的"resource-id”信息

              注意點:
              uiautomatorviewer注意點
              1.命令行窗口不要關閉
              2.如果uiautomatorviewer 閃退
                    更換jdk為1.8
              3.點擊第二個按鈕的時候報錯
                    重啟adb
                        adb kill-server
                        adb start-server


          ## Selenium元素定位
          Selenium是一個強大的Web應用程序測試工具,也支持Android原生應用測試。通過Selenium,我們可以根據不同的屬性來定位頁面上的元素,比如ID、類名和XPath表達式等。

          ### 單個元素定位
          #通過id定位一個元素
            driver.find_element_by_id('id_value').click()
           
          #通過class_name定位一個元素
            driver.find_element_by_class_name('class_value').send_keys('hello')
           
          #通過xpath定位一個元素
            driver.find_element_by_xpath('//[@content-desc="收起"]').click()

          其它示例
          1.driver.find_element_by_id("com.android.settings:id/search").click()
          2.driver.find_element_by_class_name(" android.widget.EditText").send_keys( "hello")
          3.driver.find_element_by_xpath(" / /*[@content-desc='收起"]").click()
          總結:
          1. find_element_by_id方法中傳入的是Node Detail信息中的resource-id
          2. find_element_by_class_name方法中傳入的是 Node Detail 信息中的class
          3. find element bv xpath方法中傳入的是Node Detail信息中的xpath表達式


          ### 一組元素定位
          當需要定位多個具有相同特征的元素時,可以使用以下方法:
          - **通過ID定位多元素**:
            titles = driver.find_elements_by_id('com.android.settings:id/title')
            for title in titles:
                print(title.text)
               
          - **通過Class Name定位多元素**:
            text_views = driver.find_elements_by_class_name('android.widget.TextView')
            for text_view in text_views:
                print(text_view.text)
               
          - **通過XPath定位多元素**:
            elements = driver.find_elements_by_xpath("http://*[contains(@text, '設')]")
            for element in elements:
                print(element.text)
               
          ### 元素等待
          由于網絡延遲等因素,有時頁面元素不會立即加載完畢。為此,Selenium提供了兩種等待機制——隱式等待和顯式等待,以避免因元素未加載完成而導致的腳本失敗。

          - **隱式等待**:設置一個全局超時時間,在此時間內如果找不到元素,則拋出異常。
            driver.implicitly_wait(10)  # 等待10秒
           
          - **顯式等待**:針對特定條件設置更精確的等待時間,超過指定時間后拋出異常。
            from selenium.webdriver.support.ui import WebDriverWait
            wait = WebDriverWait(driver, 10)
            search_button = wait.until(lambda x: x.find_element_by_xpath("http://*[contains(@content-desc, '收起')]"))
            search_button.click()

          前一頁:沒有了
          相關閱讀
          各個蘋果手表型號版本對比以及查看蘋果手機Apple Watch型號
          跳轉菜單,跳轉后用新窗口打開
          UL與LI 標簽詳解
          asp中最難發現的錯誤由最簡單的程序引起
          亂涂
          input輸入框的一些屬性詳解
          ASP導出WORD或Excel文檔(比較另類,而且超級強的。)
          比較實用的利用javascript按比例相應縮放圖片大小
          共有0條關于《Android移動端自動化測試:使用UIAutomatorViewer與Selenium定位元素》的評論
          發表評論
          正在加載評論......
          返回頂部發表評論
          呢 稱:
          表 情:
          內 容:
          評論內容:不能超過 1000 字,需審核,請自覺遵守互聯網相關政策法規。
          驗證碼: 驗證碼 
          網友評論聲明,請自覺遵守互聯網相關政策法規。

          您發布的評論即表示同意遵守以下條款:
          一、不得利用本站危害國家安全、泄露國家秘密,不得侵犯國家、社會、集體和公民的合法權益;
          二、不得發布國家法律、法規明令禁止的內容;互相尊重,對自己在本站的言論和行為負責;
          三、本站對您所發布內容擁有處置權。

          更多信息>>欄目類別選擇
          百度小程序開發
          微信小程序開發
          微信公眾號開發
          uni-app
          asp函數庫
          ASP
          DIV+CSS
          HTML
          python
          更多>>同類信息
          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還有其它的嗎
          更多>>隨機抽取信息
          旅行社手機網站模板11
          旅游網站的企業站自定義功能完成。
          五個簡單措施增強IIS安全性
          珍惜每一個你遇到過的人 放開你心靈之約的視頻
          網頁設計的十要十不要
          uni-app微信小程序分享微信好友與分享到朋友圈功能
          88国产精品视频一区二区三区