首页 > 其他分享 >手机操作API

手机操作API

时间:2023-05-01 19:55:16浏览次数:54  
标签:截图 driver 获取 API 操作 press 手机 keycode

目录

手机操作API

获取手机分辨率

应用场景

自动化测试可能会需要根据当前设备的屏幕分辨率来计算一些点击或者滑动的坐标

核心代码

#获取手机分辨率
print(driver.get_window_size())

执行结果

'width': 900, 'height': 1600

手机截图

应用场景

有些自动化的操作可能没有反应,但并不报错。此时我们就可以将操作过后的关键情况,截图留存。后期也可以根据图片发现问题。

方法名

#获取手机截图
#参数:
#filename:指定路径下,指定格式的图片
get_screenshot_as_file(filename)

示例

1.打开设置页面

2.截图当前页面保存到当前目录,命名为1.png

核心代码

driver.get_screenshot_as_file('1.png')

执行结果

项目目录下会多出一个文件1.png

获取和设置手机网络

应用场景

视频应用在使用流量看视频的时候,大部分都会提示用户正在是否继续播放。作为测试人员,我们可能需要用自动化的形式来判断是否有对应的提示。即,用流量的时候应该有提示,不用流量的时候应该没有提示。

属性名

#获取手机网络
driver.network_connection
#设置手机网络
driver.set_network_connection(6)

image-20230501183905652

Demo

#判断当前系统使用的网络类型是否为流量,如果是,输出1;否则,输出0
#导包:from appium.webdriver.connectiontype import ConnectionType
#注意:建议使用系统提供的类型,可读性更强;不建议使用4替代
if driver.network_connection == ConnectionType.DATA_ONLY:
    print(1)
else:
    print(0)

发送键到设备

应用场景

模拟按“返回键”“home键”等等操作,比如,很多应用有按两次返回键退出应用的功能,如果这个功能需要做自动化,那么一定会用到这个方法

方法名

#发送键到设备
#参数:
#keycode:发送给设备的关键代码
#metastate:关于被发送的关键代码的元信息,一般为默认值
driver.press_keycode(keycode, metastate=None)

注意点

按键对应的编码,可以在百度搜索关键字“android keycode”

例如:https://blog.csdn.net/feizhixuan46789/article/details/16801429

核心代码

#点击三次音量加,再点击返回,再点击两次音量减
driver.press_keycode(24)
driver.press_keycode(24)
driver.press_keycode(24)
driver.press_keycode(4)
driver.press_keycode(25)
driver.press_keycode(25)

操作手机通知栏

应用场景

测试即时通信类软件的时候,如果A给B发送一条消息,B的通知栏肯定会显示对应的消息。我们想通过通知栏来判断B是否收到消息,一定要先操作手机的通知栏

方法名

#打开手机通知栏
driver.open_notifications()

注意点

appium官方并没有为我们提供关闭通知的api,那么现实生活中怎么关闭,怎样操作就行,比如,手指从下往上滑动,或者,按返回键

核心代码

#打开通知栏
driver.open_notifications()
#按下返回键
driver.press_keycode(4)

总结

  • 获取手机分辨率

    • 关键属性:get_window_size()
  • 获取手机截图

    • 关键属性:get_screenshot_as_file(filename)
  • 获取手机网络

    • 关键属性:network_connection
  • 设置手机网络

    • 关键属性:set_network_connection(6)
  • 发送键到设备

    • 关键属性:press_keycode(keycode, metastate=None)
  • 打开手机通知栏

    • 关键属性:open_notifications()

标签:截图,driver,获取,API,操作,press,手机,keycode
From: https://www.cnblogs.com/xiaoxiangstudy/p/17366900.html

相关文章

  • 字符串操作
    字符串的基本操作对象通常是字符串整体或者其子串,很多时候我们希望对子串进行操作,这是字符串与数组不同的地方之一。且字符串部分操作比数组更加复杂,如比较和连接操作。在c++中,字符串可以用==来实现比较,也可以直接进行连接操作,但是在其他语言如java中不可以直接实现且字符串不可变......
  • 考研408操作系统-5.1IO管理概述
    23版王道书第5题第6题第9题通道技术指的是一种硬件机制。第12题第19题第21题第22题第24题......
  • 手机串号怎么解决的技术原理是什么
    随着智能手机的普及,手机串号问题也逐渐成为一个热点话题。在许多地区,手机串号问题是一个严重的问题,因为它不仅影响了手机的使用,还可能涉及到诈骗、盗窃和其他犯罪行为。因此,解决手机串号问题至关重要。本文将介绍手机串号问题的技术原理及其解决方法。什么是手机串号?......
  • 手机串号开发思路运行原理解剖
    手机串号(IMEI)是手机的唯一标识符,每一台手机都有自己独特的IMEI号码。IMEI号码可以用于手机的追踪、验证、管理和保障用户权益等多个方面。本文将对IMEI的开发思路和运行原理进行解析。一、IMEI的开发思路确定IMEI的结构IMEI号码由15位数字组成,其中包含有7个区段。在开......
  • 手机串号怎么去开发怎么运行技术原理
    手机串号(IMEI)作为一种用于标识移动设备的识别码,具有重要的应用价值。在现代社会中,随着智能手机的快速普及,IMEI成为了移动设备管理和使用的重要标志。本文将介绍IMEI的开发和运行过程,以及它们的应用场景。一、IMEI的开发 1了解IMEI的结构IMEI由15位数字组成,其中包含有7......
  • 手机串号是如何运行的技术原理
    随着人们对手机的依赖程度越来越高,手机串号(IMEI)这一概念逐渐为大众所熟知。然而,对于绝大多数人来说,手机串号到底是什么,以及它是如何工作的,可能还是一个谜。本文将为读者详细解析手机串号的含义、作用以及运行方式。一、手机串号的含义手机串号全称为国际移动设备身份码(Int......
  • 关于Linux操作系统-OS等保要求配置-禁止root用户直接ssh登录
    在等保中,都会去要求查看sshd配置,看是否有禁止root用户直接ssh登录,此项一般也会作为一个强制要求安全配置项笔者这里的操作系统如下,对于Redhat7.x应该也是一样的,可以自行测试[qq-5201351@Localhost~]$cat/etc/redhat-releaseRedHatEnterpriseLinuxrelease8.1(Ootpa)......
  • 如何通过 API 查看 cnblogs 博客访问量和博客积分与排名 All In One
    如何通过API查看cnblogs博客访问量和博客排名AllInOne开启配置https://i.cnblogs.com/preference博客访问量APIhttps://www.cnblogs.com/`username`/ajax/blogStats博客排名APIhttps://www.cnblogs.com/`username`/ajax/sidecolumn.aspxdemos博客访问量......
  • python操作MongoDB数据库
    python处理mongodb首选就是pymongo.首先,安装一下这个模块pipinstallpymongo建立连接importpymongoconn=pymongo.MongoClient(host='localhost',port=27017)#切换数据库py=conn['python']#登录该数据库(需要的话)py.authenticate("python_admin",'......
  • python 文件操作(csv和excel大型文件读取)
    使用csv模块首先,我们需要导入csv模块:importcsv读取CSV文件要读取一个CSV文件,可以使用csv.reader()函数。该函数接受一个文件对象作为参数,并返回一个可迭代的行列表。每一行都是一个由列数据组成的列表。例如,如果我们有一个名为data.csv的CSV文件,其中包含以下内容:Name,Age......