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次