Python&Appium实现安卓手机图形解锁】的更多相关文章

首先,在解锁状态下,建立一个Session,打开APP.然后,调用press_keycode()方法传入整型数值"26",锁定屏幕.通过implicitly_wait()方法等待两秒后,再次调用press_keycode()方法按下电源键,点亮屏幕.这时候看到的手机界面如下所示: 此时,我们需要调用login_unlock()方法绘制图案解锁手机(预先设置好的解锁图形如上图所示). login_unlock()方法的详细介绍如下: 1.通过find_element_by_id()方法找…
九宫格作为常见的手势密码,我们在使用的时候,是从起点开始,按住不放,然后滑动手指,直到最后一个点松开手指,如果与设置的手势密码匹配,则解锁成功. 现在大多数九宫格作为一个元素存在,很难定位到每一个点. 解决思路有两个,一是用指针定位每一个点:二是先获取元素坐标位置,再获取元素大小,然后切割图片,分别计算出每个点的坐标: 本次笔记记录第一个解决思路: 目的:创建一个Unlock类,按顺序传入九宫格的解锁数字即可实现主屏幕解锁 模拟器:夜神 1.坐标定位到每个点 A.夜神模拟器开发者选项中开启指针位…
一:appium相关环境搭建过程略. 二:连接真机: 1.手机(andriod 4.2.2)连接电脑,打开USB调试模式. 2.运行cmd 输入 adb devices -l 查看UDID,如图: 3.再在cmd中输入 appium -a 127.0.0.1 -p4723 -U4d007e9a1b0050d1 (-a表示ip,-p表示端口,-U表示设备的udid 可以通过appium -h查看更多命令) 4.如果如下图所示 就表示 appium服务启动成功了,注意这个窗口不要关闭 因为这是app…
结构介绍 之前分享过一篇安卓UI测试,但是没有实现数据与代码分离,后期维护成本较高,所以最近抽空优化了一下.不想看文章得可以直接去Github,欢迎拍砖大致结构如下:   结构.png testyaml管理用例,实现数据与代码分离,一个模块一个文件夹 public 存放公共文件,如读取配置文件.启动appium服务.读取Yaml文件.定义日志格式等 page 存放最小测试用例集,一个模块一个文件夹 results 存放测试报告及失败截图   report.png logs 存放日志   logs…
一.实现数据与代码分离,维护成本较低,先看看自动化结构,大体如下: testyaml管理用例,实现数据与代码分离,一个模块一个文件夹 public 存放公共文件,如读取配置文件.启动appium服务.读取Yaml文件.定义日志格式等 page 存放最小测试用例集,一个模块一个文件夹 results 存放测试报告及失败截图 testcase 存放测试用例 runtest.py 运行所有测试用例 运行的结果: 三.yaml格式介绍 element_info:定位元素信息 find_type:属性,i…
问题:用appium进行真机调试后,使用手机的app进行输入时无法调出键盘. 原因:appium调试时,将手机输入法设置成了Unicode IME 解决方法: 方法一,手机设置里修改输入法: 不同的手机型号.系统设置的步骤可能不同,以华为Magic3.1.0为例,设置-->系统和更新-->语言和输入法-->默认-->搜狗输入法 方法二,adb命令切换手机输入法: 首先,获取手机当前可用输入法,命令:adb shell ime list -s 然后,切换成其他输入法,以搜狗输入法为例…
开始的时候 不知道 python_unittest框架的命名规则,导致方法进不去,后来 改变方法名 能获取 # conding=utf- from appium import webdriver import time import unittest class Login(unittest.TestCase): desired_caps = { 'platformName':'Android', 'deviceName':'FA56GB105163', 'platformVersion':'5…
前言 过年的时候总是少不了红包,不知从何时开始微信红包横空出世,对于网速和手速慢的人只能在一旁观望,做为python的学习者就是要运用编程解决生活和工作上的事情. 于是我用python解决我们的手速问题python实现自动抢微信红包,至于网速慢得那就只能自己花钱提升了. 环境准备 appium环境 安卓手机 usb数据线 python环境 实现思路 我们收到红包和消息都是自动置顶到第一个,于是我们打开第一个判断是否有红包,没有则隐藏此窗口.如果有则判断红包是否可以领取,如果有则领取红包,否则删除…
[本文出自天外归云的博客园] 1. 在安卓网上对热门机型进行爬网,取前五十: # -*- coding: utf-8 -*- import requests,re from bs4 import BeautifulSoup def get_rank_list(): s = requests.Session() rank_list = [] for pageNum in xrange(1,10): url = "http://product.hiapk.com/mobile/p"+str…
安卓手机的图形锁包括3*3,4*4,5*5的点阵,按次序连接数个点从而达到锁定/解锁的功能.以3*3为例,最少需要连接4个点,最多能连接9个点.在我们进行绘制图形的过程中,每选中这9个点中的一个点,实际上就代表选中了一位数字.当我们连接完4个点时,产生的图形也会间接生成一组密码.比如我们选中02.04.05.08这四个点位,那么组成的密码即为02040508.当然,为了安全,生成的密码是不可能直接被存储的,于是安卓系统将02040508转换为16进制并以sha1加密,并存储在手机里的/data/…
appium做app自动化测试,环境搭建是比较麻烦的. 也是很多初学者在学习app自动化之时,花很多时间都难跨越的坎. 但没有成功的环境,就没有办法继续后续的使用. 在app自动化测试当中,我们主要是通用电脑端的python代码,能够驱使手机端的app去进行操作. 比如打开一个app,输入用户名和密码,进入登陆操作. 由于电脑端和手机端是两个独立的设备. 要实现数据通信,就需要将二者连一起. 因此对于真机用户,需要用USB线连接手机和电脑,并且在开发者选项当中,开启USB调试模式. App自动化…
坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:oschina.云+社区.知乎等各大平台都有. 目录 一.Appium 的理念 四个原则 1.Web-Selenium 的运行原理 2.Appium 运行原理 二.Appium 面板 三.一段简单的代码来打开应用 1.前提条件 2.怎么识别 app? 3.查看安卓 App 包名的链接 4.Appium 官网介绍 5.为什么有平台版本号? 6.aapt 命令获取应用包名和入口 activity 7.代码 一.Appium 的理念 四个原则: 你没有…
---恢复内容开始--- Appium自动化公司内部测试培训1-环境搭建 课程目的 一.Python + Appium 环境搭建 课程内容 1    安装前准备工作 搭建环境所需要的安装文件已经下载好,从SVN上获取即可,解压,如下 2   Appium环境搭建 Appium是一个开源的,适用于原生或者移动网络和混合应用程序在 iOS 和 Android 平台上的的开源自动化测试框架. 2.1  安装Node.js 点击安装文件,下一步下一步直接安装,安装成功后,输入cmd打开windows的命…
#这里的示例是用android来说明的,xpath应该是通用的,resource-id不太清楚,没配过IOS的环境 #环境配置和一些参数的意思不清楚可以看我上一篇python appium笔记(一) (一)说明 主要说明下面2种方式,其实感觉通过xpath,不管selenium还是appium,应该能定位全部元素了. 1.resource-id:定义了resource-id,并且唯一的情况下,可以使用这种方式 2.xpath:任何情况下,都可以用xpath进行定位 (二)查看 #做第四步的时候,…
转自:https://www.ithome.com/html/android/302170.htm 细数当年的桌面版Windows,似乎针对ARM架构处理器的版本并不多,小编曾用过一段时间的Windows RT,对它流畅的操作和强大的完整版Office非常满意,然而Windows RT却因不能升级到Windows10而与UWP应用无缘.Windows RT虽被微软宣布了“死缓”,但这并不意味着你不能在ARM架构的处理器上运行桌面版Windows.相信很多同学都曾了解过或者尝试过通过虚拟机在智能手…
Adb驱动是什么意思? /div> Adb是英文Android Debug Bridge的英文缩写,是debug工具,如果不是写IT的可能也很难理解debug的意思.说的直白一点就是Adb就是手机与电脑相连的桥,要想用电脑调试和管理手机就必须先安装Adb工具包,我们借助adb工具可以在电脑上给手机安装软件,运行shell命令,系统升级. 查看更多关于Adb驱动 .. 如何安装Adb驱动?   早些年我们在玩智能手机的时候安装adb驱动都需要在国外的一些网站上去找adb驱动程序,然后安装在电脑上连…
Python Appium 滑动.点击等操作 1.手机滑动-swipe # FileName : Tmall_App.py # Author : Adil # DateTime : 2018/3/25 17:22 # SoftWare : PyCharm from appium import webdriver caps = {} caps['platformName'] = 'Android' caps['platformVersion'] = '6.0' caps['deviceName']…
1.python环境搭建,这里就不做过多介绍 2.安装 node.js 2.1.官网下载node.js:https://nodejs.org/en/download/ 2.2.获取到安装文件后,直接双击安装文件,根据程序的提示,完成nodejs的安装. 2.3.安装完成后,运行cmd,输入node –v,如果安装成功,会输出如下版本信息: 3.Android SDK环境搭建 3.1.解压SDK到指定目录下如下图 3.2.配置环境变量 path += ;%ANDROID_HOME%\platfor…
前言:用Python写安卓APP肯定不是最好的选择,但是肯定是一个很偷懒的选择,而且实在不想学习Java,再者,就编程而言已经会的就Python与Golang(注:Python,Golang水平都一般),那么久Google了一下Python写安卓的APP的可能性,还真行. 既然要写个APP,那么总得要有个想法吧. 其实笔者想做两个APP来着,一个是自己写着好玩的,一个是关于运维的. 关于运维的APP,设计应该如下 可能长这样: 然后设计应该是这样: 如果觉得可行的话,评论留言一下你觉得应该写进这…
安卓手机使用容器运行其他linux,一般两种: 1. termux + rootfs.img + proot,依赖api>=21,不必root但受限. 2. linuxdeploy + proot/chroot,依赖api>10,必须root. 本文使用不root的手机,所以选择 termux.centos镜像已经取消了 rootfs.img 的提供,所以选择 fedora.这里要注意的是,网上提供的安装脚本对 aarch64的识别兼容不好,将 arm*都识别成arm,自然 armv8*也识别…
使用python+appium做android的自动化测试时,首先需要启动appium服务,然后连接上手机,配置如下: desired_caps = {"platformName": "Android", "deviceName": "127.0.0.1:62001", "platformVersion": "4.4.2", # apk包名 "appPackage":…
经过了这个月的学习,今天终于完成了公司APP系统的自动化的脚本的编写. 通过单元测试框架UNITTEST,进行脚本的连跑,本来还想把测试数据统一写到EXCEL表格内,实现脚本与数据的分离. 后来发现增加了很多的工作量,这个时间投入的不值得,性价比不高. 因为使用的是APPIUM在模拟器中操作,所以脚本运行速度,远不及selenium运行速度快,同时,维护难度增加,脚本连跑时,因为受到系统影响, 连跑报错率很高,需要多跑几次,才能全部跑通. 最近把时间与精力都投入到APPIUM+python的学习…
国产安卓手机对系统的把控,现在想搞机的方法是愈来愈麻烦,华为最先的申请解锁码,到现在直接系统锁死不给解.让我等搞机小伙伴是望机兴叹.安卓手机的通病随着系统升级,手机就越来越卡.本想通过卸载系统自带应用,缓解手机内存不足的尴尬,也越麻烦.跟大家分享个卸载华为自带顽固APP的程序.小弟自测是华为Mate20  Pro,傻瓜式操作,无需解锁系统,打开USB调试即可(不会的自行百度)      使用后的好处:1.系统整洁,都是你想用的.2.省电.3.运行流畅        基于EMUI10内部应用为基础…
我是风筝,公众号「古时的风筝」,一个不只有技术的技术公众号,一个在程序圈混迹多年,主业 Java,另外 Python.React 也玩儿的 6 的斜杠开发者. Spring Cloud 系列文章已经完成,可以到 我的github 上查看系列完整内容.也可以在公众号内回复「pdf」获取我精心制作的 pdf 版完整教程. 一个神奇的 APP 这个软件叫做 Auto.js,只支持安卓,是一个不需要 Root 权限的 JavaScript 自动化软件.什么意思呢,就是在你的安卓手机上安装这个 APP,然…
设备: 电脑:mac book pro 手机:小米10 charles:4.5.6 方法一: 步骤: 首先确保电脑,手机在同一局域网, 1. charles设置代理:proxy -> proxysettings:设置如下:(端口号可以自己设置,默认为8888) 2. 手机端设置代理:设置 -> wlan -> 点击你连接的wifi进入详情,找到代理 -> 将代理改为手动,输入你的主机名(就是连接的wifi的ip),输入你设置的端口号,点击保存,(查看IP和你设置的端口号可以在cha…
做APP的UI自动化测试时,我们往往会使用真机跑自动化测试脚本,因为这样才是最真实的使用场景.但前期调试脚本的话,可以先使用模拟器,这样相对更加方便. 不推荐使用Android SDK里自带模拟器,太卡. 这里介绍两款我正在用于做自动化测试的模拟器:Genymotion 与 夜神模拟器. 一,Genymotion 1,注册账号 使用Genymotion时需要登录账号,我们需要去Genymotion官网注册账号. 官网地址:https://www.genymotion.com/ 官网首页点击[Si…
目录 1. 导出证书(以Charles为例) 2. 安卓证书储存格式 3. 将导出的证书计算hash值 4. 生成系统系统预设格式证书文件 5. 上传证书 安卓7.0以后,安卓不信任用户安装的证书,所以抓https时无法解码请求,对于第三方应用,需要将证书添加为系统证书,网上解决方法较多,比如使用安卓模拟器(兼容性差,很多应用闪退),使用xposed框架等,这里使用安卓手机添加证书. 注:需要手机有root权限,以下操作以小米9 SE为准,其他品牌手机操作可能有差别. 1. 导出证书(以Char…
前端JS中使用XMLHttpRequest 2上传图片到服务器,PC端和大部分手机上都正常,但在少部分安卓手机上上传失败,服务器上查看图片,显示字节数为0.下面是上传图片的核心代码: HTML <input type="file" id="choose" capture="camera" accept="image/*"> JavaScript var filechooser = document.getEleme…
一.Monkey概述 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试.Monkey测试是一种为了测试软件的稳定性.健壮性的快速有效的方法.Monkey测试是Android平台下自动化测试的一种快速有效的手段. 二.环境配置 JDK配置:根据自己的电脑系统位数,选择适当的JDK,若自己电脑系统是32位,尽量也选择使用32位的JDK,在此以此为例进行详解.JDK…
在实际测试工作中,经常要将安卓手机通过wifi代理的形式连接到本机的fiddler或charles服务器代理进行抓包测试.最近一直在想,有没有什么方法可以自动设置安卓手机的wifi代理,曾经想通过修改安卓系统配置文件的方式来修改但是没有找到解决方案.最后决定针对自己的手机进行私人订制,缺点是只能针对固定机型进行设置,不过优点是脚本很好编写,可以很快的对自己平时使用的测试机进行定制(非Windows下的脚本编写过程类似). 利用adb命令编写PowerShell脚本 Windows下编写脚本用到了…