博客 / 詳情

返回

軟件測試開發/全日制丨自動化測試定位策略 學習筆記

本文轉自測試人社區,霍格沃茲測試開發學社學員筆記
原文鏈接:https://ceshiren.com/t/topic/29506

App定位方式

  • Accessibility id: 識別一個唯一的 UI 元素,對於 XCUITest 引擎,它對應的的屬性名是 accessibility-id,對於 Android 系統的頁面元素,對應的屬性名是 content-desc
  • Class name: 對於 iOS 系統,它的 class 屬性對應的屬性值會以XCUIElementType開頭,對於 Android 系統,它對應的是 UIAutomator2 的 class 屬性(e.g.: android.widget.TextView)
  • ID: 原生元素的標識符,Android 系統對應的屬性名為resource-id,iOS 為name
  • Name: 元素的名稱
  • Xpath: 使用 xpath 表達式查找頁面所對應的 xml 的路徑(不推薦,存在性能問題)

App 定位方式進階

  • Image: 通過匹配 base 64 編碼的圖像文件定位元素
  • Android Uiautomator(Uiautomator2 Only): 使用Uiautomator 提供的API, 尤其是UiSelector 類來定位元素, 在Appium中 會發生java代碼作為字符串發送到服務器,服務器在應用程序的環境中執行這段代碼,並返回一個或多個元素
  • Android View Tag(Espressor only): 使用 view tag定位元素
  • Android Data Macther(Espressor only): 使用Espressor數據匹配器定位元素
  • IOS UIAutomation: 在IOS 應用程序自動化時,可以使用蘋果的 instruments 框架查找元素

Web定位方式

  • class name: 通過 class 屬性定位元素
  • css selector: 通過匹配css selector 定位元素
  • id: 通過 id 屬性匹配元素
  • name: 通過 name 屬性定位元素
  • link text: 通過 text 標籤中間的text文本定位元素
  • partial link text: 通過 text 標籤中間的text文本的部分內容定位元素
  • tag name: 通過 tag 名稱定位元素
  • xpath: 通過 xpath 表達式匹配元素

選擇定位器通用原則

  • 與研發約定的屬性優先

    • web 推薦 class
    • android 推薦 content-description
    • ios 推薦 label
  • 身份屬性 id,name(web 定位)
  • 組合定位 xpath,css
  • 其它定位

Web 彈框定位

web 需要使用 driver.switchTo().alert() 處理

App toast 提示框定位

  • 使用 driver.page_source 拿到頁面佈局結構文件,分析 toast/彈框組件的標籤內容,
  • 然後通過 id/text/class 等屬性,使用 xpath 完成元素定位
  • 結合 隱式等待

下拉框/日期控件定位

  • 場景:

    • 標籤組合的下拉框無法定位
    • 標籤組合的日期控件無法定位
  • 解決:

    • 面對這些元素,我們可以引入 JS 注入技術來解決問題。

文件上傳定位

  • 場景:

    • input 標籤文件上傳
  • 解決:

    • input 標籤直接使用 send_keys()方法

推薦

Python全棧開發與自動化測試開發班

由淺入深實戰進階,從小白到高手

以Python全棧開發為基礎,深入教授自動化測試技能,為學員打造全面的技術能力。通過系統學習和實際項目實戰,學員將具備在職場中脱穎而出的競爭力。不僅能夠靈活運用Python進行開發,還能夠保障項目質量通過自動化測試手段。這是一個全面提升職業競爭力的機會。

課程詳情

Python開發必備基礎技能與項目實戰

Pvthon 編程語言/算法和數據結構/面向對象編程Web後端開發/前端開發/測試管理平台項目實戰

人工智能ChatGPT實戰

人工智能輔助學習各種開發和測試技能/Pytorch深度學框架/平台開發實戰

數據分析與自動化辦公

數據採集/Pandas與數據處理技術/ECharts與數據可視化技術/爬蟲實戰/自動化辦公/批量文件處理

UI自動化測試與高級項目實戰

Web自動化測試/App自動化測試/ PageObject設計模式

接口自動化測試

接口協議分析/Mock實戰/服務端接口測試

性能測試

性能測試流程與方法/JMeter 腳本參數化/Grafana監控系統搭建

簡歷指導與模擬面試

1V1簡歷指導/模擬真實面試/測試開發崗面試全攻略名企私教服務 名企專家1v1輔導/行業專家技術指導/針對性解決工作難題/績效提升輔導與晉升覆盤

課程亮點

名企私教服務  先學習後付費 高額獎學金

專屬社羣+晚自習在線答疑

5V1全方位輔導作業+考試強化學習效果

簡歷修改 模擬面試 就業內推 面試覆盤

image.png  

福利一: 測試開發精品課免費學

image.png  

福利二:免費領取技能圖譜&大廠面試題合集

image.png

e4de1166c0b6a944f3fe30fdd71e77f.png

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.