Airtest-Poco项目实战(*头条自动看文章视频)

Airtest-Poco项目实战(*头条自动看文章视频)

原创:George555       公众号:测试江湖路  

如果这些内容对你有帮助,也可以打开微信扫一扫,加关注:

 

                                               Airtest-Poco项目实战

                                                      -某头条app自动看文章、看视频刷金币

        最近有朋友想让帮忙写个*头条的自动阅读文章、看视频刷金币的功能,正好想起来最近一直在用的airtest-poco,完全可以满足,就玩了几天*头条app,找了下规律,就开开心心的撸起了代码,中间过程一言难尽,问题还是比较多的,毕竟是个大平台吗,防刷机制还是有的。

        今天就整理代码和方法出来。(正好再过2天国庆节了,提前祝大家节日快乐,此文就当福利送给大家了 O(∩_∩)O哈哈~)

一、环境

    python3.6.5

    Airtest1.0.27

    Poco1.0.77

    设备:华为p10

    安装方式此处略,可以查看此公众号中其他相关文章

二、实现方式:

    1.进入App首页-点击推荐,进行页面刷新

    2.查看第一条内容做判断,

        A.如果是视频类型点击进入详情,在详情页随机上滑评论区,滑动N次后返回到上页,再次刷新推荐栏目数据

        B.如果是图文类型点击进入详情,在详情页根据图片个数进行左滑,随机等待一定时间,滑动结束后返回到上页,再次刷新推荐栏目数据

        C.重复A.B即可实现开始说的刷内容攒积分的需求了

三、代码

1.先看虾执行前的初始化方法:

def initApp():    global packageName,uri    connect_device(uri)    poco = AndroidUiautomationPoco(device=device())    start_app(packageName)    sleep(10)    poco.wait_for_any(poco(text='推荐'), timeout=10)    poco(text='推荐').click(sleep_interval=3)      return poco

2.初始化好后,拿到了poco对象,接下来就是去针对性执行图文帖 pictext(poco)还是视频帖video(poco)了。

def main():    poco=initApp()        global executTimes    print("本程序将执行  {} 次 ".format(executTimes))    while executTimes:         print ("开始第  {} 次 执行任务".format(executTimes))         try:             if executTimes>0:                if poco('com.jifen.qukan:id/aip').exists():                    video(poco)                elif poco('com.jifen.qukan:id/ais').exists():                    pictext(poco)                else:                    print("不是图文,也不是视频,返回刷新")                    refresh(poco)                executTimes-=1        except Exception as e:            print("出现了错误:{},准备重启后开始下一轮执行".format(e))            stop_app(packageName)            sleep(60)            initApp()            continue    print('全部执行结束,准备关闭APP...')    stop_app(packageName)if __name__=="__main__":    main()

3.图文帖的执行方法:

def pictext(poco):    '''图文类型处理'''    picNum=poco("com.jifen.qukan:id/ais").get_text()    picNum=int(picNum.strip('图'))#     print("图片个数为:{}".format(picNum))    poco('com.jifen.qukan:id/aio').click(sleep_interval=3)#查看图文详情    for i in range(0,picNum):        print("进入图文详情,开始看第 {} 个图文".format(str(i+1)))        sleep(random.randint(1,5))        poco.swipe([0.9,0.5],[0.1,0.5])    poco('android.widget.ImageView').click(sleep_interval=3)#关闭返回首页    refresh(poco)

4.视频帖的执行方法:

def video(poco):   #    '''视频类型处理'''    videoTime=''    if poco("com.jifen.qukan:id/aiq").exists():        videoTime=poco("com.jifen.qukan:id/aiq").get_text()    poco('com.jifen.qukan:id/aip').click(sleep_interval=3)  #播放视频    for i in range(0,swipeNums(timeHandle(videoTime))):          print("进入视频详情,开始滑动第 {}次".format(str(i+1)))        sleep(random.randint(1,5))        poco.swipe([0.5,0.7],[0.5,0.5])                poco('com.jifen.qukan:id/rx').click(sleep_interval=3)   #返回    refresh(poco)

        从上面的实战例子可看出,之前写的几篇文章中poco、airtest中的各种方法都包含在内。

        执行下main方法看看执行结果吧: (同时也可以看看你的手机设备是怎么变化的)

 

 

      写在最后:本篇只作为对之前几篇关于Airtest+Poco的实战演练使用。为防止官方屏蔽,部分代码没有提供。

      相关文档查询可以进公众号看这里:

 

▼往期精彩回顾▼

2.airtest.core.api(翻译整理版)

3.Mac下AirtestIDE之IOS自动化测试环境搭建

4.Airtest-Poco的元素操作

5.Airtest操作windows应用

6.python中虚拟环境搭建

7.Airtest-Poco元素定位剖析

 

 

#####欢迎大家加群交流####

QQ:464314378

微信群请先加群主微信,群主会拉各位小伙伴进群,注意添加备注。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值