版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
一、场景
Capability配置借yaml实现数据分离。
二、场景
可以把之前capability中各项写死的配置信息来抽离出来,放在一个yaml配置文件中,使用对象数据类型来存储数据;然后用load()方法读取数据,达到数据和代码的效果。
三、环境
Win 10
java version "1.8.0_181"
Appium v1.14.1(不能低于1.6.3)
selenium:3.141.0
测试设备:Android 5.1.1
Python:3.6
测试App:考研帮Android app V3.1.0
四、代码
desired_caps.yaml
platformName: Android
#platformVersion: 5.1.1
platformVersion: 9
#deviceName: 127.0.0.1:62025
deviceName: HUAWEI Mate 20
udid: 66J0218C28008638
app: D:\download\kaoyan3.1.0.apk
appPackage: com.tal.kaoyan
appActivity: com.tal.kaoyan.ui.activity.SplashActivity
noReset: False
ip: 127.0.0.1
port: 4723
test.py
from appium import webdriver
import yaml
file = open('desired_caps.yaml','r')
data = yaml.load(file,Loader=yaml.FullLoader)
desired_caps = {}
desired_caps['platformName'] = data['platformName']
desired_caps['platformVersion'] = data['platformVersion']
desired_caps['deviceName'] = data['deviceName']
desired_caps['udid'] = data['udid']
desired_caps['app'] = data['app']
desired_caps['appPackage'] = data['appPackage']
desired_caps['appActivity'] = data['appActivity']
desired_caps['noReset'] = data['noReset']
driver = webdriver.Remote('http://'+str(data['ip'])+':'+str(data['port'])+'/wd/hub',desired_caps)
五、结果