python專項測試——Android App自動化測試架構

來源:互聯網
上載者:User

標籤:sel   ack   pack   實現   port   自動化測試   講解   清理   har   

1 為什麼需要架構?

  代碼混亂,難閱讀; 重複編碼,效率低;需求變化,難維護;

一 自動化執行個體

1 準備測試的app;準備測試環境;實現指令碼;

2 測試app:只有登入功能

   測試環境:

  • Appium(Android/IOS);
  • Android SDK;
  • Appium-Python-Client;
  • Selenium(Appium-Python-Client繼承於Selenium); 
  • UIAutomatorViewer
  • Pycharm

3 實現指令碼

在Pycharm中編寫指令碼;

用UIAutomatorViewer進行定位;

藉助Appium—Python—Client實現的api;

藉助Appium—Python—Client的字典實現屬性;

運行指令碼之前要啟動Appium並進行設定,如果出現“新的session無法建立”的錯誤,請釋放資源並重啟Appium。

 

二 測試架構Unittest

1 主要講解:Test Fixture;   Test Case;  Test Suite; Test Runner

Test Fixture包括準備,執行,清理的過程;對應到指令碼上是:setup(),  testcase(),  teardown()

   其他三項已知。

3 指令碼

 

三 資料驅動架構

1 如何使用?準備第三方庫——首先安裝ddt庫,其次在指令碼中引入ddt,  然後就OK

具體:

  • 到Python 官網下載ddt庫;
  • 在指令碼中匯入ddt庫的命令:from ddt import ddt, data, unpack
  • 在測試類別前標註ddt :@ddt
  •                               class MookTestCase(unittest.TestCase) ,說明本次的測試類別是使用資料驅動架構
  • 測試案例主要分為有參數和無參數,資料驅動主要用於帶參數的測試案例
  • 對於有一個參數的用例,使用元組存放被測試的資料,並加上data標註:@data(1, -3, 2, 0)
  •                                                                                                def testcase(self, value):
  • 對於有多個參數的用例,使用元組存放被測試的資料,並加上data標註:@data((3,2),(4,3), (5,3))
  •                                                                                                @unpack
  •                                                                                                def testcase(self, value1, value2):

2 指令碼中應用

3 應用了ddt架構後,單獨運行某條case的語句不再適用,但可以載入運行整個測試類別。

 

 

 

 

 

 

 

 

 

 

python專項測試——Android App自動化測試架構

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.