python+Appium自动化:yaml配置capability

场景

学习了yaml之后就是要将capability的各项参数值与代码分离开。

先创建一个capability.yaml文件,把各项参数存放在其中,然后用load()进行读取。

例子:

capability.yaml

platformName: Android
deviceName: U4KF9HSK99999999
platformVersion: 5.1
appPackage: com.taobao.taobao
appActivity: com.taobao.tao.welcome.Welcome
unicodeKeyboard: True
resetKeyboard: True
noReset: True
ip: localhost
port: 4723

caps_yaml.py

from appium import webdriver
import yaml

file = open(‘capability.yaml‘,encoding="utf-8")
data = yaml.load(file,yaml.FullLoader)

desired_caps={
               "platformName": data["platformName"],
               "platformVersion": data["platformVersion"],
               "deviceName": data["deviceName"],
               "appPackage": data["appPackage"],
               "appActivity": data["appActivity"],
               "unicodeKeyboard":data["unicodeKeyboard"],
               "resetKeyboard":data["resetKeyboard"],
               "noReset": data["noReset"]
                }
driver = webdriver.Remote(‘http://‘+str(data[‘ip‘])+‘:‘+str(data[‘port‘])+‘/wd/hub‘,desired_caps)

原文地址:https://www.cnblogs.com/bugbreak/p/12083026.html

时间: 2024-07-30 08:13:50

python+Appium自动化:yaml配置capability的相关文章

python+selenium自动化环境配置及使用实例

一.搭建环境相关地址以及相关模块下载地址 1.#各个浏览器驱动下载地址: https://www.cnblogs.com/nancyzhu/p/8589764.html 2.#sublime+python+selenium自动化配置教程: http://python.tedu.cn/know/289803.html 3.#html测试报告: https://github.com/defnngj/HTMLTestRunner         http://www.testpub.cn/t/213

python+Appium自动化:python多线程多并发启动appium服务

Python启动Appium 服务 使用Dos命令或者bat批处理来手动启动appium服务,启动效率低下.如何将启动Appium服务也实现自动化呢? 这里需要使用subprocess模块,该模块可以创建新的进程,并且连接到进程的输入.输出.错误等管道信息,并且可以获取进程的返回值.subprocess模块官方文档 场景 使用Python启动2台appium服务,端口配置如下: Appium服务器端口:4723,bp端口为4724 Appium服务器端口:4725,bp端口为4726 说明:bp

python+Appium自动化:日志logging模块

日志级别 debug.info.warn.error.critical五个级别 logging模块构成(四部分) logger(记录器,用于日志采集) Handler(处理器,将日志记录发送到合适的路径) Filter(过滤器,提供了更好的粒度控制,决定输出哪些日志记录) Formatter(格式化起,指明了日志的格式) logger(记录器) 在使用debug.info.warn.error.critical五个级别之前创建logging实例 方法:basicConfig()为日志记录系统做基

python+Appium自动化:框架设计

之前学习了appium各种元素定位.手势操作,数据配置,pageobject设计模型等等 ,相对比较零散,没有完全的整合起来. 正所谓万丈高楼平地起,搭建一个完整的自动化框架变得很重要. 框架功能 测试包管理 业务功能封装 测试用例封装 截图处理 断言处理 日志管理 测试报告生成 数据配置 数据驱动 思维脑图来一波 pycharm创建 原文地址:https://www.cnblogs.com/bugbreak/p/12202405.html

python+Appium自动化:id元素定位

元素定位 与web自动化一样,app自动化元素定位也是非常重要的一环,,appium也是提供了很多元素定位的方法,比如:id.name.class.层级定位等等. 元素定位方式 id name class List定位 相对定位 Xpath定位 H5页面元素定位 Uiautomator定位 首先可以进入SDK中的tools文件夹中打开uiautimatorviewer.bat,用于元素定位 测试场景,启动淘宝app,同意温馨提示,进入首页 id定位 Appium中可以使用find_element

python+Appium自动化:输入中文问题

只要接触到app自动化,难免会遇到许多坑,今天说说解决中文输入的问题. 流程: 进入到淘宝应用,点击搜索栏,输入文字 一开始send_keys(“中文”)时,搜索栏一直没有出现文字,脚本也没有提示报错,后面通过寻找资料,才知道desired_caps中缺少配置 "unicodeKeyboard":True(用unicode编码方式发送字符串) "resetKeyboard":True (键盘隐藏) 脚本运行后得已解决 原文地址:https://www.cnblogs

python+Appium自动化:运行第一个appium脚本

用pycharm工具进行编写,运行一个开启淘宝app实例 from appium import webdriver desired_caps = { "platformName": "Android", "platformVersion": "5.1", "deviceName": "U4KF9HSK99999999", #真机设备名称 通过adb devices获取 "app

python+Appium自动化:元素等待时间

元素等待时间 为什么要设置等待时间呢?主要是因为界面加载时,为了防止元素还未出现影响后续的操作. 主要有三种方式:强制(线性)等待.隐式等待.显式等待 适用于appium和selenium 强制(线性)等待 import time #休眠5秒钟 time.sleep(5) 隐式等待 只能设置一个元素等待时间,针对全局元素有效 driver.implicitly——wait(10) 显式等待 主要针对某个元素来设置的等待时间 WebDriverWait(driver, timeout, poll_

python+Appium自动化:MultiAction多点触控

MultiAction MultiAction 是多点触控的类,常用于模拟用户多点操作. 主要包含这add()还有perform()两个方法,模拟多点触控,需要导入TouchAction还有MultiAction两个模块. from appium.webdriver.common.multi_action import MultiAction from appium.webdriver.common.touch_action import TouchAction 加载: 方法add(self,