Python+appium框架原生代碼實(shí)現(xiàn)App自動(dòng)化測試詳解
step1:首先介紹下python+appium的框架結(jié)構(gòu),如下截圖所示
(1):apk目錄主要放置待測app的apk資源;
(2):config目錄主要放置配置文件信息,包含:數(shù)據(jù)庫連接配置、UI自動(dòng)化腳本中所需的頁面元素信息及app啟動(dòng)信息、自動(dòng)化報(bào)告郵件發(fā)送配置信息、接口請求的對(duì)應(yīng)的url信息等【大家可根據(jù)待測app的功能添加或減少配置文件信息】。
(3):report目錄主要放置測試完成后生成的測試報(bào)告信息;
(4):src目錄下包含的目錄如下
common目錄:app啟動(dòng)方法的封裝文件信息;數(shù)據(jù)庫增刪改查實(shí)際方法的封裝文件信息;讀取config配置文件中元素信息的工具類方法;日志類的封裝方法;發(fā)送郵件的配置文件信息【大家可根據(jù)待測app的具體功能添加或減少公共方法類】;
functions目錄:對(duì)于自動(dòng)化測試過程中需要對(duì)頁面元素進(jìn)行獲取的方法工具類的封裝;
log目錄:每次執(zhí)行測試腳本后生成的日志信息會(huì)存放到該目錄下;
runner目錄:生成測試報(bào)告的公有方法的引用;自動(dòng)化腳本的批量執(zhí)行配置信息;
testcase目錄:待測app具體的需測試功能點(diǎn)的測試腳本代碼信息;
step2:接下來介紹的是框架目錄下每個(gè)文件的具體內(nèi)容
(1):依據(jù)上面截圖可對(duì)應(yīng)到step1中描述的各個(gè)目錄下所包含的文件的具體功能;
(2):常用的方法就不再贅述,下面將介紹幾個(gè)不常見的.py文件進(jìn)行具體內(nèi)容的詳細(xì)講解:
【1】config目錄中的element.ini文件內(nèi)容如下(主要存放頁面元素信息):
上面截圖中展示的是登錄被測app時(shí),需要獲取到頁面上的元素的信息,可以使用id,class,xpath等方法,具體的定位元 素的方法可以依據(jù)待測app來選擇,只要可以獲取到元素信息即可(請按照截圖中的格式來定義)。
【2】src目錄下common目錄下的appium_start文件內(nèi)容如下(appium服務(wù)啟動(dòng)封裝文件):
該文件會(huì)引用iniHelper文件對(duì)element.ini文件頁面元素信息的獲取信息,來獲得啟動(dòng)時(shí)必需的參數(shù)信息,后面會(huì)具體貼出 iniHelper文件的內(nèi)容,建議大家動(dòng)手敲下示例代碼,印象會(huì)更深刻。
【3】src目錄下common目錄下的iniHelper文件內(nèi)容如下(讀取ini配置文件工具類):
該.py文件中iniHelper方法主要是獲取ini配置文件中單個(gè)屬性的值;
該.py文件中ini_sections方法主要是獲取ini配置文件中某個(gè)功能模塊所有的屬性名稱和對(duì)應(yīng)的值,以字典的格式返回結(jié)果;
【4】src目錄下functions目錄下的baseAction文件內(nèi)容如下(頁面基本元素獲取方法的封裝):
該文件內(nèi)容對(duì)于頁面元素定位的方法進(jìn)行封裝,此示例共例舉了7種元素定位方法,在測試過程中如果有其他定位方法可自行添加到該方法中。
【5】src目錄下testcase目錄下的app_checklist文件內(nèi)容如下(具體待測功能的自動(dòng)化腳本編寫):
此處示例以登錄功能為例,先獲取登錄所需元素信息,包含基本的用戶名和密碼、登錄提交等元素信息,獲取到元素信息后再對(duì)元素進(jìn)行模擬操作,如:直接點(diǎn)擊、輸入測試數(shù)據(jù)、清除測試數(shù)據(jù)等操作,登錄完成后需要校驗(yàn)是否登錄成功,并記錄相應(yīng)的日志信息。
step3:整體思路說明:
(1):使被測功能的腳本代碼更加簡潔,方便維護(hù)腳本,需要將測試數(shù)據(jù)與程序進(jìn)行分離;
(2):頁面元素信息可以封裝到配置文件中,并封裝對(duì)應(yīng)的讀取配置文件的方法,在測試腳本需要使用時(shí)直接調(diào)用;
(3):公共方法類,如:數(shù)據(jù)庫連接配置信息及對(duì)數(shù)據(jù)庫進(jìn)行增刪改查操作時(shí),都可以封裝到公共方法中,便于維護(hù),使用時(shí)直接引用即可;
(4):具體實(shí)際操作過程中,可以依據(jù)具體測試需求對(duì)框架作出相應(yīng)的調(diào)整,目的是讓腳本更加清晰化,且便于維護(hù),易于推廣給測試同行使用;
(5):閱讀過程中有任何疑問隨時(shí)歡迎大家溝通、交流;
以上這篇Python+appium框架原生代碼實(shí)現(xiàn)App自動(dòng)化測試詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Appium+Python+pytest自動(dòng)化測試框架的實(shí)戰(zhàn)
- Python+Appium自動(dòng)化測試的實(shí)戰(zhàn)
- Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測試并生成測試報(bào)告
- python+appium+yaml移動(dòng)端自動(dòng)化測試框架實(shí)現(xiàn)詳解
- Python+Appium實(shí)現(xiàn)自動(dòng)化測試的使用步驟
- Appium+Python自動(dòng)化測試之運(yùn)行App程序示例
- Appium Python自動(dòng)化測試之環(huán)境搭建的步驟
- Python腳本在Appium庫上對(duì)移動(dòng)應(yīng)用實(shí)現(xiàn)自動(dòng)化測試
- python+appium實(shí)現(xiàn)自動(dòng)化測試的示例代碼
相關(guān)文章
Python操作Mongodb數(shù)據(jù)庫的方法小結(jié)
這篇文章主要介紹了Python操作Mongodb數(shù)據(jù)庫的方法,結(jié)合實(shí)例形式總結(jié)分析了Python針對(duì)MongoDB數(shù)據(jù)庫的基本模塊導(dǎo)入、連接、增刪改查及排序等相關(guān)操作技巧,需要的朋友可以參考下2019-09-09淺談keras 模型用于預(yù)測時(shí)的注意事項(xiàng)
這篇文章主要介紹了淺談keras 模型用于預(yù)測時(shí)的注意事項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06python中3種等待元素出現(xiàn)的方法總結(jié)
發(fā)現(xiàn)太多人不會(huì)用等待了,小編今天實(shí)在是忍不住要給大家講講等待的必要性,下面這篇文章主要給大家介紹了關(guān)于python中3種等待元素出現(xiàn)的方法,需要的朋友可以參考下2022-03-03Flask登錄注冊項(xiàng)目的簡單實(shí)現(xiàn)
一個(gè)簡單的用戶注冊和登錄的頁面,涉及到驗(yàn)證,數(shù)據(jù)庫存儲(chǔ)等等,本文主要介紹了Flask登錄注冊項(xiàng)目的簡單實(shí)現(xiàn),從目錄結(jié)構(gòu)開始,感興趣的可以了解一下2021-05-05Pytorch創(chuàng)建隨機(jī)值張量的過程詳解
這篇文章主要介紹了Pytorch創(chuàng)建隨機(jī)值張量的過程詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09Django項(xiàng)目中model的數(shù)據(jù)處理以及頁面交互方法
今天小編就為大家分享一篇Django項(xiàng)目中model的數(shù)據(jù)處理以及頁面交互方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-05-05Python實(shí)現(xiàn)爬取網(wǎng)頁中動(dòng)態(tài)加載的數(shù)據(jù)
這篇文章主要介紹了Python實(shí)現(xiàn)爬取網(wǎng)頁中動(dòng)態(tài)加載的數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08python操作xls使用xlwings代提openpyxl基礎(chǔ)
這篇文章主要為大家介紹了python操作xls使用xlwings代提openpyxl示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08