appium自动化框架(2)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/dengachao/article/details/101673347

一、测试环境

Win 10
java version "1.8.0_181"
Appium v1.14.1(不能低于1.6.3)
selenium:3.141.0
测试设备:Android 5.1.1
Python:3.6
测试App:考研帮Android app V3.1.0

工程目录:

二、测试场景
1 启动APP

2 封装公共类

三、参考代码

BaseView.py

class BaseView(object):
    def __init__(self,driver):
        self.driver = driver

    def find_element(self,*loc):
        return self.driver.find_element(*loc)

    def find_elements(self,*loc):
        return self.driver.find_elements(*loc)

    def get_window_size(self):
        return self.driver.get_window_size()

    def swipe(self, start_x, start_y, end_x, end_y, duration):
        return self.driver.swipe(start_x, start_y, end_x, end_y, duration)

common_fun.py

from baseView.BaseView import BaseView
from common.desired_caps import appium_desired
from selenium.common.exceptions import NoSuchElementException
import logging
from selenium.webdriver.common.by import By
import time,os

class Common(BaseView):
    cancelBtn = (By.ID,'android:id/button2')
    skipBtn = (By.ID,'com.tal.kaoyan:id/tv_skip')

    def check_cancelBtoon(self):
        logging.info('===========开始检查取消按钮check_cancelBtoon===================')
        try:
            cancelBtn = self.driver.find_element(*self.cancelBtn)
        except NoSuchElementException:
            logging.info('no CancelBtn没有取消按钮')
        else:
            cancelBtn.click()

    def check_skipBtn(self):
        logging.info("===============开始检查跳过按钮check_skipBtn==============")
        try:
            skipBtn = self.driver.find_element(*self.skipBtn)
        except NoSuchElementException:
            logging.info('no skipBtn')
        else:
            skipBtn.click()
#     def get_size(self):
#         x = self.get_window_size()['width']
#         print(x)
#         y = self.get_window_size()['height']
#         print(y)
#         return (x,y)
# #显示屏幕尺寸:width,height
#     def swipeLeft(self):
#         logging.info('swipeLeft向左滑动')
#         l = self.get_size()
#         x1 = int(l[0] * 0.95)
#         print(l[0])
#         y1 = int(l[1] * 0.5)
#         x2 = int(l[0] * 0.25)
#         self.swipe(x1,y1,x2,y1,1000)
    def get_size(self):
        x = self.driver.get_window_size()['width']
        y = self.driver.get_window_size()['height']
        return x, y

    def swipeLeft(self):
        logging.info('swipeLeft')
        l = self.get_size()
        x1 = int(l[0] * 0.9)
        y1 = int(l[1] * 0.5)
        x2 = int(l[0] * 0.1)
        self.swipe(x1, y1, x2, y1, 1000)

    def getTime(self):
        self.now = time.strftime("%Y-%m-%d %H_%M_%S")
        return  self.now

    def getScreenShot(self,module):
        time = self.getTime()
        image_file = os.path.dirname(os.path.dirname(__file__))+'/screenshots/%s_%s.png' %(module,time)

        logging.info('get %s screenshot' %module)
        self.driver.get_screenshot_as_file(image_file)
if __name__ == '__main__':
    driver = appium_desired()
    com = Common(driver)
    com.check_cancelBtoon()
    # com.check_skipBtn()
    com.swipeLeft()
    com.getScreenShot('start APP')

四、运行结果

猜你喜欢

转载自blog.csdn.net/dengachao/article/details/101673347