appium+Python+Selenium+Unittest+HTMLTestRunner(十六)手势操作封装

gesture.py
# coding:utf-8
'''
Created on 2024-8-30
description:手势操作
@author: xxx
'''

class gesture(object):
    '''
      基础操作
    '''
    def  __init__(self, driver):

        self.driver = driver
        self.driver.implicitly_wait(10)
        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,highest, base=0.1):
        '''从右向左滑动'''

        return self.driver.swipe(self.width * (1 - base),
                                 self.height * highest,
                                 self.width * base,
                                 self.height * highest,
                                 self.duration
                                 )

    def swipe_to_right(self, highest,base=0.1):
        '''从左向右滑动'''
        return self.driver.swipe(self.width * base,
                                 self.height * highest,
                                 self.width * (1 - base),
                                 self.height * highest,
                                 self.duration
                                 )

    def swipe_to_top(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
                                 )

case调用

# coding:utf-8
"""
Created on 2024-8-30
description: 定义财务管理界面的测试用例
@author: xxx
"""
import unittest,time,os.path
from framework.BasePage import BasePage
from framework.gesture import gesture
from framework.Driver_Configure import Driver_Configure
from framework.ImageCompare import ImageCompare
from framework.retry  import Retry
from Page.FinancePage import FinancePage

@Retry(max_n=3)
class TestFinancePage(unittest.TestCase):

    # 初始化必要的设备信息与业务页面
    @classmethod
    def setUpClass(self):
        configure = Driver_Configure()
        print(u"系统启动")
        self.driver = configure.get_driver()
        self.base_page = BasePage(self.driver)
        self.gesture_page = gesture(self.driver)
        self.Finance_page = FinancePage(self.driver)




    # 测试用例1 --- 财务管理页面UI验证
    def test_finance_001(self):
        '''财务管理首页:文案对比'''
        # 左滑找到财务管理
        self.gesture_page.swipe_to_left(1/3)
        # 进入财务管理首页
        self.base_page.click(self.First_page.finance_button)
        time.sleep(2)
        # 获取图片地址
        screen_path = (os.path.abspath('.') + '/UI/screenshot/').replace('\\', '/')
        shot_path = (os.path.abspath('.') + '/UI/shot/').replace('\\', '/')

        self.IC = ImageCompare()
        # 获取当前界面的截图
        self.driver.save_screenshot(screen_path + 'finance_screenshot.png')

        # 加载截图和参考图片
        ele = self.IC.calc_similar_by_path(screen_path + 'finance_screenshot.png',
                                           shot_path + 'finance.png') * 100

        # 验证
        try:
            self.assertEquals(ele, 100)
        except BaseException as f:
            print('UI:财务管理页面和原型页面不一致')
            raise
        else:
            print('UI:财务管理页面和原型页面一致')



    @classmethod
    def tearDownClass(self):
        print(u"关闭进程")
        self.driver.quit()


if __name__ == "__main__":
    unittest.main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值