程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

【Python自動化測試34】Appium元素定位

編輯:Python

文章目錄

  • 一、前言
  • 二、Appium元素定位工具
  • 三、App元素定位與Web元素定位區別
  • 四、元素定位方式

一、前言

本文章主要講解App自動化測試的元素定位,除此之外下方有系列文章的傳送門,還在持續更新中,感興趣的小伙伴也可以前往查看,話不多說,讓我們一起看看吧~

系列文章:
系列文章1:【Python自動化測試1】遇見Python之美
系列文章2:【Python自動化測試2】Python安裝配置及PyCharm基本使用
系列文章3:【Python自動化測試3】初識數據類型與基礎語法
系列文章4:【Python自動化測試4】字符串知識總結
系列文章5:【Python自動化測試5】列表與元組知識總結
系列文章6:【Python自動化測試6】字典與集合知識總結
系列文章7:【Python自動化測試7】數據運算符知識合集
系列文章8:【Python自動化測試8】流程控制語句講解
系列文章9:【Python自動化測試9】函數知識合集
系列文章10:【Python自動化測試10】文件基礎操作
系列文章11:【Python自動化測試11】模塊、包與路徑知識合集
系列文章12:【Python自動化測試12】異常處理機制知識合集
系列文章13:【Python自動化測試13】類、對象、屬性與方法知識合集
系列文章14:【Python自動化測試14】Python自動化測試基礎與進階練習題
系列文章15:【Python自動化測試15】unittest測試框架的核心概念與作用
系列文章16:【Python自動化測試16】測試用例數據分離
系列文章17:【Python自動化測試17】openpyxl二次封裝與數據驅動
系列文章18:【Python自動化測試18】配置文件解析與實際應用
系列文章19:【Python自動化測試19】日志系統logging講解
系列文章20:【Python自動化測試20】接口自動化測試框架模型搭建
系列文章21:【Python自動化測試21】接口自動化測試實戰一_接口概念、項目簡介及測試流程問答
系列文章22:【Python自動化測試22】接口自動化測試實戰二_接口框架修改及用例優化
系列文章23:【Python自動化測試23】接口自動化測試實戰三_動態參數化與數據偽造
系列文章24:【Python自動化測試24】接口自動化測試實戰四_Python操作數據庫
系列文章25:【Python自動化測試25】接口自動化測試實戰五_數據庫斷言、接口關聯及相關管理優化
系列文章26:【Python自動化測試26】接口自動化測試實戰六_pytest框架+allure講解
系列文章27:【Python自動化測試27】Web自動化測試理論、環境搭建及常見操作
系列文章28:【Python自動化測試28】html基礎語法
系列文章29:【Python自動化測試29】Xpath、軸運算及CSS元素定位詳解
系列文章30:【Python自動化測試30】Web自動化之三大等待與三大切換
系列文章31:【Python自動化測試31】Web自動化之鼠標鍵盤操作、select用法
系列文章32:【Python自動化測試32】App自動化環境搭建
系列文章33:【Python自動化測試33】Appium的啟動步驟、初始化操作及Appium原理

二、Appium元素定位工具

Appium和selenium相同也需要進行元素定位,以此來執行特定的操作,但Web進行元素定位是可以通過F12進行元素查看的,而App軟件是無法通過F12進行元素查看的,我們就需要借助一些元素查看的工具:
(1)weditor (推薦)
(2)appium inspect
(3)android uiautomatorviewer

筆者建議可以考慮weditor,會更加好用,具體的方式不在此演示了,大家可以通過pip install weditor進行安裝,具體的操作可以百度查看,實際的元素定位與執行與selenium很相似,不過多闡述,這裡主要是推薦工具,後續筆者會在有空閒時間的時候補充細節以及工具使用。

但weditor有些坑,網上可能沒有,筆者在此列舉一下,防止各位踩雷:
1、weditor的服務會和appium沖突,解決方案:
(1)先不啟動appium,weditor把需要用到的元素定位拷貝出來
(2)卸載appium中的小車,名稱是:atx,卸載完成後就可以啟動appium了

三、App元素定位與Web元素定位區別

大致的區別如下:
1、頁面結果:web由html編寫,安卓頁面則是由xml編寫。
2、頁面屬性:所有元素的屬性名都是固定的,只有值不一樣
3、app的id不是唯一的,所以不能作用於唯一標識。
4、text是屬性,用@text表示

四、元素定位方式

App的元素定位與Web比較類似,也可以通過xpath、id、class name等方式進行定位,但筆者只推薦使用xpath,App內的元素定位相對於Web而言要更加復雜,Xpath的定位會更加精准,也更加方便,除此以外通過id來進行定位,一般也是用於組合定位,除此以外,不太推薦使用其他方式,故此也不在本文章進行過多的列舉,會在後續空閒時間進行補充。



Api的使用會在後續為大家列舉,建議參考官網進行查閱


好啦~以上就是本次文章分享的全部內容啦,你學會了嗎?希望能給大家帶來幫助哦!



  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved