python版 app自动化测试之屏幕滑动函数封装

python 版 app自动化测试之屏幕滑动函数封装

https://blog.csdn.net/weixin_45912307/article/details/108891990
以下三种形式自行选择一种,或进行再次改造封装

封装形式1:

# —— coding :utf-8 ——
# @time:    2020/10/1 0:50
# @IDE:     xxxxxxx
# @Author:  xxxxxxx
# @Email:   xxxxxxx@qq.com
# @File:    base.py
import logging
from Common import dir_config
import time


class BasePage:
    """
    start_x:起始横坐标
    start_y:起始纵坐标
    end_x:结束时横坐标
    end_y:结束时纵坐标
    """
    def __init__(self, driver):
        self.driver = driver

    def get_window_size(self):
        logging.info("正在准备获取当前屏幕的大小")
        try:
            size = self.driver.get_window_size()
            width = size["width"]
            height = size["height"]
            logging.info("获取当前屏幕大小成功,宽:{}   高:{}".format(width, height))
            return width, height
        except:
            logging.exception("获取当前屏幕大小失败")
            raise

    def swipe_down(self, t=500, n=1, doc=""):
        logging.info("向下滑动屏幕操作...")
        try:
            size = self.get_window_size()
            start_x = size[0] * 0.5
            start_y = size[1] * 0.1
            end_x   = size[0] * 0.5
            end_y   = size[1] * 0.9
            for i in range(n):
                self.driver.swipe(start_x,start_y,end_x ,end_y,t)
                logging.info("屏幕第{}次向下滑动成功".format(i + 1))
        except:
            logging.exception("屏幕向下滑动失败")
            self.save_screenshot(doc)
            raise

    def swipe_up(self, t=500, n=1,doc=""):
        logging.info("向上滑动屏幕操作...")
        try:
            size = self.get_window_size()
            start_x = size[0] * 0.5
            start_y = size[1] * 0.9
            end_x   = size[0] * 0.5
            end_y   = size[1] * 0.1
            for i in range(n):
                self.driver.swipe(start_x, start_y, end_x, end_y, t)
                logging.info("屏幕第{}次向上滑动成功".format(i + 1))
        except:
            logging.exception("屏幕向上滑动失败")
            self.save_screenshot(doc)
            raise

    def swipe_right(self, t=500, n=1,doc=""):
        logging.info("向右滑动屏幕操作...")
        try:
            size = self.get_window_size()
            start_x = size[0] * 0.1
            start_y = size[1] * 0.5
            end_x   = size[0] * 0.9
            end_y   = size[1] * 0.5
            for i in range(n):
                self.driver.swipe(start_x, start_y, end_x, end_y, t)
                logging.info("屏幕第{}次向右滑动成功".format(i + 1))
        except:
            logging.exception("屏幕向右滑动失败")
            self.save_screenshot(doc)
            raise

    def swipe_left(self, t=500, n=1,doc=""):
        logging.info("向左滑动屏幕操作...")
        try:
            size = self.get_window_size()
            start_x = size[0] * 0.9
            start_y = size[1] * 0.5
            end_x   = size[0] * 0.1
            end_y   = size[1] * 0.5
            for i in range(n):
                self.driver.swipe(start_x, start_y, end_x, end_y, t)
                logging.info("屏幕第{}次向左滑动成功".format(i + 1))
        except:
            logging.exception("屏幕向左滑动失败")
            self.save_screenshot(doc)
            raise 

    # 保存截图
    def save_screenshot(self, doc):
        # 图片名称:模块名_页面名称_操作名称_年-月-日_时分秒.png
        # filePath = "截图路径" + "{0}".format(time.strftime("%Y-%m-%d_%H:%M:%S"))
        filePath = dir_config.Screenshots_dir + \
                   "\{0}_{1}.png".format(doc, time.strftime("%Y-%m-%d_%H:%M:%S", time.localtime()))
        try:
            self.driver.save_screenshot(filePath)
            logging.info("截取网页成功,文件路径为:{}".format(filePath))
        except:
            logging.exception("保存截图失败")
            raise 

封装形式2:

class BaseOpera:
    '''
    基础操作
    '''
    def __init__(self, driver):
        self.driver = driver
        # duration:滑动持续时间,单位毫秒,默认None(一般设置500-1000毫秒比较合适)
        self.duration = 1000
   
    @property
    def width(self):
        '''获取屏幕宽度'''
        return self.driver.get_window_size()['width']

    @property
    def height(self):
        '''获取屏幕高度'''
        return self.driver.get_window_size()['height']
	
	# 向左滑动
    def swipe_to_left(self, base=0.1):
        return self.driver.swipe(self.width*(1-base),
                                    self.height*0.5,
                                    self.width*base,
                                    self.height*0.5,
                                    self.duration
                                    )
	# 向右滑动
    def swipe_to_right(self, base=0.1):
        return self.driver.swipe(self.width*base,
                                    self.height*0.5,
                                    self.width*(1-base),
                                    self.height*0.5,
                                    self.duration
                                    )
	# 向上滑动
    def swipe_to_up(self, base=0.9):
        return self.driver.swipe(self.width*0.5,
                                    self.height*base,
                                    self.width*0.5,
                                    self.height*(1-base),
                                    self.duration
                                    )
	# 向下滑动
    def swipe_to_bottom(self, base=0.9):
        return self.driver.swipe(self.width*0.5,
                                    self.height*(1-base),
                                    self.width*0.5,
                                    self.height*base,
                                    self.duration
                                    )

封装形式3:

class BasePage:
    def __init__(self, driver):
        self.driver = driver
	
	    # 获取整个屏幕大小
    def get_size(self):
        return self.driver.get_window_size()
        
	# 向上滑动
    def swipe_up(self):
        size = self.driver.get_window_size()
        self.driver(size["width"] * 0.5, size["height"] * 0.9, size["width"] * 0.5, size["height"] * 0.1)
        
	# 向下滑动
    def swipe_down(self):
        size = self.driver.get_window_size()
        self.driver(size["width"] * 0.5, size["height"] * 0.1, size["width"] * 0.5, size["height"] * 0.9)
        
	# 向左滑动
    def swipe_left(self, size):
        size = self.driver.get_window_size()
        self.driver(size["width"] * 0.9, size["height"] * 0.5, size["width"] * 0.1, size["height"] * 0.5)

	# 向右滑动
    def swipe_right(self):
        size = self.driver.get_window_size()
        self.driver(size["width"] * 0.1, size["height"] * 0.5, size["width"] * 0.9, size["height"] * 0.5)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值