# coding=utf-8
from appium import webdriver
import time
def swipeUp(driver, t=500, n=1):
'''
封装swipe方法,开启指针获取当前元素的位置会更好
:param driver:
:param t:滑行时间,单位是ms
:param n:滑动次数
:return:
'''
mobile_size = driver.get_window_size()
x1 = mobile_size['width'] * 0.5 # x坐标
y1 = mobile_size['height'] * 0.75 # 起始y坐标
y2 = mobile_size['height'] * 0.25 # 终点y坐标
for i in range(n):
driver.swipe(x1, y1, x1, y2, t)
desired_caps = {
'platformName': 'Android',
'deviceName': 'cfd1c24b',
'platformVersion': '8.1',
# apk包名
'appPackage': 'com.taobao.taobao',
# apk的launcherActivity
'appActivity': 'com.taobao.tao.welcome.Welcome',
#unicodeKeyboard是使用unicode编码方式发送字符串
'unicodeKeyboard': True,
#resetKeyboard是将键盘隐藏起来
'resetKeyboard': True
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
print("finish")
# driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
# 休眠五秒等待页面加载完成
time.sleep(2)
try:
# 格式:driver.find_element_by_id("这里是resource-id")
# 格式:driver.find_element_by_name("这里是text")
# driver.find_element_by_class_name("class属性")
# accessibility_id定位就是通过UI Automator工具查看的content - desc属性
driver.find_element_by_id("com.taobao.taobao:id/home_searchedit").click()
driver.find_element_by_id("com.taobao.taobao:id/home_searchedit").send_keys(u'shuru') #不知道不加u行不行
contexts = driver.contexts #类似selenium 里面的handle,一些定位不到元素是因为套用了webview,需要进行切换
driver.switch_to.context(contexts[1]) #切换到第二个handle
now = driver.current_context #查看当前handle
#ps:需要查找webview里面的元素查看appium自动化入门-python上海-悠悠博客园104页,真用到的时候还可以看一下
#已放硬盘 appium目录下
#108页模拟器
# 获取屏幕的size
size = driver.get_window_size()
print(size)
# 屏幕宽度width
print(size['width'])
# 屏幕高度width
print(size['height'])
#模拟手指点击,这个方法是最终办法,需要计算分辨率,list里面是bonds属性,估计是坐标一类的
#后面的参数是点击时间,单位是ms
driver.tap([(374, 831), (654, 906)], 500)
driver.shake()#摇晃手机
#其他查看appium api https://blog.csdn.net/bear_w/article/details/50330565
except:
print("failed")
driver.quit()
一些常用的adb命令
adb devices
adb install app的路径 (安装app)
adb uninstall 包名
1.杀掉adb进程
adb kill-server 2.重启adb服务 adb start-server
3.重启手机 adb reboot
4.进shell模式
adb shell
5.挂载
adb remount
6.从电脑发文件到手机
adb push <本地路径> <远程路径>
7.从手机下载文件到本地
adb pull <远程路径> <本地路径>
8.输出日志
第一种:输出到手机存储卡
adb logcat > /sdcard/mylogcat.txt
第二种:输出到电脑上 adb logcat > D:/Temp/1.txt(1.txt必须在电脑上存在,才能写入logcat内容)
本地路径>远程路径>远程路径>本地路径>