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

Python + Appium框架原生代碼實現App自動化測試

編輯:Python

Step1:首先介紹下python+appium的框架結構

如下截圖所示

(1):apk目錄主要放置待測app的apk資源;

(2):config目錄主要放置配置文件信息,包含:數據庫連接配置、UI自動化腳本中所需的頁面元素信息及app啟動信息、自動化報告郵件發送配置信息、接口請求的對應的url信息等【大家可根據待測app的功能添加或減少配置文件信息】。

(3):report目錄主要放置測試完成後生成的測試報告信息;

(4):src目錄下包含的目錄如下

       common目錄:app啟動方法的封裝文件信息;數據庫增刪改查實際方法的封裝文件信息;讀取config配置文件中元素信息的工具類方法;日志類的封裝方法;發送郵件的配置文件信息【大家可根據待測app的具體功能添加或減少公共方法類】;

        functions目錄:對於自動化測試過程中需要對頁面元素進行獲取的方法工具類的封裝;

        log目錄:每次執行測試腳本後生成的日志信息會存放到該目錄下;

        runner目錄:生成測試報告的公有方法的引用;自動化腳本的批量執行配置信息;

        testcase目錄:待測app具體的需測試功能點的測試腳本代碼信息;

Step2:接下來介紹的是框架目錄下每個文件的具體內容

(1):依據上面截圖可對應到step1中描述的各個目錄下所包含的文件的具體功能;

(2):常用的方法就不再贅述,下面將介紹幾個不常見的.py文件進行具體內容的詳細講解:

       【1】config目錄中的element.ini文件內容如下(主要存放頁面元素信息):

        上面截圖中展示的是登錄被測app時,需要獲取到頁面上的元素的信息,可以使用id,class,xpath等方法,具體的定位元素的方法可以依據待測app來選擇,只要可以獲取到元素信息即可(請按照截圖中的格式來定義)。

       【2】src目錄下common目錄下的appium_start文件內容如下(appium服務啟動封裝文件):

        該文件會引用iniHelper文件對element.ini文件頁面元素信息的獲取信息,來獲得啟動時必需的參數信息,後面會具體貼出iniHelper文件的內容,建議大家動手敲下示例代碼,印象會更深刻。

      【3】src目錄下common目錄下的iniHelper文件內容如下(讀取ini配置文件工具類):

        該.py文件中iniHelper方法主要是獲取ini配置文件中單個屬性的值;

        該.py文件中ini_sections方法主要是獲取ini配置文件中某個功能模塊所有的屬性名稱和對應的值,以字典的格式返回結果;

     【4】src目錄下functions目錄下的baseAction文件內容如下(頁面基本元素獲取方法的封裝):

      該文件內容對於頁面元素定位的方法進行封裝,此示例共例舉了7種元素定位方法,在測試過程中如果有其他定位方法可自行添加到該方法中。

      【5】src目錄下testcase目錄下的app_checklist文件內容如下(具體待測功能的自動化腳本編寫):

      此處示例以登錄功能為例,先獲取登錄所需元素信息,包含基本的用戶名和密碼、登錄提交等元素信息,獲取到元素信息後再對元素進行模擬操作,如:直接點擊、輸入測試數據、清除測試數據等操作,登錄完成後需要校驗是否登錄成功,並記錄相應的日志信息。

Step3:整體思路說明

(1):使被測功能的腳本代碼更加簡潔,方便維護腳本,需要將測試數據與程序進行分離;

(2):頁面元素信息可以封裝到配置文件中,並封裝對應的讀取配置文件的方法,在測試腳本需要使用時直接調用;

(3):公共方法類,如:數據庫連接配置信息及對數據庫進行增刪改查操作時,都可以封裝到公共方法中,便於維護,使用時直接引用即可;

(4):具體實際操作過程中,可以依據具體測試需求對框架作出相應的調整,目的是讓腳本更加清晰化,且便於維護,易於推廣給測試同行使用;

歡迎關注【無量測試之道】公眾號,回復【領取資源】

Python+Unittest框架API自動化、

Python+Unittest框架API自動化、

Python+Pytest框架API自動化、

Python+Pandas+Pyecharts大數據分析、

Python+Selenium框架Web的UI自動化、

Python+Appium框架APP的UI自動化、

Python編程學習資源干貨、

Vue前端組件化框架開發、

資源和代碼 免費送啦~
文章下方有公眾號二維碼,可直接微信掃一掃關注即可。

備注:我的個人公眾號已正式開通,致力於IT互聯網技術的分享。

包含:數據分析、大數據、機器學習、測試開發、API接口自動化、測試運維、UI自動化、性能測試、代碼檢測、編程技術等。

微信搜索公眾號:“無量測試之道”,或掃描下方二維碼:

  

 添加關注,讓我們一起共同成長!


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