Appium+python自動化(三十八) – Appium自動化測試框架綜合實踐 – 框架簡介-助你衝擊高薪,迎娶白富美(超詳解)

  • 2019 年 10 月 3 日
  • 筆記

簡介

好久沒有更新部落格了,博友們是不是有點等不及了。不好意思啊,中秋節過後太忙了,這篇是好不容易抽點零碎時間寫的。從這一篇開始小夥伴或者童鞋們,就跟隨宏哥的腳步,一步步的從無到有,從0到1的搭建一個完整的python+appium自動化測試框架。

框架背景

前面我們已經學習了Appium各種元素定位,手勢操作、數據配置、Pageobject設計模式等等。但是前面的功能都是比較零散的,沒有整體融合起來,實際項目實踐過程中我們需要綜合運用,那麼本章節我們將結合之前所學的內容,從0到1搭建一個完整的python+appium自動化測試框架。

框架功能

  • 業務功能的封裝
  • 測試用例封裝
  • 測試包管理
  • 截圖處理
  • 斷言處理
  • 日誌獲取
  • 測試報告生成
  • 數據驅動
  • 數據配置
  • Win10 64Bit
  • Appium 1.7.2
  • 考研幫App Android版3.1.0
  • 夜神模擬器 Android 5.1.1

測試案例

測試環境

1.宏哥的系統環境是Windows 10版本 64位系統

 

2.宏哥的dk版本:”1.8.0_181″

3.宏哥的appium版本:1.4.16 

4.selenium:3.141.0

安裝selenium:

輸入指令pip install selenium

驗證安裝成功:pip show selenium

5.測試設備:Android 5.1.1 (不能低於5.0版本)

6.Python:3.7.2

命令:python -V  ,回車即可。

7.測試App:

考研幫Android app V3.1.0

覆蓋用例

1.登錄場景

用戶名

密碼

北京宏哥2018

bjhg2018

北京宏哥2019

bjhg2019

666

222

2.程式碼實現

 

3.參考程式碼

test_login.py
# coding=utf-8  # 1.先設置編碼,utf-8可支援中英文,如上,一般放在第一行    # 2.注釋:包括記錄創建時間,創建人,項目名稱。  '''  Created on 2019-9-25  @author: 北京-宏哥  Project: Appium自動化測試框架綜合實踐 - 框架簡介 - 登錄  '''    # 3.導入模組  from common.myunit import StartEnd  from businessView.loginView import LoginView  import unittest  import logging    class TestLogin(StartEnd):      csv_file='../data/account.csv'        @unittest.skip('test_login_bjhg2019')      def test_login_bjhg2019(self):          logging.info('======test_login_bjhg2019=====')          l=LoginView(self.driver)          data=l.get_csv_data(self.csv_file,2)            l.login_action(data[0],data[1])          self.assertTrue(l.check_loginStatus())        # @unittest.skip('skip test_login_bjhg2018')      def test_login_bjhg2018(self):          logging.info('======test_login_bjhg2018=====')          l=LoginView(self.driver)          data = l.get_csv_data(self.csv_file, 1)            l.login_action(data[0], data[1])          self.assertTrue(l.check_loginStatus())        @unittest.skip('test_login_error')      def test_login_error(self):          logging.info('======test_login_error=====')          l = LoginView(self.driver)          data = l.get_csv_data(self.csv_file, 3)            l.login_action(data[0], data[1])          self.assertTrue(l.check_loginStatus(),msg='login fail!')    if __name__ == '__main__':      unittest.main()

1.註冊場景

註冊一個新的帳號(賬戶和密碼可以隨機生成),完善院校和專業資訊 (如:院校:上海-同濟大學 專業:經濟學類-統計學-經濟統計學)

2.程式碼實現

3.參考程式碼

test_register.py
# coding=utf-8  # 1.先設置編碼,utf-8可支援中英文,如上,一般放在第一行    # 2.注釋:包括記錄創建時間,創建人,項目名稱。  '''  Created on 2019-9-25  @author: 北京-宏哥  Project: Appium自動化測試框架綜合實踐 - 框架簡介 - 註冊  '''    # 3.導入模組  from common.myunit import StartEnd  from businessView.registerView import RegisterView  import logging,random,unittest    class RegisterTest(StartEnd):      def test_user_register(self):          logging.info('======test_user_register======')          r=RegisterView(self.driver)            username = 'zxw2018' + 'fly' + str(random.randint(1000, 9000))          password = 'zxw2018' + str(random.randint(1000, 9000))          email = '51zxw' + str(random.randint(1000, 9000)) + '@163.com'            self.assertTrue(r.register_action(username,password,email))    if __name__ == '__main__':      unittest.main()

框架設計圖

  這裡宏哥根據兩個場景設計了大致框架

 

 

 

小結

   今天就分享這麼多吧,後邊就由宏哥手把手的教你從0到1的搭建一個完整的python+appium的自動化測試框架。

 

個人公眾號                                                             微信群 (微信群已滿100,可以加宏哥的微信拉你進群,請備註:進群)          

                                                                 

您的肯定就是我進步的動力。如果你感覺還不錯,就請鼓勵一下吧!記得點波 推薦 哦!!!(點擊右邊的小球即可!(^__^) 嘻嘻……)