Appium手机端测试自动化
下载Appium与node.js、android-sdk
配置他们的环境变量
node环境变量
appium环境变量
sdk环境变量
安装appnium的服务端 同时进行对环境变量的设置
安装appniumd的客户端 pycharm中进行setting中进行
安装node.js 并进行环境变量的设置
找到自己的sdk中的tools文件下的 uiautomator连接监控器
连接配置设备编号
启动appium
在python的第三方库下载Appium-Python-Client
在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)
- 常用定位
- 这边使用模拟器测试
启动后 如果是第一次启动会新添加两个软件 并跳转到控制里边
- 使用代码进行定位自动化
# 开始调用# 从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()
- 常用方法
""":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手机端测试自动化相关推荐
- 【手机端测试的关注点】Android 和 IOS 两大主流系统测试点
文章目录 前言 一.概念架构以及主要区别 二.功能测试 三.安装与卸载测试 四.登录测试 五.安全性测试--权限测试 六.消息推送测试 七.前后台切换测试 八.UI 测试 九.兼容性测试 十.网络环境 ...
- day38课后作业--手机端测试adb
一:手机端常规测试 1.1 :介绍手机测试的 对于手机端测试,按照平台来分,分为 Android 和 IOS 两大主流系统, 1.1.1: 对于 ios 和 Android ,二者有区别,我就说一下我 ...
- 手机端测试时用的几个软件
做互联网的测试时,常被分到一些无线页面的测试,对于无线测试我不到了解,通过几次测试,自己学到了一些东西. 一, 1安卓客户端可以使用 hosts editor 进行hosts修改 2之后使用终端模拟器 ...
- 手机端测试touch的一段代码
<!DOCTYPE html> <html> <head> <title>测试touch</title> &l ...
- 手机端常规测试基本信息
一.介绍手机测试的概念架构 对于手机端测试,按照平台来分,分为Android和IOS两大主流系统, 对于ios和Android,二者有区别,我就说一下我在测试这两款手机app的感受吧 Android开 ...
- 09.01手机端常规测试
1. 手机端常规测试 1.1. What 1.1.1. 介绍手机测试的概念架构 对于手机端测试,按照平台来分,分为Android和IOS两大主流系统, 对于ios和Android,二者有区别, ...
- input框取消光标颜色手机端不生效
<style> input{color:transparent; } </style> <input value="我要隐藏光标">//文字颜色 ...
- python手机端下载-Python3,x:如何进行手机APP的数据爬取
Python3,x:如何进行手机APP的数据爬取 一.简介 平时我们的爬虫多是针对网页的,但是随着手机端APP应用数量的增多,相应的爬取需求也就越来越多,因此手机端APP的数据爬取对于一名爬虫工程师来 ...
- Android新机系统要求,原神手机端最低配置要求 原神手机需要什么配置_游侠手游...
原神手机需要什么配置?原神手游官方马上就要开启全平台公测了,那么这次测试中,手机平台需要达到什么样的配置才能畅快游玩?接下来就和小编一起来看看吧! 原神手机端配置 一.Android 1.支持配置 兼 ...
最新文章
- 领军筑梦 | 中建二局2022年春季校园招聘正式启动!
- python 倒叙 数组_打基础一定要吃透这12类 Python 内置函数
- 使用正则表达式更改编译版本号
- python中forward函数的引用_pytorch 调用forward 的具体流程
- java base64解码出错_Java Base64解码错误及解决方法
- 初学者python笔记(map()函数、reduce()函数、filter()函数、匿名函数)
- 【渝粤教育】国家开放大学2018年秋季 0714-21T建筑识图与CAD 参考试题
- dwz中的table
- FPS游戏方框透视基本原理
- html版权标签怎么打,版权符号怎么打_dreamweaver中版权的符号怎么打?
- C# 公历日期时间转农历日期方法 注解解读
- 优化USB UVC ISO传输速度
- 考研数学要背诵的知识点
- 【Lilishop商城】No3-2.模块详细设计,系统设置(系统配置、行政区划、物流公司、滑块验证码图片、敏感词过滤)的详细设计
- python编程课程是骗人的吧_在朋友圈买下编程课,你上的是Python还是成功学
- 在Chrome安装Edge的插件
- 小新padpro2021实体键盘快捷键备忘
- 【CSS】【position】css中的position属性
- C++四位数ABCD
- 软件浪涌测试原理与功能,EMC测试总体概述及浪涌测试原理与浪涌防护元器件使用分析.ppt...
热门文章
- java怎样调用dll 广东精鹰软件工作室(刘正仁)
- springboot + Disruptor 实现特快高并发处理!!
- <Python>PyQt5+ffmpeg,简单视频播放器的编写(解码器:K-lite)
- scrapy爬取华为商城所有商品信息--科技快人一步
- 亲测成功解决Typora旧版本无法使用提示需要更新的问题
- 2020年国富如荷和北京文理研修学院在北京达成战略合作
- 模拟电路学习之MOS管和三极管在PROTUES里面的对比
- pcm5102a解码芯片音质评测_WHAT HIFI推荐2020年最值得购买解码器:11款器材上榜
- iThoughtsX for Mac 5.9 中文破解版下载 强大的思维导图软件
- 大龄程序员都去哪了?分享我身边的几个故事