1. 程式人生 > >基於appium自動化測試案例12--使用yaml 進行資料配置(學習筆記)

基於appium自動化測試案例12--使用yaml 進行資料配置(學習筆記)

在編寫appium自動化測試指令碼中,經常需要配置裝置及app的引數,如:

desired_caps={}
#裝置平臺名稱
desired_caps['platformName']='Android'
#裝置名稱
desired_caps['deviceName']='127.0.0.1:62025'
#裝置版本
desired_caps['platforVersion']='5.1.1'
#需要安裝app時配置
#desired_caps['app']='D:\xxxxxxxxxx\xxxxxxxxxxx.apk'
#傳入包名(adb shell pm list package)
desired_caps
['appPackage']='com.xxxxx' #傳入appde activity desired_caps['appActivity']='xxxxxxxxxxxxx' #注意:send_keys()傳入中文時需要在capability中配置如下內容 desired_caps['unicodeKeyboard']='True' desired_caps['resetKeyboard']='True' #需要去除登陸記錄時配置以下引數false為重置true為不重置 desired_caps['noReset']='True'

每次寫指令碼需要重複的寫引數配置的程式碼十分繁瑣,可以通過讀取配置檔案的方式,將可變引數寫到配置檔案中,使用時直接讀取需要的引數即可!

配置檔案使用的時yaml檔案格式,yaml檔案使用規則問百度

先將引數寫入到配置檔案中:xxx.yaml

platformName: Android
platformVersion: 6.0.1
deviceName: 98862732534150
app: F:\xxxxxxx.apk
appPackage: com.xxxxxxx
appActivity: com.xxxxxxxxxx
noReset: False
ip: localhost
port: 4723
unicodeKeyboard: True
resetKeyboard: True

配置好之後在指令碼中就可以直接讀取:

from appium import 
webdriver import yaml file=open('desired_caps.yaml','r') data=yaml.load(file) desired_caps={} desired_caps['platformName']=data['platformName'] desired_caps['platformVersion']=data['platformVersion'] desired_caps['deviceName']=data['deviceName'] desired_caps['app']=data['app'] desired_caps['appPackage']=data['appPackage'] desired_caps['appActivity']=data['appActivity'] desired_caps['noReset']=data['noReset'] #啟動app print('啟動app') #driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps) driver=webdriver.Remote('http://'+str(data['ip'])+':'+str(data['port'])+'/wd/hub',desired_caps)