Appium

Appium启动apk

desired_caps = {}

#使用平台

desired_caps['platformName'] = 'Android'

#平台版本号

desired_caps['platformVersion'] = '5.1'

#使用 adb devices

desired_caps['deviceName'] = '192.168.88.101:5555'

#将aapt配置到环境变量,cmd:aapt dump badging ‘apk包名’#过滤 |findstr “package”

desired_caps['appPackage'] = 'com.youdao.note'

#将aapt配置到环境变量,cmd:aapt dump badging ‘apk包名’#过滤 |findstr “activity'”

例如”aapt dump badging  youdaonote_android_6.2.3_youdaoweb.apk |findstr activity”

desired_caps['appActivity'] = 'com.youdao.note.activity2.SplashActivity'

#为了可以输入中文

desired_caps['unicodeKeyboard'] = True

desired_caps['resetKeyboard'] = True

 

self.driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)

 

 

 

appium模拟手机长按

from appium.webdriver.common.touch_action import TouchAction

#定位元素并实例化

ele_first_note=(By.XPATH, "//android.widget.ListView[@resource-id='android:id/list']/android.widget.RelativeLayout[1]" )

#定位需要长按的元素

ele_first_note = self.wait_element(*ele_first_note)

#点击元素进行长按

TouchAction(self.driver).long_press(ele_first_note).perform()

 

Appium模拟手机上下滑动

# 屏幕向上滑动

#获得机器屏幕大小x,y

def getSize():

    x = dr.get_window_size()['width']

    y = dr.get_window_size()['height']

    return (x, y)

 

def swipeUp(self,t,num = 1): # t为滑动时间 num为滑动次数

    i = 0

while i<=num:

     # 通过getSize()获取屏幕的分辨率x,y

        l = self.getSize()

              # 现在l=[x,y]也就是宽和高

        x1 = int(l[0] * 0.5)   #就是宽的一半

        y1 = int(l[1] * 0.75) #就是高,屏幕下面三分之一处

        y2 = int(l[1] * 0.5) #就是高,屏幕高的中间

        self.driver.swipe(x1, y1, x1, y2,t)#假设x,y=800,1000

x1=400,y1=750滑动到x1=400,y2=500

        i+=1

#上下滑动控制Y,左右滑动控制X,num默认参数为1次

posted @ 2019-01-21 18:32  樊熙芈  阅读(224)  评论(0编辑  收藏  举报