ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2021-11-17 10:00:56  阅读:208  来源: 互联网

标签:appium python screen swipe y1 x1 上下左右 self size


手机屏幕坐标显示如下:手机左上角为(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)

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

标签:appium,python,screen,swipe,y1,x1,上下左右,self,size
来源: https://www.cnblogs.com/TinHuang/p/15565826.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有