uiautomator2+python3,获取提示toast内容(提示);循环滑动点赞;下拉刷新

一、获取toast内容

1.确定触发条件(我的触发条件为发布了三篇文章不能再次发布,提示已经发布了三篇文章)

页面编辑为weditor,配合uiautomator2和python使用爽的一笔

2.编写点击事件

#coding=utf8
import uiautomator2 as u2
d.click_post_delay = 1.5#定义全局等待时间为1.5s
logging.basicConfig(level = logging.INFO,format = '%(asctime)s - %(name)s - %(funcName)s - %(message)s')
logger = logging.getLogger(__name__)

d = u2.connect('MQS7N19423008360')#连接手机devices序列号
d(resourceId="com.thinksns.sociax.android.nic:id/iv_add_news").click()#点击发布按钮
message = d.toast.get_message()#获取提示内容
logger.info (message)#打印提示内容

3.再通过和预期提示内容作比对或者直接通过if或者else做判断,就ok了

二、循环滑动加了一个判断是否点赞超过了20次,超过20次后提示已经点赞了20次

def praise():
    for i in range(1,20):
        d.xpath('地址').wait(2) # 等待元素,最长等10s(默认)
        d.xpath('地址').click()#这里点击没有修改地址中的内容,如果滑动后path地址变了,需要使用变量带入
        message_a=d.toast.get_message()
        if message_a:
            logger.info(message_a)
            break
        else:
            i+=1
            d.swipe(886,1312,886,1070)
praise()

结果

三、滑动

1、从一个坐标滑动到另一个坐标

d.swipe(886,1312,886,1070)
d.swipe(sx, sy, ex, ey, steps=10)#步长10

2、向上刷新滑动

d(scrollable=True).scroll.vert.backward()#向上滑动刷新

3、拖拽

d.drag(sx, sy, ex, ey)

4.全屏滑动

先获取当前屏幕的大小,输出的是(1920,1080) 其中a(0)=1920,a(1)=1080

然后通过y轴的改变,上下滑动,如果向上滑动,则y_b的值比y_a的值大,反之

# 获取屏幕的size
a=(d.window_size())#获取页面的高度宽度
x=a[0]#获取出来是一个数组,取第一个为x
y=a[1]#取第二个为y
x_a=a[0]*0.5
y_a=a[1]*0.7
y_b=a[1]*0.2

d.swipe(x_a,y_a,x_a,y_b)

 

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值