找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
appium是用来元素定位
appium使用安装
1、安装appium(默认安装c盘),安装过程较长
2、jdk(之前已安装)
3、安装sdk并配置环境变量
   3.1.勾选android sdk toole
   3.2.勾选android sdk biuld-tools
   3.3.勾选android platform-tools
4、配置android环境变量—系统变量
   4.1.新建变量android_home 值:sdk安装路径
   4.2.找到path变量
        4.2.1配置sdk安装路径下tools目录的路径
        4.2.2配置sdk安装路径下biuld-tools\19.1.0目录的路径
        4.2.3配置sdk安装路径下platform-tools目录的路径
5、安装python
   在pychrm中安装appium-python-client——0.51(指定版本下载)
6、安装夜神模拟器
7、连接测试机
   7.1.进入设置—关于本机—连续点击版本号—开启开发者模块
   7.2.进入开发者模式—打开“usb调式“
         在dos命令下输入adb devices 验证连接
   7.3.夜神连接 ip和端口号: adb connect 127.0.0.1:62001
         逍遥模拟器: adb connect 127.0.0.1:21503
如果连接模拟器出现报错:将夜神模拟器安装包下bin目录中nox_adb.exe文件复制到sdk安装目录下platform-tools目录中重命名为adb.exe,替换掉现有的adb.exe文件,重新连接模拟器

app自动化
app端的ui自动化
先进到包的路径输入命令aapt d badging baiduyuedu_3760.apk


adb常用命令(dos)
adb devices——查看设备连接
adb connect 127.0.0.1:62001——链接夜神模拟器
adb version——查看当前adb版本
adb start-server——启动adb服务
adb kill-server——关闭adb服务
adb install apk包路径——安装apk应用包
adb uninstall 上面查出来的包名称——卸载
adb shell pm list package -3——显示所有第三方app包名
adb shell pm list packages——显示所有应用包名
adb reboot——重启模拟器
adb shell wm size——获取设备分辨率
adb logcat——查看所有进程运行日志
adb logcat|find"com.baidu.yuedu"(查出来的包名称)——查看指定APP百度阅读的日志


元素定位
id对应控件属性列表中的resource-id
截图.png

定位
from appium import webdriver
import time
from yao.apphuadong import *
#连接appium的数据赋予一个变量接受
desired_caps={
  "platformName": "Android",
  "deviceName": "127.0.0.1:62001",
  "platformVersion": "7.1.2",
  "appPackage": "com.baidu.yuedu",
  "appActivity": "com.baidu.yuedu.splash.SplashActivity",
  "unicodeKeyboard": "True",
  "resetKeyboard": "True",
  "noReset": "True"
}
driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps) #通过地址跟谁通讯
driver.implicitly_wait(40) #隐式等待40秒
driver.find_element_by_id('com.baidu.yuedu:id/rl_useraccount_contrainer').click() #通过id定位点击‘我的’
driver.implicitly_wait(40)
time.sleep(10)
driver.find_element_by_id('com.baidu.yuedu:id/ll_book_container').click() #通过id定位点击‘书架’
driver.implicitly_wait(40)
time.sleep(10)
driver.find_element_by_id('com.baidu.yuedu:id/ll_book_store_container').click() #通过id定位点击‘精选’
driver.implicitly_wait(40)
time.sleep(10)
driver.tap([(90,41),(171,116)],500) #通过坐标定位点击‘男生’ 坐标定位不用.click点击,多少时间内完成这个动作500是毫秒
driver.implicitly_wait(40)
time.sleep(10)
driver.tap([(333,41),(404,116)],500) #通过坐标定位点击‘VIP’
driver.implicitly_wait(40)
time.sleep(10)
driver.tap([(35,459),(184,658)],500) #通过坐标定位点击‘明朝那些事儿全集’
driver.implicitly_wait(40)
time.sleep(10)
driver.back() #返回
time.sleep(10)
driver.quit() #退出

滑动
设置—开发者选项—打开指针位置
# size=driver.get_window_size() #获取屏幕大小
# print(size) #{'width':900,'heighe':1600}
driver.swipe(360,1200,360,100,500) #页面下滑 (开始x坐标,开始y坐标,结束x坐标,结束y坐标,持续时间)
driver.swipe(360,933,360,1200,500) #页面上滑
driver.swipe(0,0,600,0,500) #页面左滑
driver.swipe(600,0,0,0,500) #页面右滑
driver.quit() #退出
# size=driver.get_window_size() #获取屏幕大小# print(size) #{'width':900,'heighe':1600}driver.swipe(360,1200,360,100,500) #页面下滑 (开始x坐标,开始y坐标,结束x坐标,结束y坐标,持续时间)driver.swipe(360,933,360,1200,500) #页面上滑driver.swipe(0,0,600,0,500) #页面左滑driver.swipe(600,0,0,0,500) #页面右滑driver.quit() #退出

滑动封装
import time
#页面下滑
def downswipe(driver,t): #定义函数
    size1=driver.get_window_size() #获取屏幕大小 {'width': 720, 'height': 1280}键值对
    x=size1['width']/2
    y1=size1['height']*0.8
    y2=size1['height']*0.2
    for i in range(t): #循环滑动 遍历函数t
        driver.swipe(x,y1,x,y2,500)
        time.sleep(10)
#页面上滑
def upswipe(driver,t): #定义函数
    size1=driver.get_window_size() #获取屏幕大小 {'width':900,'heighe':1600}键值对
    x=size1['width']/2
    y1=size1['height']*0.2
    y2=size1['height']*0.8
    for i in range(t): #循环滑动 遍历函数t
        driver.swipe(x,y1,x,y2,500)
        time.sleep(10)

#页面左滑
def leftswipe(driver,t): #定义函数
    size1=driver.get_window_size()  #获取屏幕大小 {'width':900,'heighe':1600}键值对
    x1=size1['width']*0.2
    x2=size1['width']*0.8
    y=size1['height']/2
    for i in range(t):  #循环滑动 遍历函数t
        driver.swipe(x1,y,x2,y,500)
        time.sleep(10)
#页面右滑
def rightswipe(driver,t):  # 定义函数
    size1=driver.get_window_size()  #获取屏幕大小 {'width':900,'heighe':1600}键值对
    x1=size1['width']*0.8
    x2=size1['width']*0.2
    y=size1['height']/2
    for i in range(t):  #循环滑动 遍历函数t
        driver.swipe(x1,y,x2,y,500)
        time.sleep(10)

调用滑动封装
from yao.apphuadong import * #导入封装的滑动函数
downswipe(driver,2) #下滑2次
upswipe(driver,2) #上滑2次
leftswipe(driver,3) #左滑3次
rightswipe(driver,3) #右滑3次













分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册