Win Pycharm + Appium + 真機 實現APP自動化


前言:

  • 測試的APP:億通行
  • 手機型號:OPPO
  • 系統:安卓10

 

一、安裝Python3.x

1.直接登錄Python官網 https://www.python.org/,下載最新版本即可

2.安裝Pycharm(下載.exe,直接安裝即可)

 

二、安裝Python3 Appium庫

1.打開Python3.x的安裝目錄,找到Scripts文件夾執行

pip install Appium-Python-Client

 

2.使用Pycharm安裝

File → Settings → Project → Python Interpreter → 搜索Appium → 選擇點擊install即可

 

三、安裝Android SDK 

 直接進入官網下載Studio

https://developer.android.google.cn/studio/

 

注:需要注意的是安裝過程,SDK要選擇一個路徑,這個要記住,后面會用的

 

四、安裝JDK

直接進入官網下載

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

 

 

 注:需要注意的是安裝過程,jdk要選擇一個路徑,這個要記住,后面會用的

 

五、安裝Appium

1.直接進入官網下載

http://appium.io/

2.安裝后雙擊打開

 

3.點擊Edit Configurations

 

 4.配置路徑

 

這兩個路徑就是在安裝SDK與jdk的那兩個路徑,配置完成點擊Save and Restart

 

5.點擊Start Server

 

說明配置完成

 

6.點擊Start Inspector Session

 

7.輸入設備信息

 

配置信息說明

{
  "platformName": "Android",    # 測試的平台,安卓或者ios
  "platformVersion": "10",        # 系統版本,此處代表安卓10
  "deviceName": "OPPo",           # 設備名稱,填手機型號就行,隨便填也可
  "app": "C:\Users\xxx\Downloads\com.ddnapalon.calculator.gp_3.1.33_999349.apk",   # app的安裝包的位置
  "appPackage": "enfc.metro",     # app的包名
  "appActivity": "enfc.metro.main.MainActivity"    # app的activity名
}

 

 8.配置完成點擊Start Session,進入如下圖

 

9.補充

 

六、編寫測試腳本

1.腳本

# coding=utf-8
from appium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
import unittest

# 配置信息,字典類型,直接復用上面的 Appium json就可以
desired_caps = {
  "platformName": "Android",
  "platformVersion": "10",
  "deviceName": "OPPo",
  #"app": "C:\\Users\\xxxx\\Downloads\\com.ddnapalon.calculator.gp_3.1.33_999349.apk",
  "appPackage": "enfc.metro",
  "appActivity": "enfc.metro.main.MainActivity"
}

class app_test(unittest.TestCase):
    
    def setUpClass(self):
        global driver
        # 傳入appium server的host+path,還有配置信息
        driver = webdriver.Remote(command_executor='http://127.0.0.1:4723/wd/hub',
                                  desired_capabilities=desired_caps)
        
    def test_login(self):
        try:
            # 取消授權彈框
            driver.find_element(By.ID, 'com.android.permissioncontroller:id/permission_deny_button').click()
            sleep(1)
        except:
            print("彈框取消失敗")
        else:
            # 點擊立即登錄
            driver.find_element(By.ID, 'enfc.metro:id/tv_QrCode_Login_Go').click()

            sleep(2)

            # 點擊賬號密碼登錄

            driver.find_element(By.ID, 'enfc.metro:id/login_bt_loginType').click()
            sleep(2)

            # 輸入手機號
            driver.find_element(By.ID, 'enfc.metro:id/login_et_phone').send_keys("18845632356")
            sleep(2)

            # 輸入密碼
            driver.find_element(By.ID, 'enfc.metro:id/login_et_sms').send_keys("123456")

            sleep(3)
            # 退出測試
            driver.quit()
            
        
if __name__ == '__main__':
    unittest.main()

 

2.Appium執行結果

 

3.手機運行效果

暫時無法上傳(o(╥﹏╥)o)

 

七、ADB相關補充

1.點擊此電腦,屬性

 

2.點擊高級系統設置,點擊環境變量

 

 3.找到SDK里tools和platform-tools的文件路徑

 

 4.環境變量界面,如圖,在下方的系統變量中新建

 

5.輸入變量名android 和 tools和platform-tools的文件路徑,點擊確定即可

 

 6.在Path中添加剛剛的環境,選擇系統變量Path,點擊新建輸入%android%,點擊確定即可

 

 

 7.cmd 輸入 adb

 出現此圖配置完成

 

8.獲取應用包名以及Activity

1.連接設備

2.在設備上打開想要查看包名的應用

3.輸入adb shell dumpsys window | findstr mCurrentFocus

紅色:應用包名

藍色:啟動Activity名

 

八、真機設置

點擊設置 → 其他設置 → 開發者選項(打開開發者選項、打開USB調試、打開禁止權限監控)→ adb device(即可查看手機連接信息) 

 

 

 至此,配置結束

                                                          to be continued...


免責聲明!

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



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