1. 程式人生 > >Appium-yaml資料配置綜合實踐(3)

Appium-yaml資料配置綜合實踐(3)

 

將自動化指令碼內的capability模組用yaml檔案配置,方便直接呼叫資料或修改配置的資料

注意:yaml檔案配置時,對應的冒號後需要加空格

步驟:

1.新建desired_caps.yaml檔案

2.yaml檔案內容

platformName: Android
platformVersion: 4.4.2
deviceName: 127.0.0.1:62001
app: C:\\Users\\JMC\\Desktop\\Study\\wifibanlv.apk
packageName: 此處填寫包名
appActivity:此處填寫app的activity
unicodekeyboard:

True
resetkeyboard: True
noReset: False
ip: 127.0.0.1
port: 4723

3.自動化指令碼呼叫yaml資料(僅展示呼叫部分的指令碼)

#!urs/bin/python

#!_*_ coding:UTF-8 _*_

from appium import webdriver

from selenium.common.exceptions import NoSuchElementException

import yaml  #匯入yaml

file=open('desired_caps.yaml','r')  #yaml和指令碼檔案處於同一個資料夾下,故直接引用檔案即可;‘r’表示讀取的意思

data=yaml.load(file)

desired_caps={}  #定義欄位desired_caps{};下面開始定義欄位的具體物件

desired_caps['platformName']=data['platformName']

desired_caps['platformVersion']=data['platformVersion']

desired_caps['deviceName']=data['deviceName']    #第一個模擬器預設127.0.0.1:62001  第二個預設:127.0.0.1:62025

desired_caps['app']=data['app']

desired_caps['packageName']=data['packageName']

desired_caps['appActivity']=data['appActivity']

desired_caps['unicodekeyboard']=data['unicodekeyboard']

desired_caps['resetkeyboard']=data['resetkeyboard']

driver=webdriver.Remote('http://'+str(data['ip'])+':'+str(data['port'])+'/wd/hub',desired_caps)