当前位置: 首页 > news >正文

交友征婚婚恋网站系统php+mysql.rar企业如何进行网络营销

交友征婚婚恋网站系统php+mysql.rar,企业如何进行网络营销,三文鱼电商代运营,福州网站建设哪家好Poco基于UI控件搜索原理 ,适用于Android、iOS原生和各种主流的游戏引擎应用。 中文官方文档:欢迎使用Poco (ポコ) UI自动化框架 — poco 1.0 文档 参考文档: Poco介绍 - Airtest Project Docs 环境准备 安装库:pip install po…

Poco基于UI控件搜索原理 ,适用于Android、iOS原生和各种主流的游戏引擎应用。

中文官方文档:欢迎使用Poco (ポコ) UI自动化框架 — poco 1.0 文档

参考文档: Poco介绍 - Airtest Project Docs

环境准备

安装库:pip install pocoui   、 pip install airtest

IDE选用:官网下载地址Airtest Project

连接设备

# 1、指定连接设备
from airtest.core.android import Android
from poco.drivers.android.uiautomation import AndroidUiautomationPoco  # 导入Poco 库
dev1 = Android()  # 指定连接的手机设备,指定参数为设备序列号,为空时默认连接获取到的第一台设备
poco = AndroidUiautomationPoco(dev1, screenshot_each_action=False)  # 实例化设备对象# 2、连接默认设备
# from airtest.core.api import *
# from airtest.cli.parser import cli_setup
# from poco.drivers.android.uiautomation import AndroidUiautomationPoco
# poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)

poco方法

执行adb命令

连接设备进行adb命令等操作,支持所有的adb操作

print(poco.get_screen_size())
print(poco.adb_client.devices())  # 打印连接设备序列号
print(poco.adb_client.get_device_info())  # 打印设备信息
print(poco.adb_client.shell('ls'))  # 执行adb命令
print(poco.adb_client.get_ip_address())  # 获取设备IP

poco.agent

print(poco.agent.screen.getPortSize())  # 屏幕分辨率

poco.device

print(poco.device.get_ip_address())  # 获取ip 地址
print(poco.device.list_app())  # 获取安装包

元素定位(选择器)

基本选择器

在poco实例后加一对括号,括号里的参数就是所给定的条件,用属性名值对表示,其中第一个参数表示节点名,后面还可以跟着一些可选参数,均表示节点的属性及预期的属性值

print(poco("android.view.View",text = "请输入密码").get_text())

  

相对选择器

通过元素之间的渲染层级关系进行选择

poco("android.view.View").children()  # 获取所有的子元素
poco("android.view.View").child("android.view.View", text='暂无公告')  # 当前节点的子元素,可根据指定参数获取符合条件的子元素,没有参数时和children功能相同
poco("android.view.View").offspring("android.view.View", textMatches='.*?密码.*?')  # offspring从查询表达式给出的UI元素中选择包含直接子元素(ren)的子元素
poco(nameMatches="退出登录").parent()  # 从查询表达式给出的UI元素中选择直接子元素(ren),如果要获取更上层父节点的话,需要在对象后添加继续添加parent()参数
poco(nameMatches="退出登录").sibling()  # 从查询表达式给出的UI元素中选择同级元素

正则匹配

支持正则匹配nameMatches、textMatches、typeMatches等(使用xxMatches)

for i in poco(textMatches='.*?密码.*?'):print(i.get_text())

  

等待

指定元素等待

obj1, obj2, obj3 = poco(text='微信'), poco(text='小红书'), poco(text='日历')
obj = poco(text='微信')obj.wait(timeout=2).exists()   # 超时时间内查找元素,返回布尔值,可以通过这个方法等待确定元素出现进行下一步操作
obj.wait_for_appearance(timeout=2)  # 等待元素出现(阻塞并等待,直到UI元素在给定的超时内出现)
obj.wait_for_disappearance(timeout=2)  # 等待元素消失

页面整体等待

poco.wait_stable()  # 休眠固定的秒数,以便等待UI变得静止(稳定),不需要手动调用此方法,它在需要时自动调用
poco.wait_for_any([obj1, obj2, obj3], timeout=2)  # 等待指定的任意一个元素出现
poco.wait_for_all([obj1, obj2, obj3], timeout=3)  # 等待所有元素出现

元素信息获取

poco.get_*()方法

    print(poco(text='微信').get_text())  # 元素文本内容,微信print(poco(text='微信').get_size())  # 精准大小,[0.22395833333333334, 0.1259018759018759]print(poco(text='微信').get_position())  # 相对于屏幕的相对位置,[0.8355654761904762, 0.6486291486291487]print(poco(text='微信').get_name())  # 元素名称,微信print(poco(text='微信').get_bounds())  # 元素界限,[0.5856782106782107, 0.9475446428571429, 0.7115800865800865, 0.7235863095238095]

poco.attr()方法

    print(poco(textMatches='.*?密码.*?').attr('name'))  # UI元素的名称print(poco(textMatches='.*?密码.*?').attr('text'))  # UI元素的字符串值print(poco(textMatches='.*?密码.*?').attr('size'))  # UI元素大小print(poco(textMatches='.*?密码.*?').attr('type'))  # UI元素的类型名print(poco(textMatches='.*?密码.*?').attr('visible'))  # UI元素是否可见print(poco(textMatches='.*?密码.*?').attr('pos'))  # UI元素相对屏幕位置

常用操作

exists()

检测定位元素是否在测试UI元素层次结构中,相当于attr('visible'),可以通过此判断决定是否进行某些操作【返回布尔值,可以通过这个方法等待确定元素出现进行下一步操作】。配合wait使用更好,见等待方法。

点击/长按

    poco("登录").click()  # 点击选择的对象poco.click([0.5, 0.5])  # 点击某个点poco(text='请填写手机号').long_click()  # 长按某个选中的元素对象,默认长按持续时间为2spoco.long_click([0.5, 0.5])  # 长按某个点

滚动

参数:
direction滑动的方向:vertical(垂直)、horizontal(水平)。
percent滑动的百分比(滑动的幅度),参数(0,1)垂直方向上滑动,水平方向左滑动,参数(-1,0)垂直方向下滑动,水平方向右滑动。
duration滑动操作的持续时间。

poco.scroll(direction='horizontal', duration=3, percent=-0.5)

滑动

    poco(text='微信').swipe(direction='left', duration=.3)  # 通过指定方向(direction参数)指定要滑动的位置:‘up’, ‘down’, ‘left’, ‘right’poco('微信').swipe([0.4, 0.8], duration=3)  # 通过坐标选择目标移动的终止位置

拖拽

参数(目标位置target,持续时间duration),这个方法不好用,通过测试发现只有垂直移动才好用。

    poco(text='微信').drag_to([0.5, 0.5], duration=2)poco(text='微信').drag_to(poco(text='企业微信'), duration=.5)

序列手势

比drag_to好用的多。方法:start_gesture手势开始,相当于按下的手势,hold为按下持续的时间,to为要移动到的目标位置,可以是对象元素也可以是坐标,up为执行完成松开的手势。

    poco('微信').start_gesture().hold(0.5).to(poco(text='小红书')).hold(5).to(poco(text='企业微信')).hold(.5).to([0.5, .75]).hold(1).up()  # 拖动微信图标移动poco('微信').start_gesture().hold(3).up()  # 模拟长按微信图标3秒

双指操作

参数:dead_zone缩放内半径,不能大于percent

poco(name='android.view.View').pinch(direction='in', percent=0.6, duration=2.0, dead_zone=0.1)

焦点操作

选择元素焦点操作位置:'center' or 'anchor'or point(x,y)

poco(text='微信').focus('center').click()  # focus局部定位
    # 可模拟滑动效果obj1 = poco(text='移动网络')obj2 = poco(text='显示和亮度')obj1.focus('center').drag_to(obj2.focus('center'))

输入

    poco(textMatches='.*?输入用户名.*?').set_text('1890010002')   # 输入poco(textMatches='.*?输入用户名.*?').set_text('')   # 清空内容
http://www.dinnco.com/news/32895.html

相关文章:

  • 专门做自由行的网站中国舆情观察网
  • 微信商城和微网站建设在线推广网站的方法
  • 明年做那个网站致富如何制作网页游戏
  • 做微商卖产品在哪个网站销量能好点网站seo优化是什么意思
  • 六盘水市网站建设58同城推广
  • 做特殊单页的网站长春做网站推广的公司
  • 网站开发目录结构产品软文范例
  • 遵义网站设计制作网站网站seo优化皆宣徐州百都网络不错
  • 阿里网站建设App开发友情链接官网
  • 如何改善网站专业技能培训机构
  • 门户网站主要特点和功能女教师遭网课入侵直播
  • 信誉好的盐城网站建设软文模板
  • 网站建设好不好优化设计答案六年级上册
  • 水果网站建设什么是竞价
  • 对方把我的网站他网站内页友情链接 站长工具检测到是无反链百度seo外包
  • 网站打不开 其它能打开网络营销网站推广
  • 宁波企业网站制作百度站长统计工具
  • 国内房地产设计网站建设seo推广培训
  • 大庆网站开发如何开发一个网站
  • 轻松做网站seo网络推广培训班
  • 做网站用的什么编程语言竞价开户
  • 酒店网站建设的重要性免费域名注册网站
  • 广州环保网站建设厦门谷歌seo
  • wordpress 隐藏赣州seo外包怎么收费
  • 做公司网站的目的是什么企业网站制作公司
  • 商会网站建设新闻头条今日要闻国内
  • 聚美优品的网站建设状况seo外链代发
  • 美食分享网站设计电商推广和网络推广的策略
  • 青龙县建设局网站搜索引擎优化不包括
  • 怎么做淘客网站网站编辑seo