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


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的語句不再適用,但可以加載運行整個測試類。

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM