uiautomator2 实现App九宫格解锁】的更多相关文章

App九宫格解锁 之前在testerhome社区看见codeskyblue大佬写过一种方法,但是这种办法存在一个弊端,那就是多个点的坐标是写死的,也就是说要是换了部手机,九宫格解锁就行不通了,于是就想着能不能做到自动去获取多个点的坐标,看了看uiautomator2的官方文档,发现有办法,如下: 1 首先通过xpath获取解锁界面上九个点 element = d.xpath("//android.view.ViewGroup/android.widget.ImageView").all…
之前研究了一段时间的appium for native app 相应的总结如下:                                            appium测试环境搭建 :http://www.cnblogs.com/tobecrazy/p/4562199.html   知乎Android客户端登陆:http://www.cnblogs.com/tobecrazy/p/4579631.html appium实现截图和清空EditText:http://www.cnblog…
写手机自动化测试脚本关于APP九宫格滑动解锁方面采用了appium API 之 TouchAction 操作. 先是用uiautomatorviewer.bat查询APP元素坐标: 手工计算九宫格每个点中心的坐标及偏移的相对位移: 实现代码如下:(相对位移无负数不会报错,有负数时会报错) TouchAction(self.driver).press(x=300,y=750).wait(100) \ .move_to(x=576,y=0).wait(100) \ .move_to(x=-576,y…
九宫格作为常见的手势密码,我们在使用的时候,是从起点开始,按住不放,然后滑动手指,直到最后一个点松开手指,如果与设置的手势密码匹配,则解锁成功. 现在大多数九宫格作为一个元素存在,很难定位到每一个点. 解决思路有两个,一是用指针定位每一个点:二是先获取元素坐标位置,再获取元素大小,然后切割图片,分别计算出每个点的坐标: 本次笔记记录第一个解决思路: 目的:创建一个Unlock类,按顺序传入九宫格的解锁数字即可实现主屏幕解锁 模拟器:夜神 1.坐标定位到每个点 A.夜神模拟器开发者选项中开启指针位…
滑动屏幕方法swipe一般用于对页面进行上下左右滑动操作,但自动化过程中还会遇到其他情况,如对控件元素进行滑动.拖拽操作,九宫格解锁,手势操作,地图的放大与缩小等.这些需要针对控件元素的滑动操作,或者点至点.元素至元素之间的滑动操作,使用swipe方法显然不是很方便,这时候就可以用到appium里提供TouchAction类和MultiAction类. 一,TouchAction类 1,TouchAction类由webdriver库提供,提供以下方法: tap(self, element=Non…
    <ignore_js_op>                                                  下面是最重要的那个LocusPassWordView: /** * * 九宫格解锁 * * @author way * */ public class LocusPassWordView extends View { private float w = 0; private float h = 0; // private boolean isCache = f…
转自:http://blog.csdn.net/codekxx/article/details/50577381 手势密码在很多手机应用都会运到,手势密码都要求至少连接4个点,但AppiumLibrary并没有提供对应的关键字,本人尝试连续使用Swipe关键字两次解决该问题,为什么要用两次呢?因为Swipe的参数只是起点和终点,如果直接给出手势密码的起点和终点,则会忽略中间的点. 手机QQ手势密码如下: AppiumLibrary它是开源的,就直接去修改其源代码. 于是,去到AppiumLibr…
前段时间做项目,公司要用到一个九宫格的手势解锁的需求. 虽然在很多地方都可以找到写好的第三方源码, 但是我的性格是不喜欢Ctrl+V的,于是自己凭着理解敲了一个出来,功能很简单,只是单纯的返回结果.附上 GitHub 地址: https://github.com/lufubinGit/JiugonggeDemo.git…
思路: 1.画9个按钮,通过按钮的选中状态控制按钮. 2.连线通过贝塞尔曲线绘制. 3.校验密码通过给按钮绑定tag值判断. 主要代码: OC版本: // // NineLockView.m // lockView // // Created by Shaoting Zhou on 2018/1/24. // Copyright © 2018年 Shaoting Zhou. All rights reserved. // #import "NineLockView.h" CGFloat…
前言:appium必须是1.6以上的版本 环境(安装和安装都可以运行成功,我也不确定要不要这个): 1.抓到toast需要安装uiautomator2,安装npm:npm install -g cnpm --registry=https://registry.npm.taobao.org 2. 然后通过这个命令: cnpm install appium-uiautomator2-driver   安装uiautomator2的配置文件 一.先看看toast 二.代码实现: #coding= ut…