appium操作層方法封裝

 

# user/python
# encoding:utf-8

from appium import webdriver
from time import sleep
from appium.webdriver.common.touch_action import TouchAction



# 打開微信
def open_WeCat(self):
    desired_caps = {}
    desired_caps['platformName'] = 'Android'
    desired_caps['platformVersion'] = '5.1.1'
    desired_caps['deviceName'] = '127.0.0.1:62001'
    desired_caps['appPackage'] = 'com.tencent.mm'
    desired_caps['appActivity'] = 'com.tencent.mm.ui.LauncherUI'
    desired_caps['automationName'] = 'Appium'
    desired_caps['unicodeKeyboard'] = True
    desired_caps['resetKeyboard'] = True
    desired_caps['noReset'] = True
    self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    self.driver.implicitly_wait(15)
    sleep(20)
    return self.driver

# 後退
def back(self):
    self.driver.keyevent(4)
# 退出
def over(self):
    element = self.driver.quit()
    return element
# 截圖
def get_screen(self, path):
    self.driver.get_screenshot_as_file(path)

# 獲取界面大小
def get_size(self):
    size = self.driver.get_window_size()
    return size

# 向上滑動屏幕
def swipe_to_up(self):
    window_size = self.driver.get_window_size()
    width = window_size.get("width")
    height = window_size.get("height")
    self.driver.swipe(width / 2, height * 3 / 4, width / 2, height / 4, 500)

# 向下滑動屏幕
def swipe_to_down(self):
    window_size = self.driver.get_window_size()
    width = window_size.get("width")
    height = window_size.get("height")
    self.driver.swipe(width / 2, height / 4, width / 2, height * 3 / 4, 500)

# 向左滑動屏幕
def swipe_to_left(self):
    window_size = self.driver.get_window_size()
    width = window_size.get("width")
    height = window_size.get("height")
    self.driver.swipe(width / 4, height / 2, width * 3 / 4, height / 2, 500)

# 向右滑動屏幕
def swipe_to_right(self):
    window_size = self.driver.get_window_size()
    width = window_size.get("width")
    height = window_size.get("height")
    self.driver.swipe(width * 4 / 5, height / 2, width / 5, height / 2, 500)

# 長按元素
def long_press(self,type,loc):
    if type == 'id':
        element = self.driver.find_element_by_id(loc)
        TouchAction(self.driver).long_press(element).perform()
    elif type == 'xpath':
        element = self.driver.find_element_by_xpath(loc)
        TouchAction(self.driver).long_press(element).perform()
    elif type == 'class_name':
        element = self.driver.find_element_by_class_name(loc)
        TouchAction(self.driver).long_press(element).perform()
    elif type == 'text':
        element = self.driver.file_detector_context(loc)
        TouchAction(self.driver).long_press(element).perform()

# 點擊座標
def touch_tap(self, x, y, duration=50):
    width = self.driver.get_window_size()['width']
    height = self.driver.get_window_size()['height']
    a = (float(x) / width) * width
    x1 = int(a)
    b = (float(y) / height) * height
    y1 = int(b)
    self.driver.tap([(x1,y1), (x1,y1)],duration)













 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章