appium第四章:app的启动配置

appium第四章:app的启动配置

  • 本章概要
    • 一、基础配置详解
    • 二、yaml文件学习
    • 三、将app启动配置转yaml文件

本章概要

做APP自动化,先要启动app应用,这章就详解它是启动配置和优化管理

一、基础配置详解

  1. platformName:使用都手机操作系统
    查看手机手机获取
  2. platformVersion: 手机操作系统的版本
    查看手机手机获取
  3. deviceName: 设备名称
    手机链接设备,通过命令查看:
    在这里插入图片描述
  4. appPackage: 运行的应用包名
    手机链接设备,通过命令查看:aapt dump badging 包绝对路径
    appium第四章:app的启动配置_第1张图片
  5. appActivity": “com.tal.kaoyan.ui.activity.SplashActivity”
    手机链接设备,通过命令查看:aapt dump badging 包绝对路径
    在这里插入图片描述
    6.noReset: 在当期session下不会重置应用的状态。默认值是falsh

代码举例:
desired_caps = {
‘platformName’: ‘Android’,
‘deviceName’: ‘SDC1002N82300024’,
‘platformVersion’: ‘5.0’,
‘appPackage’: ‘com.pptv.tvsports’,
‘appActivity’: ‘com.pptv.tvsports.activity.StartActivity’,
‘unicodeKeyboard’: True,#使用 Unicode 输入法,也就的不调起输入键盘
‘resetKeyboard’: True#重置输入法到原有状态
}
‘’‘webdriver.Remote应用,“http://127.0.0.1:4723/wd/hub”这是appium服务器地址,desired_caps 这是定位启动的应该’’’
driver = webdriver.Remote(‘http://127.0.0.1:4723/wd/hub’, desired_caps)

注意要启动应用,需要打开appium服务器:
appium第四章:app的启动配置_第2张图片

二、yaml文件学习

YAML 是一种简洁的非标记语言。YAML以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读。由于实现简单,解析成本很低,YAML特别适合在脚本语言中使用
数据Josn和Yaml的对比如下:

  • Json:
    { name: ‘Tom Smith’,age: 37,spouse: { name: ‘Jane Smith’, age: 25 },children: [ { name: ‘Jimmy Smith’, age: 15 },{ name: ‘Jenny Smith’, age: 12 } ] }
  • yaml:
    appium第四章:app的启动配置_第3张图片
    yaml语法特点:
  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键,只允许使用空格。
    缩进的空格数目不重要,只要相同层级的元素左侧对齐即可

yaml支持数据类型

  1. 纯量(scalars):单个的、不可再分的值
  2. 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
  3. 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)

三、将app启动配置转yaml文件

文件desired_caps.yaml:
appium第四章:app的启动配置_第4张图片
启动代码实现:

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['noReset']=data['noReset']
desired_caps['appPackage']=data['appPackage']
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)

你可能感兴趣的:(appium)