APP九宫格滑动解锁的处理
写手机自动化测试脚本关于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=576).wait(100) \
.move_to(x=576,y=0).wait(100).release().perform()
time.sleep(5)
密码是一个Z型输入,相对位移有负数时老是报错,经多方查找原因后在release()后面加了一个wait,代码得以跑通。
修改后代码如下:
TouchAction(self.driver).press(x=300,y=750).wait(100) \
.move_to(x=576,y=0).wait(100) \
.move_to(x=-576,y=576).wait(100) \
.move_to(x=576,y=0).wait(100).release().wait(100).perform()
time.sleep(5)
APP九宫格滑动解锁的处理的更多相关文章
- RobotFramework:App九宫格滑动解锁
转自:http://blog.csdn.net/codekxx/article/details/50577381 手势密码在很多手机应用都会运到,手势密码都要求至少连接4个点,但AppiumLibra ...
- Appium九宫格滑动解锁
1.适配各种机型,首先获取整个解锁元素的坐标 2.代码实现 WebElement lockPattern = driver.findElement(By.id("com.android.se ...
- APP自动化 -- 滑动解锁、滑动验证
一.解锁 1.代码 2.效果 1)执行效果 2)点位效果
- uiautomator2 实现App九宫格解锁
App九宫格解锁 之前在testerhome社区看见codeskyblue大佬写过一种方法,但是这种办法存在一个弊端,那就是多个点的坐标是写死的,也就是说要是换了部手机,九宫格解锁就行不通了,于是就想 ...
- Swift: 打造滑动解锁文字动画
原文:Swift: 打造滑动解锁文字动画 最近木事,找出来玩了玩facebook的paper.到处都是那个"slide to unlock your phone"的效果啊.忽闪忽闪 ...
- hiho_1054_滑动解锁
题目大意 智能手机九点屏幕滑动解锁,如果给出某些连接线段,求出经过所有给出线段的合法的滑动解锁手势的总数.题目链接: 滑动解锁 题目分析 首先,尝试求解没有给定线段情况下,所有合法的路径的总数.可以使 ...
- hihocoder#1054 : 滑动解锁(深度优先搜索)
描述 滑动解锁是智能手机一项常用的功能.你需要在3x3的点阵上,从任意一个点开始,反复移动到一个尚未经过的"相邻"的点.这些划过的点所组成的有向折线,如果与预设的折线在图案.方向上 ...
- Selenium模拟JQuery滑动解锁
滑动解锁一直做UI自动化的难点之一,我补一篇滑动解锁的例子,希望能给初做Web UI自动化测试的同学一些思路. 首先先看个例子. https://www.helloweba.com/demo/2017 ...
- hihocoder 1054 滑动解锁 dfs
详细分析见滑动解锁分析 AC代码 #include <cstdio> #include <cmath> #include <cctype> #include < ...
随机推荐
- 剑指offer5 从尾到头打印链表
错误代码: class Solution { public: vector<int> printListFromTailToHead(ListNode* head){ vector< ...
- es6之数据结构
1.set的用法 用add方法添加元素,添加的数组不可重复. 可利用set类型添加元素不重复的功能,给数组完成去重的功能 size属性用于获取set元素的长度 { let list =new Set( ...
- 四. 引入unittest单元测试框架
1. 安装 SeleniumIDE(firefox) (1)下载地址:https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/ (2 ...
- python中的sum函数.sum(axis=1)
看起来挺简单的样子,但是在给sum函数中加入参数.sum(a,axis=0)或者是.sum(axis=1) 就有点不解了 在我实验以后发现 我们平时用的sum应该是默认的axis=0 就是普通的相加 ...
- Oracle 触发器(二)
Oracle触发器详解 触发器是许多关系数据库系统都提供的一项技术.在oracle系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块. 8.1 触发器类型 触发器在数据库里 ...
- delect 删除
delete ---整表数据删除 (慎用) delete * from 表名; ---条件删除 delete * from 表名 where 限制条件;
- Jquery与js简单对比
//Javascript window.onload=function () { var oBtn=document.getElementById('btn1'); oBtn.onclick=func ...
- chromium之dynamic_annotations
看看介绍 // This file defines dynamic annotations for use with dynamic analysis // tool such as valgrind ...
- ABAP术语-Transaction
Transaction 原文:http://www.cnblogs.com/qiangsheng/archive/2008/03/19/1112804.html Logical process in ...
- ubuntu查找端口和kill
查看 : netstat -anp | grep 8080 结束: kill -9 进程号