Appium基础学习之 | setting、unlock与unicode ime
通过Appium执行测试会在设备上安装unlock.app、setting.app、io.appium.android.ime三个应用,第一次使用Appium在新的Android设备上执行是不会有任何问题的,但是如果第二次运行代码,就会抛出异常。原因也很简单,就是因为unlock.app、setting.app、io.appium.android.ime在Appium中并没有去做智能判断设备上是否已经安装过,所以每次执行前都需要卸载这三个应用再执行代码才不会报错,当然也可以修改Appium的代码避免重复安装(unlock.app、setting.app在appium1.7版本已经修复如设备安装过则不会重复安装,而ime依然需要自己解决)。那么为什么Appium一定要安装这三个应用呢?到底有什么作用?下面一探究竟
1.Unlock
Unlock的作用是在手机锁屏的情况下,appium依然可以操作手机,如果这个unlock.apk没有安装,而手机是锁屏情况下会报错
项目地址:https://github.com/appium/unlock_apk
2.Setting
用于处理系统设置,然后应用程序关闭。一旦设备上安装,可以设置的wifi
,data
,animation
并locale(设置语言、国家),还可以得到当前位置,生成IME码等等。
项目地址:https://github.com/appium/io.appium.settings
3.Unicode IME
appium 自定义输入法,主要功能隐藏输入法界面及可输入中文。
项目地址:https://github.com/appium/io.appium.android.ime
4.解决重复安装的问题
在Appium安装目录下\node_modules\appium\lib\devices\android的文件夹里,有一个Android.js文件。(Appium-desktop的修改与Appium不通过,Appium-desktop可以参考https://blog.csdn.net/hszxd479946/article/details/78900982)
如下图注释4行代码,重启Appium服务即可
注意:这里需要注意一点的就是,第一次在设备上运行时,在不注释的情况下让Appium先在设备上安装这三个应用,然后修改注释并重启Appium服务继续测试。保证这三个应用在手机上存在。
6.一个Unicode IME的报错
A new session could not be created. (Original error: Command failed: C:\Windows\system32\cmd.exe /s /c "E:\Rocheng\ADT-bundle\sdk\platform-tools\adb.exe -s 5b30ee87 install "E:\Tool\Appium\node_modules\appium\build\unicode_ime_apk\UnicodeIME-debug.apk""
adb: failed to install E:\Tool\Appium\node_modules\appium\build\unicode_ime_apk\UnicodeIME-debug.apk: Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install io.appium.android.ime without first uninstalling.]
) (WARNING: The server did not provide any stacktrace information)
这个报错的原因是手动卸载造成的,如果不根据上面的注释修改,而是自己手动卸载设备中的应用,这时候很容易把Unicode IME忘记。可通过命令行在设备上卸载,三个应用的package名称是io.appium.settings、io.appium.unlock、io.appium.android.ime,通过adb命令卸载如下:
Appium基础学习之 | setting、unlock与unicode ime相关推荐
- Appium基础学习之 | Bootstrap源码分析
在Appium执行日志流程分析这里已经讲解到Bootstrap的重要作用,今天就来切洋葱切一下它,看看它的真实面目: 源码地址:https://github.com/appium-boneyard/a ...
- Appium基础学习之 | Android Virtual Device Manager使用
模拟器英文全称Android Virtual Device,检查AVD,就是安卓虚拟设备的意思.无论是在做安卓开发或者安卓测试都需要设备来运行.调试APP应用程序.所以在做APP自动化测试之前一定要准 ...
- Appium基础篇3-第一个appium自动化脚本之自动安装apk包到手机
这篇,我们开始来一个实战练习,如何通过appium自动把电脑上一个安卓程序包给安装到一台安卓手机中.在写脚本之前,我们需要统一下方法和工具.我们知道Appium和selenium一样都支持Java和P ...
- python 内存溢出能捕获吗_从0基础学习Python (19)[面向对象开发过程中的异常(捕获异常~相关)]...
从0基础学习Python (Day19) 面向对象开发过程中的=>异常 什么是异常 当程序在运行过程中出现的一些错误,或者语法逻辑出现问题,解释器此时无法继续正常执行了,反而出现了一些错误的 ...
- python基础代码的含义_Python基础学习篇
原标题:Python基础学习篇 1.编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是unicode 字符串. 当然你也可以为源码文件指定不同的编码:# -*- codi ...
- Oracle登陆SQL Plus,Oracle基础学习登陆SQLPLUS(一)
或 system/(password) 连接到本地的最高帐号 Sql>help index Enter Help [topic] for help. Sql>show all 显示当前SQ ...
- 鸟哥的linux私房菜-基础学习篇 读书笔记
从事linux工作一年多,算是能够熟练运用linux服务器,但仍觉得自己对Linux的原理,理论缺乏空洞,潜下心来认真阅读尘封的鸟哥经典,知识点很全,收获颇多,实践与知识结合,知行合一,对linux开 ...
- 1 python编程基础学习
1 python编程基础学习 1. 程序 2 python简介(了解) 3 python的开发环境的搭建 4 第一个python程序 4.1 常用的dos命令 4.2 交互式 4.3 使用pychar ...
- Java基础学习—— IO流
Java基础学习-- IO流 1 文件 1.1 文件的创建 1.2 文件常用的方法 2 IO流 2.1 FileInputStream 2.2 FileOutputStream 2.3 文件的拷贝 2 ...
最新文章
- 使用C语言扩展Python(三)
- 人工智能实践:TensorFlow笔记学习(三)——TensorFlow框架
- php数组分开_PHP学习之五:数组(三)合并、拆分、接合和分解数组
- JZOJ 3418. 【NOIP动态规划专题】选课
- WebService学习总结(1)——WebService相关概念
- 使用Shell和Java驱动程序的MongoDB身份验证配置示例
- 顾樵数学物理方法_圣彼得堡国立大学硕士研究生:物理与天文学
- c语言怎么查找中文字符,C语言自学,汉字编码范围查询!
- 用户体验衡量指标分析
- winform中notifyIcon的ShowBalloonTip方法的坑
- javamail 邮件发送、带格式、已保存
- 各种泵的图形符号_泵的图形符号
- 两种方法分析每月工作日计算程序
- 如何用计算机算标准偏差,标准差计算器怎样安装使用?标准差计算器使用教程介绍...
- php实现 三角形_HTML纯CSS绘制三角形(各种角度)
- 单GPU每秒76帧,重叠对象也能完美分割,多模态Transformer用于视频分割效果惊艳...
- lg android 互动游戏,LG G7 开启游戏模式(理论适用所有LG手机)
- 辣子鸡-辣子鸡家常做法
- 找不到驱动器。名为“.C”的驱动器不存在。的问题总结
- 法规标准-GB/T 39901标准解读(2021版)