1. 程式人生 > >python專項測試——Android App自動化測試框架

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

selenium sdk str ase val 測試環境 self ron 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

2 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自動化測試框架