android 使用shell模拟触屏_Appium常用操作之微信滑屏、触屏操作

本文介绍了如何使用Appium在Android设备上进行滑屏和模拟触屏操作,包括滑屏操作的时机、连续滑屏的实现以及TouchAction类的应用。强调了坐标和元素的选择,并提供了相关代码示例,同时也提醒注意版本差异对操作的影响。
摘要由CSDN通过智能技术生成

坚持原创输出,点击蓝字关注我吧

d2db1e38b42cf680f5dfa5ccbfc0f794.png

作者:清菡
博客:oschina、云+社区、知乎等各大平台都有。

目录

  • 一、滑屏操作
    • 1.访问之后,马上就滑屏可以吗?
    • 2.连续实现 2 次滑屏
    • 3.代码
  • 二、模拟触屏
    • 1.短按和点击的区别?
    • 2.用坐标还是元素?
    • 3.引入 TouchAction
    • 4.每个行为函数都有 3 个参数
    • 5.首先确定每一个点的位置
    • 6.代码
  • 三、注意

一、滑屏操作

不需要看到欢迎页面,直接做里面的后续操作就好了。也就是我想记住一些用户的习惯,不要像第一次访问一样,有一个重置与否,给它关闭了。

# 重置与否
desired_caps["noReset"]=True

1.访问之后,马上就滑屏可以吗?

不可以。先等待首页有个元素出现,再去滑屏。滑屏操作需要时间,模拟器或者真机执行操作更需要时间。如果直接滑动 2 次,第一次滑动效果还没展示出来就直接滑动第二次了,就会看到看不懂的现象。所以这种情况下就要加上time

2.连续实现 2 次滑屏

#从右向左滑
driver.swipe(start_x,start_y,end_x,end_y,200)
time.sleep(1)
driver.swipe(start_x,start_y,end_x,end_y,200)

3.代码

# 微信app 安卓
from appium import webdriver
import time
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from appium.webdriver.common.mobileby import MobileBy

desired_caps={}
# 平台类型
desired_caps["platformName"]="Android"
# 平台版本号
desired_caps["platformVersion"]="7.0"
# 设备名称
desired_caps["deviceName"]="XPUDU17713003790"
# app 包名
desired_caps["appPackage"]="com.tencent.mm"
# app 入口 acitivity
desired_caps["appActivity"]="com.tencent.mm.ui.LauncherUI"
# 重置与否
desired_caps["noReset"]=True

# aapt dump badging 包名
# 连接Appium server。前提:appium desktop要启动。有监听端口。
# 将desired_caps发送给appium server。打开app
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)

# ANDROID_UIAUTOMATOR 这个是一种定位表达式,用其它的表达式也是可以的。
loc=(MobileBy.ANDROID_UIAUTOMATOR,'new UiSelector().text("通讯录")')
WebDriverWait(driver,30).until(EC.visibility_of_element_located(loc))

#height、width
size= driver.get_window_size()
start_x=size['width']*0.9
start_y=size['height']*0.5

end_x=
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值