全网最新最全面的Appium自动化:Appium常用操作之设备操作

设备基本操作

前置条件:

示例代码:

from appium import webdriver  # 导入appium 驱动包
# 1、定义一个DesiredCapabilities配置的字典
des = {
    'automationName':'appium',
    'platformName':'Android',   # 平台的名称,iOS,Android,FirefoxOS
    'platformVersion':'6.0.1',  # 填写android虚拟机/真机的系统版本号
    'deviceName':'MuMu',      # 填写安卓虚拟机/真机的设备名称
    'appPackage':'com.sky.jisuanji',    # 填写被测app包名
    'appActivity':'.JisuanjizixieActivity',    # 填写被测app的Activity入口
    'udid':'127.0.0.1:7555',    # 填写通过命令行 adb devices 查看到的udid
    'noReset':True,               # 是否 不重置APP
    'noSign':True,                # 是否 不签名
    'unicodeKeyboard':True,       # 是否支持中文输入
    'resetKeyboard':True,         # 是否支持重置键盘
       }

# 2、把配置的字典作为请求参数发送给appium服务器
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',des)

1、lock(self,seconds):锁屏操作,seconds设置锁屏时长

# 锁屏操作
driver.lock(3)  # 锁屏时长3s ==> 交叉事件:如果测试一个视频直播,锁屏后再打开是否还能继续直播
time.sleep(2)
print(driver.is_locked())  # is_locked()判断是否为锁屏状态 返回布尔值

2、unlock(self):解锁操作

# 解锁操作
driver.unlock()
print(driver.is_locked())

3、is_locked(self):判断是否锁屏,锁屏状态返回True

# 锁屏操作
driver.lock(3) 
time.sleep(2)
# 判断是否锁屏 锁屏状态返回True
print(driver.is_locked())  # is_locked()判断是否为锁屏状态 返回布尔值

4、open_notifications(self):打开通知栏

#打开通知栏操作
time.sleep(2)
driver.open_notifications()

5、driver.orientation='LANDSCAPE':切换横屏操作,PORTRAIT:切换竖屏操作,也可以通过driver.orientation获取当前屏幕状态

# 切换横竖屏操作
print(driver.orientation)  # 获取当前屏幕的横竖屏状态
time.sleep(2)
driver.orientation = 'LANDSCAPE'  # 设置横屏
time.sleep(2)
driver.orientation = 'PORTRAIT'  # 设置竖屏

6、get_window_size(self,windowHandle='current'):默认获取当前屏幕的分辨率,返回字典{'width':,'height':}

# 默认获取当前屏幕的分辨率,返回字典{'width':,'height':}
print(driver.get_window_size())

7、network_connection:获取网络状态,返回整型数字

0 (No connection) 无状态
1(Airplane Mode) 飞行模式
2(Wifi only) 仅开启wifi模式
4(Data only) 仅开启数据流量模式
6(All network on) 全部开启(包括wifi 和数据流量模式)

print(driver.network_connection)  # 获取网络状态

8、set_network_connection(self,connection_type):设置网络状态,使用数字或导入ConnectionType类进行传参设置

# 设置网络状态
# 方式一:使用数字传参设置 0、1、2、4、6
driver.set_network_connection(1)
time.sleep(5)
# 方式二:导入ConnectionType类进行传参设置
from appium.webdriver.connectiontype import ConnectionType
driver.set_network_connection(ConnectionType.ALL_NETWORK_ON)

9、save_screenshot(self,filename):截屏操作,filename为保存的文件路径,图片格式设置为png格式

# 截图操作
time.sleep(2)
driver.save_screenshot('C:/Users/Jeff/Desktop/123.png')

10、get_device_time(self,format=None):获取设备当前时间,format为日期时间格式设置,默认为'YYYY-MM-DDTHH:mm:ssZ'

# 获取设备当前时间,默认格式为'YYYY-MM-DDTHH:mm:ssZ'
print(driver.get_device_time())

  自动化测试相关教程推荐:

2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili

2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili

测试开发相关教程推荐

2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili

postman/jmeter/fiddler测试工具类教程推荐

讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili

2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili

2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili

  总结:

 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/219894.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

打开游戏提示缺少(或找不到)XINPUT1_3.DLL怎么解决

在电脑使用过程中,我们可能会遇到一些错误提示,其中之一就是xinput1_3.dll丢失。那么,xinput1_3.dll是什么文件?它对电脑有什么影响?本文将详细介绍xinput1_3.dll丢失的原因以及五个详细的解决方法,帮助大家…

初识Protobuf与Protobuf的安装

目录 一、Protobuf 1.回顾序列化 2.Protobuf的特性 3.Protobuf的下载 ①ProtoBuf 在 window 下的安装 ②ProtoBuf 在 Linux 下的安装 一、Protobuf 1.回顾序列化 我们在先前的学习中也遇到过序列化。所谓序列化我的理解是,将复杂的对象以特定的方式转换以便于…

vue3-vite-ts:编写Rollup插件并使用 / 优化构建过程

一、vue3-vite-ts项目,编写Rollup插件并使用的意义 在使用Vue3 Vite TypeScript这种技术栈时,可以使用Rollup插件来优化构建过程,例如使用rollup-plugin-typescript2插件来编译TypeScript代码,使用rollup-plugin-vue插件来处理…

go-fastfds部署心得

我是windows系统安装 Docker Desktop部署 docker run --name go-fastdfs(任意的一个名称) --privilegedtrue -t -p 3666:8080 -v /data/fasttdfs_data:/data -e GO_FASTDFS_DIR/data sjqzhang/go-fastdfs:lastest docker run:该命令用于运…

基于深度学习YoloV8的火焰烟雾检测系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介简介YoloV8模型火焰烟雾检测系统模型训练实时检测 应用领域 二、功能三、系统四. 总结 一项目简介 # 基于深度学习YoloV8的火焰烟雾检测系统介绍 简介 深…

【Unity3D】Android打包报错AAPT2:xxx Linkxxx

Gradle Plugin 与Gradle版本不匹配问题 或 相关依赖库下载不完全问题; 使用镜像即可解决 也可以离线(离线过于复杂 你能找到方法那最好是离线Maven) 仓库服务 找最新可用的镜像url,替换google()和jcenter(), 可以直接使用publ…

StoneDB-8.0-V2.2.0 企业版正式发布!性能优化,稳定性提升,持续公测中!

​ 11月,StoneDB 新版本如期而至,这一个月来我们的研发同学加班加点,持续迭代:在 2.2.0 版本中,我们针对用户提出的需求和做出了重量级更新,修复了一些已知和用户反馈的 Bug,同时对部分代码进行…

如何计算光伏电站的发电量?

光伏电站的发电量是衡量其性能和经济效益的关键指标。准确地预测和计算光伏电站的发电量对于投资决策、系统设计和优化至关重要。以下是一些计算光伏电站发电量的主要步骤和方法: 1、确定光伏电站的规模和配置 了解光伏电站的组件数量、类型、功率等级以及安装位置…

Win10点关机后马上又进入桌面解决方法

Win10点了关机,马上闪一下就又重新进入了桌面,关不了机怎么办?强制关机虽然是可行,但不能每一次都强制关机。下面给大家带来的win10不能关机的解决方法,希望能帮助到大家。 速印机(理想、荣大等&#xff09…

用php和mysql制作一个网站

当使用PHP和MySQL制作网站时,我们可以利用PHP的强大功能来与MySQL数据库进行交互,从而实现动态网页的创建和数据存取。下面是一个关于如何使用PHP和MySQL制作网站的简单说明,以及一些示例代码。 ​ 1、R5Ai智能助手 chatgpt国内版本 :R5Ai智…

集成测试如何做?

今天学习下如何进行集成测试。 什么是集成测试? 集成测试被定义为一种测试类型,其中软件模块在逻辑上集成并作为一个组进行测试。一个典型的软件项目由多个软件模块组成,由不同的程序员编码。此级别测试的目的是在集成这些软件模块时,暴露…

羊大师带大家探寻,南北地区冬季饮食的差异

羊大师带大家探寻,南北地区冬季饮食的差异 南北地区的冬季饮食有着明显的不同。随着气温的骤降,人们的餐桌上也逐渐变得丰盛起来。精心准备的美食不仅温暖了身心,更能带来满满的幸福感。接下来,让小编羊大师带大家一起走进南北饮…

软件测试,缺少项目实战怎么办?

解决办法 你可以进行一个简单的web测试。 以我目前的认知和经验,悄悄告诉你:政府网站大概率会有bug。 在著此文时,我随便找了个地方政府网站,点了进去。 http://www.yibin.gov.cn/en/ybsq/201905/t20190513_976652.html 大家…

猜数字游戏--数据控制流

#随机生成一个1~100之间的数字作为基准数,每次通过键盘输入一个数,如果输入数和基准数相同,则成功过关,猜中则退出游戏。 import randombase_number random.randint(1, 100) # 生成基准数guess_times 0 # 初始化猜测次数whil…

基于Python+OpenCV的车道线和车辆检测系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 本文将介绍如何使用Python编程语言结合OpenCV库进行车道线和车辆检测。这种技术常用于计算机视觉领域,特…

Windows使用Redis

Windows使用Redis 前言一、安装wsl2(Windows Subsystem for Linux)二、在wsl中下载并安装Redis一主二仆哨兵模式 前言 主要是记录一下,免得自己忘了。 一、安装wsl2(Windows Subsystem for Linux) Redis官网中说&…

Course2-Week1-神经网络

Course2-Week1-神经网络 文章目录 Course2-Week1-神经网络1. 神经网络概述1.1 欢迎来到Course21.2 神经元和大脑1.3 引入神经网络-需求预测1.4 神经网络的其他示例-图像感知 2. 神经网络的数学表达式2.1 单层的神经网络-需求预测2.3 前向传播的神经网络-手写数字识别 3. Tensor…

YOLOv4 学习笔记

文章目录 前言一、YOLOv4贡献和改进二、YOLOv4核心概念三、YOLOv4网络架构四、YOLOv4数据增强五、YOLOv4的损失函数总结 前言 在近年来的目标检测领域,YOLOv4的出现标志着一个重要的技术突破。YOLOv4不仅继承了YOLO系列快速、高效的特点,还引入了一系列…

【LeetCode热题100】【双指针】接雨水

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] …

数据分析师的学习之路-pandas篇(6)

接上篇,画图告一段落,现在学习表格的各种操作。 3.8 表格操作 3.8.1 表的校验 表里有些列的数据是有一定的要求的,比如说下面这个表,Score分数列,要求成绩只能是0到100,那如果有出现错误的数据&#xff0…