一、Appium介紹
Appium是一個移動端的自動化框架,可用于測試原生應用、移動網頁應用和混合型應用,且是跨平臺的。可用于IOS和Android以及firefox的操作系統。
二、環境搭建
主要幾個點如下:
1. appium安裝
直接解壓即可,打開Appium.exe
啟動成功展示如下:
2. Appium庫安裝
# 安裝
pip install Appium-Python-Client
# 檢驗是否成功
pip list
三、Appium使用
1. 打開模擬器或真機的應用
①打開手機應用
②打開Appium
③創建一個python項目,并創建一個文件
④將下面代碼復制到文件中
⑤獲取當前應用包名和啟動activity并修改文件
2. 腳本內啟動其他app
driver.start_activity(appPackage,appActivity)
3. 關閉app
driver.close_app()? # 關閉當前操作的app,不會關閉驅動對象
4. 關閉驅動對象
driver.quit()? # 關閉驅動對象,同時關閉所有關聯的app
三、App基礎操作API
完成app自動化需要一些基礎條件的支持,本節將講解APP初始化API。
3.1前置代碼
# server 啟動參數desired_caps={}desired_caps['platformName']='Android'desired_caps['platformVersion']='5.1'desired_caps['deviceName']='192.168.56.101:5555'desired_caps['appPackage']='com.android.settings'desired_caps['appActivity']='.Settings'desired_caps['unicodeKeyboard']=Truedesired_caps['resetKeyboard']=True# 聲明driver對象driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)
3.2 安裝APK到手機
driver.install_app(app_path)
參數:app_id:需要卸載的app包名
3.4 判斷APP是否已安裝
driver.is_app_installed(bundle_id)
參數:bundle_id: 可以傳入app包名,返回結果為True(已安裝) / False(未安裝)
3.5 發送文件到手機
import base64
data = str(base64.b64encode(data.encode('utf-8')),'utf-8')
driver.push_file(path,data)
參數:
3.6 從手機中拉取文件
import base64
data = driver.pull_file(path)? ? # 返回數據為base64編碼print(str(base64.b64decode(data),'utf-8'))? ?# base64解碼
參數: path: 手機設備上的路徑
3.7獲取當前屏幕內元素結構
driver.page_source?