版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
一、测试环境
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')
四、运行结果