将自动化脚本内的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)