一溉奕、Appium介紹
Appium是一個(gè)移動端的自動化框架榴芳,可用于測試原生應(yīng)用、移動網(wǎng)頁應(yīng)用和混合型應(yīng)用火本,且是跨平臺的灭贷∥卵В可用于IOS和Android以及firefox的操作系統(tǒng)。
二甚疟、環(huán)境搭建
主要幾個(gè)點(diǎn)如下:
1. appium安裝
直接解壓即可仗岖,打開Appium.exe
啟動成功展示如下:
2. Appium庫安裝
# 安裝
pip install Appium-Python-Client
# 檢驗(yàn)是否成功
pip list
三逃延、Appium使用
1. 打開模擬器或真機(jī)的應(yīng)用
①打開手機(jī)應(yīng)用
②打開Appium
③創(chuàng)建一個(gè)python項(xiàng)目,并創(chuàng)建一個(gè)文件
④將下面代碼復(fù)制到文件中
⑤獲取當(dāng)前應(yīng)用包名和啟動activity并修改文件
2. 腳本內(nèi)啟動其他app
driver.start_activity(appPackage,appActivity)
3. 關(guān)閉app
driver.close_app()? # 關(guān)閉當(dāng)前操作的app轧拄,不會關(guān)閉驅(qū)動對象
4. 關(guān)閉驅(qū)動對象
driver.quit()? # 關(guān)閉驅(qū)動對象揽祥,同時(shí)關(guān)閉所有關(guān)聯(lián)的app
三、App基礎(chǔ)操作API
完成app自動化需要一些基礎(chǔ)條件的支持檩电,本節(jié)將講解APP初始化API拄丰。
3.1前置代碼
# server 啟動參數(shù)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到手機(jī)
driver.install_app(app_path)
參數(shù):app_id:需要卸載的app包名
3.4 判斷APP是否已安裝
driver.is_app_installed(bundle_id)
參數(shù):bundle_id: 可以傳入app包名,返回結(jié)果為True(已安裝) / False(未安裝)
3.5 發(fā)送文件到手機(jī)
import base64
data = str(base64.b64encode(data.encode('utf-8')),'utf-8')
driver.push_file(path,data)
參數(shù):
3.6 從手機(jī)中拉取文件
import base64
data = driver.pull_file(path)? ? # 返回?cái)?shù)據(jù)為base64編碼print(str(base64.b64decode(data),'utf-8'))? ?# base64解碼
參數(shù): path: 手機(jī)設(shè)備上的路徑
3.7獲取當(dāng)前屏幕內(nèi)元素結(jié)構(gòu)
driver.page_source?