Appium python+appium 自动化测试 - 上下左右滑动操作

Tin · 2021年02月01日 · 2944 次阅读

手机屏幕坐标显示如下:手机左上角为 (0,0),横向是 x 轴,纵向是 y 轴

swipe() 函数介绍:swipe(x1, y1, x2, y2 , t):(x1, y1) 为滑动起始点的坐标,(x2, y2) 为滑动终点坐标,t 为滑动时间,单位为 ms

获取手机的屏幕大小,由于每部手机的屏幕分辨率不一样,所以同一个元素在不同手机上的坐标也是不一样的,滑动的坐标不能写死,可以同通过屏幕宽和高的比例计算

1.上滑:主要操作为图中 B→A,x 轴坐标不变,主要为 y 轴坐标由大变小,由屏幕纵向长度的 75% 变为 25%

2.下滑:主要操作为图中 A→B,x 轴坐标不变,主要为 y 轴坐标由小变大,由屏幕纵向长度的 25% 变为 75%

3.左滑:主要操作为图中 D→C,y 轴坐标不变,主要为 x 轴左边由大变小,由屏幕横向长度的 75% 变为 25%

4.右滑:主要操作为图中 C→D,y 轴坐标不变,主要为 x 轴左边由小变大,由屏幕横向长度的 25% 变为 75%

滑动操作具体脚本如下:

# 滑动操作
from appium import webdriver

class Slide:
    driver: webdriver = None

    # 获取屏幕大小
    def get_screen_size(self):
        return self.driver.get_window_size(self)

    # 上滑
    def swipe_up(self, t):
        screen_size = self.get_screen_size()
        x1 = screen_size['width'] * 0.5
        y1 = screen_size['height'] * 0.75
        y2 = screen_size['height'] * 0.25
        self.driver.swipe(x1, y1, x1, y2, t)

    # 下滑
    def swipe_down(self, t):
        screen_size = self.get_screen_size()
        x1 = screen_size['width'] * 0.5
        y1 = screen_size['height'] * 0.25
        y2 = screen_size['height'] * 0.75
        self.driver.swipe(x1, y1, x1, y2, t)

    # 左滑
    def swipe_left(self, t):
        screen_size = self.get_screen_size()
        x1 = screen_size['width'] * 0.75
        y1 = screen_size['height'] * 0.5
        x2 = screen_size['width'] * 0.25
        self.driver.swipe(x1, y1, x2, y1, t)

    # 右滑
    def swipe_right(self, t):
        screen_size = self.get_screen_size()
        x1 = screen_size['width'] * 0.25
        y1 = screen_size['height'] * 0.5
        x2 = screen_size['width'] * 0.75
        self.driver.swipe(x1, y1, x2, y1, t)

以上内容有错误的地方,大家多多指正,谢谢!

共收到 0 条回复 时间 点赞
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册