Appium

樊熙羋發表於2019-01-21

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次

相關文章