基于appium的移动端自动化测试,密码键盘无法识别问题

基于appium做自动化测试,APP密码键盘无法识别问题解决思路

这个问题的解决思路如下:

  1.针对iOS无序键盘:首先,iOS的密码键盘是可识别的,但是,密码键盘一般是无序的。针对这个情况,思路是用Macaca或者appium-inspector来获取到每个键的信息的。首先,定义一个数据字典key_num={},把每个键的xpath保存到字典里面去。这样key_num里面保存的就是key_num[0]="第一个按键的xpath路径",key_num[1]="第二个按键的xpath路径"以此类推,记录完,整个键盘的xpath路径。然后,通过xpath的值就可以取得该元素的name值,这个值就是该键的数字,取name值方式:对象.get_attribute("name")。然后,定义另一个字典keys_num={},来保存每个按键对应的xpath和对应的数字。比如:第一个键是“6”,就写keys_num[6]="第一个键的xpath",第二个键是“4”,keys_num[4]="第二个键的xpath",以此类推,记录完整个键盘的数字和对应的xpath。这样在输入密码的时候,只要遍历密码,例如:密码是“666888”,那么密码的第一值是6,我们就取keys_num[6]的值就可以获取到“数字6”的xpath,在通过get_element_by_xpath("数字6的xpath")方式就可以获取到该元素,再用 元素.click()进行点击,就可以输入该值了。

  2.针对Android无序且无法识别键盘:Android的密码键盘一般是无序而且不可识别的。我们要用到ocr这个技术,大家不要紧张,可以去找相关的ocr类库,比如用python写脚本的人就可以找python的ocr类库,使用很简单。下面说如何解决密码键盘识别问题。首先,用adb截取密码键盘界面,把键盘界面通过ocr来识别,获取到键盘数字的顺序,例如:键盘的数字顺序是“9638527410”,那么我们就可以知道该次弹出的键盘第一排是“963”,第一个键是“9”,第二个键是“6”以此类推。但是,有的人会问了“我们既然无法识别键盘,那么如何获取键盘信息呢?”,对,我们只能通过ocr获取到键盘数字排序却无法获取到按键信息。那么如何点击呢?接下来,我们打开andorid的“指针位置”这个功能,计算出每个按键在屏幕的位置(计算方式:按百分比的方式计算,即:该键在屏幕的相对位置)。然后定义字典key_num_x={},key_num_y={}分别将该键的坐标记录下来,例如第一个键的值是6那么就写key_num_x[6]="第一个键的x坐标",key_num_y[6]="第一个键的y坐标"。以此类推。记录完所有的按键信息。这样在输入密码的时候,只要遍历密码,例如:密码是“666888”,那么密码的第一值是6,我们就取key_num_x[6]和key_num_y[6]的值,在通过 driver.tap([{x坐标,y坐标}])这个方法就可以点击了。

时间: 2024-10-09 14:27:48

基于appium的移动端自动化测试,密码键盘无法识别问题的相关文章

基于appium快速实现H5自动化测试

一.下载Appium-Server及库文件 库文件:jar包:java-client-3.1.0.jar Appium-Server:Appium服务器: 注:Appium包含客户端和服务端,客户端就是编写的java脚本,Appium服务器通过接收客户端的java脚本命令,然后向adb发送命令,操作手机: 二.下载Android sdk包 三.安装运行Appium Server 四.下载安装夜神模拟器 备注:appium server的配置: 1.打开后,小齿轮里配置服务器地址和端口: 2.小机

Appium+python移动端自动化测试-python库及pycharm安装(二)

一.安装python库 安装python库有很多种方法,如pip安装.源文件安装.运行包安装,但我们最常用的就是使用pip进行安装 Appium+python做移动端的自动化测试,所需要安装以下python库,打开cmd命令: 安装Appium-Python-Client pip install Appium-Python-Client 安装schematics pip install schematics 安装requests pip install requests 安装pymysql pi

Appium+python移动端自动化测试-环境搭建(一)

搭建所在系统环境:Windows7版本64位系统 一.环境准备 jdk8.0.151 android-sdk_r20.3.4-windows python3.5 appium1.4.16.1 Node-8.9.3 二.以上工具安装过程 请自行百度,此处略过 三.检验安装环境 1.jdk环境,在cmd命令行输入java -version 2.android-sdk环境,在cmd命令行输入android,打开SDK Manager界面 3.python环境,在cmd命令行输入python 4.app

基于appium的app自动化测试框架

基于appium框架的app自动化测试 App自动化测试主要难点在于环境的搭建,appium完全是基于selenium进行的扩展,所以app测试框架也是基于web测试框架开发的 一.设备连接 (即构建基础的测试环境,保证可以驱动设备进行操作) 0.准备测试环境 1)安装jdk配置java_home环境变量: 2)安装Android SDK(安卓软件开发包)(adb.appt ) 3)安装nodejs,并通过npm安装appium 1.获取app包名appPackage 在cmd命令行中输入aap

移动端自动化测试(一)之 Appium+Pyhton环境准备篇

由于工作的需要进行Andriod手机app自动化测试,公司现有支持的app的手机平台(Andriod和IOS), 所以选择了Appium工具.因为Andriod和IOS,Appium都支持.百度和谷歌上的各种Appium教程可谓是琳琅满目,但大抵都是浅尝辄止.因此笔者想要总结一套较全面的Appium的实战经验,以此记录我遇到的坑和填过的坑. web自动化测试的路线是这样的:编程语言基础--->测试框架--->webdriver API(selenium2)--->开发自动化测试项目. 移

移动端自动化测试(一)appium环境搭建

自动化测试有主要有两个分类,接口自动化和ui自动化,ui自动化呢又分移动端的和web端的,当然还有c/s架构的,这种桌面程序应用的自动化,使用QTP,只不过现在没人做了. web自动化呢,现在基本上都是用selenium,webdriver这些,app的自动化呢有monkeyruner.Ui Automator只支持Android,appium支持Android和ios. 这个系列博客主要说下移动端的自动化,appium,因为它ios和Android的自动化都可以做,但是搭建环境的时候特别容易出

appium移动端自动化测试环境搭建windows-appium-android

第一步:安装jdk 安装jdk(1.7版本以上) 安装完成设置jdk环境变量(百度查询) cmd命令下键入 java -version命令检查jdk是否安装成功且设置环境变量成功,如下图所示: 第二步:安装Android SDK(安卓软件开发包) 下载地址:http://tools.android-studio.org/index.php/sdk/ 如下图所示: 下载此安装包至任意目录下解压,如下图所示: 解压完成以后,把SDK目录例如:D:\自动化测试工具\自动化测试工具\andrio_sdk

移动端自动化测试Appium 从入门到项目实战Python版

移动端自动化测试Appium 从入门到项目实战Python版 说到APP自动化测试,Appium可是说是非常流行了, 不仅支持多语言.多平台的优势,同时支持Andriod.iOS.H5的自动化测试:本课程会从初级的Appium框架讲起,涉及业界常见的po模型.关键字模型.服务自动化.持续集成等实战讲解,让你快速上手移动端自动化测试工作 appium做app自动化测试,环境搭建是比较麻烦的.也是很多初学者在学习app自动化之时,花很多时间都难跨越的坎. 但没有成功的环境,就没有办法继续后续的使用.

移动端自动化测试Appium从入门到项目实战Python版 学习 教程

移动端自动化测试Appium从入门到项目实战Python版 学习 教程 原文地址:https://www.cnblogs.com/itye/p/11679036.html