1. 下载Appium与node.js、android-sdk

  2. 配置他们的环境变量
    node环境变量

    appium环境变量

    sdk环境变量

  3. 安装appnium的服务端 同时进行对环境变量的设置
    安装appniumd的客户端 pycharm中进行setting中进行
    安装node.js 并进行环境变量的设置
    找到自己的sdk中的tools文件下的 uiautomator

  4. 连接监控器

  5. 连接配置设备编号

  6. 启动appium

  7. 在python的第三方库下载Appium-Python-Client

  8. 在python中调用

from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction
from time import sleep# 设置手机参数
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1'
desired_caps['deviceName'] = '192.168.43.166:5554'
desired_caps['appPackage'] = 'com.android.settings'
desired_caps['appActivity'] = '.Settings'
desired_caps['unicodeKeyboard'] = True
desired_caps['resetKeyboard'] = True""":arg
手机参数对应指标desired_caps常用参数:platformName         平台的名称:iOS, Android, or FirefoxOSplatformVersion      设备系统版本号deviceName           设备号 IOS:instruments -s devices,Android: adb devicesapp                  安装文件路径:/abs/path/to/my.apk or http://myapp.com/appappActivity          启动的ActivityappPackage           启动的包unicodeKeyboard      unicode设置(允许中文输入)resetKeyboard        键盘设置(允许中文输入)
"""# 设置手机配置  写死的
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
  1. 常用定位
  2. 这边使用模拟器测试
    启动后 如果是第一次启动会新添加两个软件 并跳转到控制里边
  3. 使用代码进行定位自动化
# 开始调用# 从pc端往移动端安装apk文件 (apk文件路径)
# driver.install_app('F:\ce_shi\雷电模拟器\geeknews_qqtn.apk')# 删除移动端应用  (包名)
# driver.remove_app('com.codeest.geeknews')# 通过id定位
driver.find_element_by_id('com.android.settings:id/title').click()
# 点击返回按钮
# 通过class定位
driver.find_element_by_class_name('android.widget.ImageButton').click()
sleep(2)
# 通过text定位
driver.find_element_by_xpath('//*[contains(@text,"WLAN")]').click()
  1. 常用方法
""":arg
swip滑动方法:swipe(start_x, start_y, end_x, end_y, duration=None)参数:1.start_x:起点X轴坐标2.start_y:起点Y轴坐标3.end_x:  终点X轴坐标4.end_y,: 终点Y轴坐标5.duration: 滑动这个操作一共持续的时间长度,单位:ms
"""
driver.swipe(216, 1851, 216, 1635, 2000)
""":arg方法:drag_and_drop(origin_el, destination_el)参数:1.origin_el:滑动开始的元素2.destination_el:滑动结束的元素
"""
# drag拖拽事件
# WLAN定位
cunchu = driver.find_element_by_xpath("//*[contains(@text,'存储')]")
# 存储定位
wlan = driver.find_element_by_xpath("//*[contains(@text,'WLAN')]")
# scroll滑动事件
driver.drag_and_drop(cunchu, wlan)
""":arg
手指按操作
"""
wlan = driver.find_element_by_xpath("//*[contains(@text,'WLAN')]")
""":arg# 通过元素定位方式按下屏幕el = driver.find_element_by_xpath("//*[contains(@text,'WLAN')]")TouchAction(driver).press(el).release().perform()# 通过坐标方式按下屏幕,WLAN坐标:x=155,y=250# TouchAction(driver).press(x=155,y=250).release().perform()press定的位置  wait 等待时间  release 退出
"""
TouchAction(driver).press(wlan).wait(5).release().perform()
""":arg
long_press 长按操作
方法:long_press(el=None, x=None, y=None, duration=1000)参数:1.element:被定位到的元素2.x:通常会使用元素的X轴坐标3.y:通常会使用元素的Y轴坐标4.duration:持续时间,默认为1000ms
"""
TouchAction(driver).long_press(wlan,duration=5000).release().perform()
""":arg
模拟手机的滑动操作方法:move_to(el=None, x=None, y=None)参数:1.el:定位的元素2.x:相对于前一个元素的X轴偏移量3.y:相对于前一个元素的Y轴偏移量通过坐标拉wait 等待时间
"""
sleep(1)
driver.find_element_by_xpath("//*[contains(@text,'安全')]").click()
sleep(1)
driver.find_element_by_xpath("//*[contains(@text,'屏幕锁定方式')]").click()
sleep(2)
TouchAction(driver).press(x=180, y=1440).wait(1000).move_to(x=-2, y=-720).wait(1000).move_to(x=724, y=2). \wait(1000).move_to(x=0, y=716).wait(1000).move_to(x=-322, y=0).wait(1000).move_to(x=0, y=-358).release().perform()
sleep(5)
#返回上一级
driver.back()
# 退出
driver.quit()

Appium手机端测试自动化相关推荐

  1. 【手机端测试的关注点】Android 和 IOS 两大主流系统测试点

    文章目录 前言 一.概念架构以及主要区别 二.功能测试 三.安装与卸载测试 四.登录测试 五.安全性测试--权限测试 六.消息推送测试 七.前后台切换测试 八.UI 测试 九.兼容性测试 十.网络环境 ...

  2. day38课后作业--手机端测试adb

    一:手机端常规测试 1.1 :介绍手机测试的 对于手机端测试,按照平台来分,分为 Android 和 IOS 两大主流系统, 1.1.1: 对于 ios 和 Android ,二者有区别,我就说一下我 ...

  3. 手机端测试时用的几个软件

    做互联网的测试时,常被分到一些无线页面的测试,对于无线测试我不到了解,通过几次测试,自己学到了一些东西. 一, 1安卓客户端可以使用 hosts editor 进行hosts修改 2之后使用终端模拟器 ...

  4. 手机端测试touch的一段代码

    <!DOCTYPE html> <html>    <head>       <title>测试touch</title>       &l ...

  5. 手机端常规测试基本信息

    一.介绍手机测试的概念架构 对于手机端测试,按照平台来分,分为Android和IOS两大主流系统, 对于ios和Android,二者有区别,我就说一下我在测试这两款手机app的感受吧 Android开 ...

  6. 09.01手机端常规测试

    1.    手机端常规测试 1.1. What 1.1.1.  介绍手机测试的概念架构 对于手机端测试,按照平台来分,分为Android和IOS两大主流系统, 对于ios和Android,二者有区别, ...

  7. input框取消光标颜色手机端不生效

    <style> input{color:transparent; } </style> <input value="我要隐藏光标">//文字颜色 ...

  8. python手机端下载-Python3,x:如何进行手机APP的数据爬取

    Python3,x:如何进行手机APP的数据爬取 一.简介 平时我们的爬虫多是针对网页的,但是随着手机端APP应用数量的增多,相应的爬取需求也就越来越多,因此手机端APP的数据爬取对于一名爬虫工程师来 ...

  9. Android新机系统要求,原神手机端最低配置要求 原神手机需要什么配置_游侠手游...

    原神手机需要什么配置?原神手游官方马上就要开启全平台公测了,那么这次测试中,手机平台需要达到什么样的配置才能畅快游玩?接下来就和小编一起来看看吧! 原神手机端配置 一.Android 1.支持配置 兼 ...

最新文章

  1. 领军筑梦 | 中建二局2022年春季校园招聘正式启动!
  2. python 倒叙 数组_打基础一定要吃透这12类 Python 内置函数
  3. 使用正则表达式更改编译版本号
  4. python中forward函数的引用_pytorch 调用forward 的具体流程
  5. java base64解码出错_Java Base64解码错误及解决方法
  6. 初学者python笔记(map()函数、reduce()函数、filter()函数、匿名函数)
  7. 【渝粤教育】国家开放大学2018年秋季 0714-21T建筑识图与CAD 参考试题
  8. dwz中的table
  9. FPS游戏方框透视基本原理
  10. html版权标签怎么打,版权符号怎么打_dreamweaver中版权的符号怎么打?
  11. C# 公历日期时间转农历日期方法 注解解读
  12. 优化USB UVC ISO传输速度
  13. 考研数学要背诵的知识点
  14. 【Lilishop商城】No3-2.模块详细设计,系统设置(系统配置、行政区划、物流公司、滑块验证码图片、敏感词过滤)的详细设计
  15. python编程课程是骗人的吧_在朋友圈买下编程课,你上的是Python还是成功学
  16. 在Chrome安装Edge的插件
  17. 小新padpro2021实体键盘快捷键备忘
  18. 【CSS】【position】css中的position属性
  19. C++四位数ABCD
  20. 软件浪涌测试原理与功能,EMC测试总体概述及浪涌测试原理与浪涌防护元器件使用分析.ppt...

热门文章

  1. java怎样调用dll 广东精鹰软件工作室(刘正仁)
  2. springboot + Disruptor 实现特快高并发处理!!
  3. <Python>PyQt5+ffmpeg,简单视频播放器的编写(解码器:K-lite)
  4. scrapy爬取华为商城所有商品信息--科技快人一步
  5. 亲测成功解决Typora旧版本无法使用提示需要更新的问题
  6. 2020年国富如荷和北京文理研修学院在北京达成战略合作
  7. 模拟电路学习之MOS管和三极管在PROTUES里面的对比
  8. pcm5102a解码芯片音质评测_WHAT HIFI推荐2020年最值得购买解码器:11款器材上榜
  9. iThoughtsX for Mac 5.9 中文破解版下载 强大的思维导图软件
  10. 大龄程序员都去哪了?分享我身边的几个故事