python朋友圈自动点赞_基于AirTest+Python的ios自动化测试demo(微信朋友圈无限点赞)...
AirTest相比Appuim有个好处就是可以对GUI图片进行捕捉和最新版本支持WebView(目前Appuim不支持iOS12的WebView进行Xpath抓取)
AirTest环境搭建可参考以下链接:
https://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/1_quick_start.html
环境配置:
libimobiledevice: stable 1.2.0 (bottled), HEAD
Python 3.7
WebDriverAgent 用AirTest提供的[https://github.com/AirtestProject/IOS-Tagent ]
Xcode10.1
AirtestIDE
启动AirTest
运行WebDriverAgent【运行之前先用Xcode打开WebDriverAgent.xcodeproj,选择开发者账号来Build正常】
可以采用终端方式来运行:
xcodebuild build-for-testing test-without-building -project [WebDriverAgent.xcodeproj目录地址] -scheme WebDriverAgentRunner -destination id=[设备UDID] test
事先用$ brew install libimobiledevice 安装 libimobiledevice
每次在WDA启动后进行端口映射
$ iproxy 8100 8100
然后打开AirtestIDE对iOS设备进行连接
iOS连接.png
捕捉参数录制脚本
Airtest提供了两个插件库让我们方便进行自动化测试:
1:AirTest库,主要通过对GUI图片进行定位来操作实现自动化
2:POCO库,类似appuim,通过形成UI树Xpath,对多层次控件进行操作来实现自动化
因为我们自动化测试主要是针对多型号设备进行测试,每台设备的UI可能因为适配状况,会有不一样,会导致AirTest的成功率不稳定,所以,理论上优先使用POCO进行元素定位,其次才是AirTest进行定位
AirTest捕捉
AirTest初始化:
from airtest.core.api import *
手动捕捉
在AirtestIDE的Airtest录制辅助窗内,包含有三种类型的录制按钮:
操作类型
辅助类型
断言类型
touch
text
assert_exists
swipe
keyevent
assert_not_exists
wait
sleep
assert_equal
exist
assert_not_equal
snapshot
AirTestIDE.png
点击 touch/swipe/wait/exists/assert_exists/assert_not_exists 按钮后,在设备画面上按下鼠标左键进行截图框选,抬起鼠标左键完成框选。对应操作语句会自动插入编辑器脚本中。
点击操作:
点击.png
等待操作:
assert_exists(图片, "等待成功登陆出现")
自动捕捉
点击AirTest辅助窗右上角的录制按钮,然后在设备视窗进行操作,就能自动录制操作脚本,但因为这种方式错误性比较高,建议少用,主要是通过手动捕捉对应的图片再进行之后的操作
POCO捕捉
POCO初始化
from poco.drivers.ios import iosPoco
poco = iosPoco()
手动捕捉
POCO.png
点击POCO辅助窗右上方第一个按钮【POCO Pause】,对窗口进行冻结,然后在Log显示元素属性,并且通过点击右键【UI-Path Code】获取对应的UI-path,然后再进行操作,如:
poco("iconUser3").wait(3).click()
poco("iconLogin").click()
transBtn = poco("iconLogin")
poco.wait_for_all([transBtn])
transBtn.click()
#向上滑动一个屏幕的高度
screenWidth,screenHeigth = poco.get_screen_size()
swipe((screenWidth*0.5,screenHeigth*0.9),vector=[0,-0.5])
POCO辅助窗右上方第二个按钮【POCO Inspector】是在不冻结窗口的情况下进行捕捉
自动捕捉
POCO辅助窗右上方第三个按钮【POCO Auto Recording】是进行自动捕捉录制,任何操作都录制成脚本
微信朋友圈无限点赞
from airtest.core.api import *
from poco.drivers.ios import iosPoco
poco = iosPoco()
auto_setup(__file__)
assert_exists(Template(file:///Users/cengsijian/Desktop/AirTest/AirTestWeixinTest.air/tpl1545103410488.png, record_pos=(0.119, -0.708), resolution=(750, 1334)), "进入微信测试")
poco("微信").click()
assert_exists(Template(file:///Users/cengsijian/Desktop/AirTest/AirTestWeixinTest.air/tpl1545103527211.png, record_pos=(0.125, 0.815), resolution=(750, 1334)), "请填写测试点")
poco("发现").click()
poco("朋友圈").click()
screenWidth,screenHeigth = poco.get_screen_size()
while True:
#查找评论按钮
tableList = poco("Table").child('Cell').offspring('评论')
#点击评论按钮
for child in tableList:
childX,childY = child.get_position()
print(childX)
print(childY)
if (childY>=0.1 and childY<1.0):
child.click()
if poco("赞").exists():
touch(Template(file:///Users/cengsijian/Desktop/AirTest/AirTestWeixinTest.air/tpl1545118102228.png, record_pos=(0.057, 0.385), resolution=(750, 1334)))
# poco("赞").click()
#向上滑动一个屏幕的高度
swipe((screenWidth*0.5,screenHeigth*0.9),vector=[0,-0.8],duration=2.5)
#等滚动动画结束
sleep(5)
代码.png
演示.gif
python朋友圈自动点赞_基于AirTest+Python的ios自动化测试demo(微信朋友圈无限点赞)...相关推荐
- python自动点赞微信_基于AirTest+Python的ios自动化测试demo(微信朋友圈无限点赞)
AirTest相比Appuim有个好处就是可以对GUI图片进行捕捉和最新版本支持WebView(目前Appuim不支持iOS12的WebView进行Xpath抓取) AirTest环境搭建可参考以下链 ...
- python 自动抢红包_基于Airtest实现python自动抢红包
一.Airtest的介绍 1)Airtest的简介 Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具. Airtest的框架是网易团队自己开发的一个图像识别框架,这 ...
- python b站自动评论_用语音识别+python自动发送弹幕,变成B站野生字幕君吧!
在B站观看视频的时候,有时候一些带有旁白但没有字幕的视频,会有野生字幕君出现,贴心的为视频加上字幕,大大提高了视频观感.不过手工加字幕是一件很麻烦的事,需要人工卡时间和听译打字.当一个懒人程序媛想当一 ...
- python实现选择题自动答题_答题辅助python代码实现
本文实例为大家分享了答题辅助python具体代码,供大家参考,具体内容如下 from screenshot import pull_screenshot import time, urllib.req ...
- python数字精度自动变化_如何在python中将一个数字转换成12位精度?
正如其他答案中提到的,这并不存在 在纯python数据类型中,see the docs 但是,您可以使用numpy来指定显式的data types,例如numpy.float16 numpy.floa ...
- python无法打开h5权限_解析PyCharm Python运行权限问题
先通过 which python 获得 python 指令所在路径: $ which python /usr/bin/python 如上得到了其所在路径是 /usr/bin/python,因此我创建了 ...
- python应用如何实现升级_基于esky实现python应用的自动升级详解
基于 esky 实现 python 应用的自动升级 一. esky 介绍 Esky is an auto-update framework for frozen Python applications ...
- python爬虫24 | 搞事情了,用 Appium 爬取你的微信朋友圈。
昨天小帅b看到一些事情不顺眼 有人偷换概念 忍不住就写了一篇反讽 996 的 看不下去了,我支持996,年轻人就该996! 没想到有些人看不懂 这就算了 还来骂我 早些时候关注我的小伙伴应该知道我第一 ...
- python 合并excel 自动更新_手把手教你4种方法用Python批量实现多Excel多Sheet合并
一.前言 大家好,我是崔艳飞.前两天给大家分享了Python自动化文章:手把手教你利用Python轻松拆分Excel为多个CSV文件,而后在Python进阶交流群里边有读者遇到一个问题,他有很多个Ex ...
最新文章
- windows10 安装 mysql8.0.12 详解
- Javascript日期时间总结
- 计算机辅助教学 林筑英,视频教学制作技巧.doc
- 具体knn算法概念参考knn代码python实现
- Java web之web.xml配置详解
- linux简单几个小命令
- 互联网各岗位的生存指南
- OpenSea联合创始人Devin Finzer:NFT空间在未来几年会产生更多应用 | FBEC 2020
- c字符串分割成数组_数组与字符串
- java详细设计模式有代码
- JAVA版村庄哨塔种子_开局5钻石!你的java版种子到了,请查收
- Linux下VirtualBox出现kernel driver not installed的解决方法
- OBS-RTMP推流
- 涉密计算机检查情况 月检查表,关于2017年下半年保密检查的通知
- 数学建模论文常用LaTeX代码(2021美赛)
- 二维数组冒泡排序 java
- 【数字图像处理】-图像位数
- 小红书API根据关键词取商品列表,Onebound数据
- life's a struggle - 宋岳庭
- android手机电池寿命,安卓手机如何查电池使用寿命
热门文章
- nfs:server is not responding,still trying 原因与解决方案
- 三 s5p4418对mcp2515 can总线的支持
- python pip国内源
- 天津理工大学 计算机网络综合实验,天津理工大学计算机网络 实验二
- mysql command line client 目标不对_简单几招提高MySQL安全性
- window10下搭建汇编环境(软件+资料)
- 燃!Java全球标准中国人参与制定,阿里成首个受邀中国公司
- FPS武器设计:丹威森500型左轮手枪的制作流程
- 娱美德投入千万研发 揭秘韩国第一游戏引擎
- 解决gc current request等待事件