【airtest】自动化入门教程(三)Poco操作

目录

一、准备工作

1、创建一个pthon脚本

2、光标位置 2、选择Android 3、选择yes

二、定位元素

三、poco基于设备/屏幕  方式

1、poco.click( (x,y))基于屏幕点击相对坐标为x,y的位置

2、poco.get_screen_size()

3、poco.swipe(v1,v2)基于屏幕从v1位置滑到到v2

 4、scroll("垂直/水平",百分比) 滑动

四、poco定位到元素方式 

1、ele = poco(属性名=属性值〕

2、ele.click ===> poco(属性名=属性值).click()点击指定元素

3、ele.attr(属性名)根据属性名获取元素指定的属性值

4、ele.setattr(属性名,属性值)对指定元素的属性重新赋值

5、ele.set_text("文本") 对指定元素设置文本值

6、ele.get_text()获取元素的text属性值

7、ele.swipe(坐标/方向)将指定元素滑到到某个位置/方向

8、ele.exists(判断元素是否存在)

五、附录

1、运行注意事项

 1.1 运行代码注意这三个不要开启,记得关闭

1.2 运行时这里需要时Andriod


前言:是一款基于UI控件识别的自动化测试框架,目前支持Unity3D/cocos2dx-*/Android原生app/iOS原生app/微信小程序,也可以在其他引擎中自行接入poco-sdk来使用

一、准备工作

1、创建一个pthon脚本

2、光标位置 2、选择Android 3、选择yes

from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)

 

二、定位元素

 Poco底层 是uiautomator实现的   下图元素定位方式本教程第一篇文章有描述

三、poco基于设备/屏幕  方式

poco.pocofw module — poco 1.0 文档

1、poco.click( (x,y))基于屏幕点击相对坐标为x,y的位置

# -*- encoding=utf8 -*-
__author__ = "cheng"from airtest.core.api import *
from airtest.cli.parser import cli_setupif not cli_setup():auto_setup(__file__, logdir=True, devices=["android://127.0.0.1:5037/127.0.0.1:7555?cap_method=ADBCAP&touch_method=MAXTOUCH&",])from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)# script content
print("start...")
poco.click([0.362,0.507])

2、poco.get_screen_size()

print(poco.get_screen_size())

3、poco.swipe(v1,v2)基于屏幕从v1位置滑到到v2

poco.swipe([0.36,0.87],[0.43,0.34]) # 点到点
poco.swipe([0.36,0.87],direction=[0,0.3]) # 点与方向

 4、scroll("垂直/水平",百分比) 滑动

poco.scroll("vertical", 0.5) # 水平 
poco.scroll("horizontal", 0.5) # 垂直

四、poco定位到元素方式 

poco.proxy module — poco 1.0 文档

1、ele = poco(属性名=属性值〕

如果找到多个元素是一个列表﹒如果能定位到唯一元素直接是个元素对象

poco(text="文档扫描").click()  # 定位到一个元素就是直接操作的对象
print(len(poco(name="com.youdao.note:id/item_top_view_image")))  # 定位到多个元素就是列表[]

2、ele.click ===> poco(属性名=属性值).click()点击指定元素

poco(text="文档扫描").click()  # 定位到一个元素就是直接操作的对象

3、ele.attr(属性名)根据属性名获取元素指定的属性值

print(poco(text="文档扫描").attr("text"))  # 获取文本属性

4、ele.setattr(属性名,属性值)对指定元素的属性重新赋值

poco(text="搜索笔记").setattr("text", "New Text") 

5、ele.set_text("文本") 对指定元素设置文本值

poco(text="搜索笔记").set_text("搜索内容")

这个设置文本值,后续没有回车等动作 

6、ele.get_text()获取元素的text属性值

print(poco(text="文档扫描").get_text())  # 获取文本属性

7、ele.swipe(坐标/方向)将指定元素滑到到某个位置/方向

poco(text="没有更多了~").swipe([0.4,0.4])   # 坐标
poco(text="没有更多了~").swipe("up")   # 方向

8、ele.exists(判断元素是否存在)

print(poco(text="文档扫描").exists())  # 判断元素是否存在

五、附录

1、运行注意事项

 1.1 运行代码注意这三个不要开启,记得关闭

1.2 运行时这里需要时Andriod

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

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

相关文章

02.刚性事务

刚性事务 1.DTP模型 X/Open组织介绍 X/OPEN是一个组织(现在的open group)X/Open国际联盟有限公司是一个欧洲基金会,它的建立是为了向UNIX环境提供标准。它主要的目标是促进对UNIX语言、接口、网络和应用的开放式系统协议的制定。它还促进在…

初识C语言—常见关键字

变量的命名最好有意义 名字必须是字母&#xff0c;数字&#xff0c;下划线组成&#xff0c;不能有特殊字符&#xff0c;同时不能以数字开头 变量名不能是关键字 typedef---类型定义&#xff0c;类型重命名 #include <stdio.h>typedef unsigned int uint; //将unsigne…

ubuntu20.04设置docker容器开机自启动

ubuntu20.04设置docker容器开机自启动 1 docker自动启动2 容器设置自动启动3 容器自启动失败处理 1 docker自动启动 &#xff08;1&#xff09;查看已启动的服务 $ sudo systemctl list-units --typeservice此命令会列出所有当前加载的服务单元。默认情况下&#xff0c;此命令…

Python自动化测试基础必备知识点总结

一、自动化测试的概念 性能系统负载能力稳定性过载操作下的系统瓶颈自动化测试&#xff0c;使用程序代替人工&#xff0c;可以提高测试效率性&#xff0c;自动化测试能自动化使用代码模拟大量用户&#xff0c;让用户请求多页和多用户并发请求收集参数&#xff0c;并对系统负载…

设计模式七:责任链模式

文章目录 1、责任链模式2、spring中的责任链模式Spring InterceptorServlet FilterNetty 1、责任链模式 责任链模式为请求创建了一个接收者对象的链&#xff0c;在这种模式下&#xff0c;通常每个节点都包含对另一个节点者的引用。每个节点针对请求&#xff0c;处理自己感兴趣…

openGauss学习笔记-233 openGauss性能调优-系统调优-资源负载管理-资源管理准备-启动资源负载管理功能

文章目录 openGauss学习笔记-233 openGauss性能调优-系统调优-资源负载管理-资源管理准备-启动资源负载管理功能233.1 背景信息233.2 前提条件233.3 操作步骤 openGauss学习笔记-233 openGauss性能调优-系统调优-资源负载管理-资源管理准备-启动资源负载管理功能 233.1 背景信…

轻松解决电脑卡顿,CleanMyMac X2024让你的Mac电脑重回巅峰性能!

在当今这个信息爆炸的时代&#xff0c;我们的电脑往往会因为安装了过多的软件、积累了太多的垃圾文件以及运行缓慢而变得卡顿、不流畅。然而&#xff0c;CleanMyMac X2024的出现&#xff0c;将为你解决这些问题&#xff0c;让你的电脑重获新生&#xff01; CleanMyMac X2024全新…

java的JDK选择和在win11的安装与配置

一.背景 还是公司安排的师带徒的任务。自己也回头看看。 二.JDK的选择 开发的版本java1.8。所以准备使用JDK8。 1.JDK有谁在给我们提供呢&#xff1f; 我以前知道的是sun、RedHat、Oracle、IBM。 我以前一般都是去sun的网站下载&#xff0c;后来被Oracle收购后去的Oracle…

前端导出word文件的多种方式、前端导出excel文件

文章目录 纯前借助word模板端导出word文件 &#xff08;推荐&#xff09;使用模板导出 前端通过模板字符串导出word文件前端导出 excel文件&#xff0c;node-xlsx导出文件&#xff0c;行列合并 纯前借助word模板端导出word文件 &#xff08;推荐&#xff09; 先看效果&#xf…

nginx如何配置命令启动

我安装好nginx后&#xff0c;发现不能使用systemctl start nginx或者systemctl stop nginx来控制启停 解决方法如下 首先要建一个nginx.pid的文件 一般是建在 /var/run/这个路径下面 sudo touch /var/run/nginx.pid 添加权限 sudo chmod 644 /var/run/nginx.pid可以进入到…

数据结构-----反射

文章目录 反射1.定义2 用途(了解)3 反射基本信息4 反射相关的类&#xff08;重要&#xff09;4.1 Class类(反射机制的起源 )4.1.1 Class类中的相关方法(方法的使用方法在后边的示例当中) 4.2 反射示例4.2.1 获得Class对象的三种方式4.2.2 反射的使用 5、反射优点和缺点6 重点总…

双周回顾#005 - 零

一件悲伤的事实&#xff0c;这两周&#xff0c;成长值为零&#xff5e;&#xff5e; 从大数据部门临时抽调到互联网部门&#xff0c;支援重构的“配置下单”项目。 一个变种的低代码架构设计&#xff0c;唯一比较有意思的是它的业务组件的设计与校验设计&#xff0c;算是学习…

怎么把人物从图中抠出?分享几种好用的抠图方法

在日常生活中&#xff0c;我们时常需要将人物从繁杂的背景中优雅地提取出来&#xff0c;无论是为了制作一张精美的证件照&#xff0c;还是为了设计一幅引人注目的海报或宣传画。然而&#xff0c;对于许多非专业人士来说&#xff0c;这仿佛是一场与细节的捉迷藏游戏&#xff0c;…

数据结构从入门到精通——顺序表

顺序表 前言一、线性表二、顺序表2.1概念及结构2.2 接口实现2.3 数组相关面试题2.4 顺序表的问题及思考 三、顺序表具体实现代码顺序表的初始化顺序表的销毁顺序表的打印顺序表的增容顺序表的头部/尾部插入顺序表的头部/尾部删除指定位置之前插入数据和删除指定位置数据顺序表元…

Linux如何查看端口是否占用

在Linux中&#xff0c;有多种方法可以用来检查端口是否被占用。以下是一些常用的命令&#xff1a; netstat&#xff1a;这是一个非常通用的命令&#xff0c;可以用来查看所有端口的使用情况。如果你想查找特定的端口是否被占用&#xff0c;可以使用netstat命令配合grep。例如&…

【MySQL】DQL

DQL&#xff08;数据查询语言&#xff09;用于在MySQL数据库中执行数据查询操作。它主要包括SELECT语句&#xff0c;用于从表中检索数据。 0. 基本语法 SELECT 字段列表 FROM 表名列表 WHERE 条件列表 GROUP BY 分组字段列表 HAVING 分组后条件列表 ORDER BY 排序字段列表 …

【市工信】2024年青岛市绿色工厂、绿色工业园区等绿色制造示范申报

科大睿智小编从青岛市工信局了解到&#xff0c;为深入贯彻绿色发展理念&#xff0c;牢固树立绿色低碳发展导向&#xff0c;进一步完善绿色制造体系&#xff0c;培育绿色制造先进典型&#xff0c;根据《工业和信息化部关于印发<绿色工厂梯度培育及管理暂行办法>的通知》&a…

springcloud:3.1介绍雪崩和Resilience4j

灾难性雪崩效应 简介 服务与服务之间的依赖性,故障会传播,造成连锁反应,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的“雪崩”效应。 原因 1.服务提供者不可用(硬件故障、程序bug、缓存击穿、用户大量请求) 2.重试加大流量(用户重试,代码逻辑重试) 3.服…

在golang中使用protoc

【Golang】proto生成go的相关文件 推荐个人主页&#xff1a;席万里的个人空间 文章目录 【Golang】proto生成go的相关文件1、查看proto的版本号2、安装protoc-gen-go和protoc-gen-go-grpc3、生成protobuff以及grpc的文件 1、查看proto的版本号 protoc --version2、安装protoc-…

Acwing 周赛132 解题报告 | 珂学家 | 并查集 + floyd寻路

前言 整体评价 A. 大小写转换 Q: 把字符串s统一成小写字母形态 题型&#xff1a;签到 知识点: 考察字符串的API题 c可以借助transform函数&#xff0c;进行转化 #include <bits/stdc.h>using namespace std;int main() {string s;cin >> s;// 把自己转化为小写…