首页 > 其他分享 >【uiautomator2 】app最重要的操作:点击、滑动、输入、按键、截屏操作

【uiautomator2 】app最重要的操作:点击、滑动、输入、按键、截屏操作

时间:2023-12-12 12:44:19浏览次数:30  
标签:text app 截屏 滑动 操作 uiautomator2 click png

app的操作:点击、滑动、输入、按键操作

https://blog.csdn.net/Moonlight_16/article/details/125258638

app主要包括4大操作:

  1. 点击click
  2. 滑动swipe
  3. 输入
  4. 按键

一、app点击操作 click

  • 先进行元素定位,找到元素后再去执行click操作;
d(text='').click()
1
  • 通过全局坐标点击,元素不方便定位的时候使用d.click(x,y)
d.click(139,552)
1
  • 可以通过绝对坐标或者百分比进行操作d.click(x,y)
d.click(0.765,0.927)
1

二、app滑动操作 swipe

  1. 根据位移滑动

需要4个参数:startx,starty,endx,endy

d.swipe(600,200,600,800)
1

2.扩展版的滑动操作

d.swipe_ext('left',scale=0.9)
1

3.先定位元素,再使用元素对象滑动

e = d(text = '活动')
e.swipe('down',steps=100)
12

三、app输入操作 send_keys()

1.输入操作 send_keys()

op_login_phone = d(text="请输入登录账号").send_keys("18800000001")
op_login_pwd = d(text="请输入登录密码").send_keys("123456")
12

2.清空操作 clear_text()

op_login_phone = d(resourceID='com.../userId_wapper').clear_text()
1

四、app截屏操作

1.直接通过文件名截屏 screenshot(‘test01.png’)

    img01 = d.screenshot('test01.png')
1

2.通过pillow截屏

截屏操作进阶版:pillow,cv2
不加任何参数,使用pillow进行图片处理

  filter:滤镜,对图片进行模糊处理
1
    img01 = d.screenshot('test01.png')

    img02 = img01.filter(ImageFilter.BLUR)
    img02.save('test02.png')
1234
  处理图片大小:以指定大小存储图片
1
    img01 = d.screenshot('test01.png')

    img02 = img01.filter(ImageFilter.BLUR)
    img02.save('test02.png')


    img03 = img01.resize(200,200)
    img03.save('test03.png')
    
123456789

标签:text,app,截屏,滑动,操作,uiautomator2,click,png
From: https://www.cnblogs.com/xiondun/p/17896525.html

相关文章

  • uniapp插件市场上架插件,提示components不包含对应包名称的组件
    第一次在uniapp上架了一个小组件,所有的都按照文档填写上传了,但是提交的时候一直提示不行原来是在压缩组件源码的时候出问题,不要把components和static放在一个文件夹下面压缩文件夹,要直接把components和`static``组合压缩就行。这是错误的这是正确的......
  • 论文笔记: Attributed Graph Clustering: A Deep Attentional Embedding Approach
    论文笔记:AttributedGraphClustering:ADeepAttentionalEmbeddingApproach中文名称:属性图聚类:一种深度注意力嵌入方法论文链接:https://arxiv.org/abs/1906.06532背景:​ 图聚类是发现网络中的社区或群体的一项基本任务。最近的研究主要集中在开发深度学习方......
  • JAVA:mapper.java和mapper.xml的关系,以及foreach的用法
    简单理解就是,java声明了方法,xml实现了方法,类似与接口与实现接口,他们之间的关系如下:// Mapper.java中List<Ranks>inquireOnlyName(@Param("names")List<String>names,@Param("status")Stringstatus,@Param("startIndex&qu......
  • App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
    iOS备案查看信息iOS平台BundleID公钥证书SHA-1指纹IOS平台服务器域名获取BundleID:或者https://developer.apple.com/account/resources/identifiers/list获取公钥与签名SHA1值:https://developer.apple.com/account/resources/certificates/list......
  • 【APP小程序】微信小程序包解密+加解密算法JS逆向
    简介现如今大部分微信小程序抓包看到的数据均是加密的,无法通过常规的业务抓包进行测试,现通过对微信小程序包进行解密,获取到微信小程序源码对加解密算法进行分析。微信小程序解密小程序包默认路径:C:\Users\Administrator\Documents\WeChatFiles\Applet如不知道哪个是需要测试......
  • 【APP小程序测试】APP抓包Frida反代理绕过和证书校验绕过
    前期准备逍遥模拟器Burp(抓包)测试APPfridawiresharkr0capture反代理和证书校验绕过解决app证书校验无法抓包问题使用工具:FridaFirda是一款易用的跨平Hook工具,Java层到Native层的Hook无所不能,是一种动态的插桩工具,可以插入代码到原生App的内存空间中,动态的......
  • Js(Javascript)中的apply方法的使用
    ​ JavaScript中的apply()方法用于调用函数,允许指定函数的this对象和参数。也就是通过function的apply方法来调用方法,可以改变方法的this的对象,并且还可以传入方法参数,apply对于面向对象编程还是很有用的。参考文档:Js(Javascript)中的apply方法的使用-CJavaPy1、基本语......
  • ES 操作索引库——mapping属性
    ES中,索引库就相当于MySql的表;索引库里面有很多的文档,相当于MySql表里面一行一行的数据。我们知道,MySql数据库要先创建表才能去添加数据;ES也一样,要先有了索引库,才能往索引库里边添加文档 要想创建一个索引库,就像建表一样:建表语句里是要指定字段的一些约束的,例如id、store字段......
  • 江鸟中原——鸿蒙App应用-《校园通》
        我是中原工学院软工金学生黄晓雨。以下是我的实践报告。   《校园通》软件很多系统中都有,android,ios,平板电脑等,该软件主要用于学校里的环境,学生,老师之间的沟通,方便学生的行动。实现思路:创建一个Java语言的鸿蒙项目创建主界面,包含:学校生活,出行指南,游玩南昌,号码百......
  • vue3学习之createApp(App).mount('#app')
    装了vue-cli之后,新建个项目跑起来了,碰上个没理解的问题,不知道createApp(App).mount('#app')挂载的这个id=“app”从哪冒出来的 用命令创建出来的项目,components/HelloWorld.vue,App.vue,main.js中都没有估摸着得是底层的,网上找一圈,各路大神基本是一句带过,可能是太简单了,没......