全网最新最全面的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

  总结:

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

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

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

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件测试人员必备的60个测试工具清单!

据统计,中国软件外包市场的潜力和机会已远远超过软件王国印度,不过由于软件人才的严重不足致使我国软件发展遭遇“瓶颈”。国家为了大力培养软件人才,不断采取积极有效的措施。我国对软件测试人才的需求数量还将持续增加,因此软件…

随时随地查看远程试验数据与记录——IPEhub2与IPEmotion APP

一 背景 在工况恶劣、空间狭小的试验场景或工程机械领域中,不但试验人员在试验环境中对自身安全没有保障,而且试验过程也会受到影响,如高温高压测试、工程机械液压系统测试等。对此,结合IPEhub2与IPEmotion APP,既可保…

【Linux】mkdir 命令使用

mkdir命令 mkdir(英文全拼:make directory)命令用于创建目录。 著者 作者:David MacKenzie。 mkdir命令 -Linux手册页 语法 mkdir [参数] [文件名] 命令选项及作用 执行令 : mkdir --help 执行命令结果 参数 …

【Java Web学习笔记】5 - XML

项目代码 https://github.com/yinhai1114/JavaWeb_LearningCode/tree/main/xml 零、在线文档 XML系列教程 一、XML引出 1.为什么需要XML 1.需求1 :两个程序间进行数据通信? 2.需求2:给一台服务器,做-一个配置文件,当服务器程序启动时,去…

vue3 setup语法糖 多条件搜索(带时间范围)

目录 前言: setup介绍: setup用法: 介绍: 前言: 不管哪个后台管理中都会用到对条件搜索带有时间范围的也不少见接下来就跟着我步入vue的多条件搜索(带时间范围) 在 Vue 3 中,你…

coding创建远程分支。并拉取远程新分支+推送代码

进入coding ----项目----代码仓库---点击 下拉之后查看全部----创建分支 创建分支之后执行下面命令 git branch -a // 查看所有分支 这个时候发现自己创建的分支没有显示这是因为自己在远程创建了分支但是本地还没有分支 执行 git fetch命令 用于从远程仓库获取最新的提交…

智能优化算法应用:基于混沌博弈算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于混沌博弈算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于混沌博弈算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.混沌博弈算法4.实验参数设定5.算法结果6.参考…

Linux【缓冲区】

欢迎来到Cefler的博客😁 🕌博客主页:那个传说中的man的主页 🏠个人专栏:题目解析 🌎推荐文章:题目大解析(3) 目录 👉🏻缓冲区是什么?为…

VSCode + gdb + gdbserver调试ARM程序

在开发ARM嵌入式端C/C程序时,一般会在PC上编写代码,在Linux服务器上编译,然后将程序复制或挂载到ARM开发板上运行。如果程序出了问题,在不使用gdb的情况下,经常在代码中添加打印,编译,然后在开发…

SpringCloud 微服务集群升级记录(1.5.x-2.7.18)

前言 前段时间,因项目被扫出大量漏洞,全是因为依赖版本过低,存在高中危漏洞需要升级。正好本来也有规划集群升级,因为工作量大迟迟落实不了,正好有这次修漏洞的机会,升级微服务集群。这篇文章主要记录了本…

Java操作Excel之 POI介绍和入门

POI是Apache 提供的一个开源的Java API,用于操作Microsoft文档格式,如Excel、Word和PowerPoint等。POI是Java中处理Microsoft文档最受欢迎的库。 截至2023/12, 最新版本时 POI 5.2.5。 JDK版本兼容 POI版本JDK版本4.0及之上版本> 1.83.…

【2】PyQt创建窗口

1. 第一个PyQt窗口 from PyQt5.QtWidgets import QApplication,QWidget import sys# 1.创建应用程序 app QApplication(sys.argv)# 2.创建窗口 w QWidget()# 3.显示窗口 w.show()# 4.等待窗口停止 sys.exit(app.exec()) 执行代码,就会显示PyQt窗口: 2. PyQt模块简介 PyQt中…

Java参数验证@Validated

就以登录接口为例&#xff0c;如果用户传参的时候没有传递帐号或者密码&#xff0c;会报错&#xff0c;但是报错的信息不够全面&#xff0c;前端人员不好判断是什么问题&#xff0c;这个时候就需要对参数进行一个校验 引入依赖 <dependency><groupId>org.hibernat…

JAVAEE初阶相关内容第十八弹--网络原理之TCP_IP【续集】

写在前 上一篇博客的重点内容主要讲了关于传输层的TCP协议、UDP协议。 点击跳转上一篇博客 重点介绍了协议的特点、协议端格式、需要重点理解并掌握TCP的工作机制&#xff08;十条&#xff09;。 TCP与UDP对比&#xff1f; TCP用于可靠传输的情况&#xff0c;应用于文件传输&am…

客服系统优化:薪人薪事无代码开发与API连接简化电商平台集成

无代码开发的革新意义 在数字化时代&#xff0c;企业持续寻求提高效率与竞争力的解决方案。无代码开发技术应运而生&#xff0c;为电商平台与客服系统之间的集成提供了全新的可能。薪人薪事通过其先进的无代码开发能力和灵活的API连接&#xff0c;使得电商平台的集成过程变得前…

一. 初识数据结构和算法

数据结构与算法是一个达到高级程序员的敲门砖。当你脱离了语言的应用层面&#xff0c;去思考他的设计层面时&#xff0c;你就依旧已经开始初识数据结构与算法了 数据结构 什么是数据结构 对于数据结构的定义官方并没有统一的解释&#xff0c;在各个百科以及算法的书中&#xf…

类和对象——(7)this指针

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 人生就像骑单车&#xff0c;想保持平衡…

性能测试流程、指标及常见问题!

1.介绍性能测试流程 a.性能需求分析&#xff08;评审&#xff09; 基于接口或者场景&#xff08;全链路&#xff09;的性能测试指标&#xff0c;一般是tps&#xff08;每秒事务数&#xff0c;这里都是通过的事务&#xff09;及art&#xff08;平均响应时间&#xff09; b.了解…

Lombok的踩坑系列之@Builder

背景&#xff1a; Lombok 这个插件大家日常工作中几乎是必备的&#xff0c;几个简单的注解就可以帮助我们减少一大坨get/set方法等&#xff1b;其中Builder注解使用的也很广泛&#xff0c;使用了建造者模式帮助我们构建出个性化的对象&#xff0c;本次踩坑点就在这个地方。 先…

2D与3D图形的基本变换

1. 2d transformations 1.1缩放(Scaling) 其实这个转换非常简单&#xff0c;如图所示就是把x与y进行s倍的缩放&#xff0c;而我们图中的这个矩阵正好满足这一算法。 1.2镜像(Reflection) 这个镜像变换可以和上面的做类比&#xff0c;简单看一下就行。 1.3错切(Shearing) 当然…