首页 > 其他分享 >Appium踩坑

Appium踩坑

时间:2023-05-31 16:22:04浏览次数:29  
标签:Appium uiautomator app adb activity com xxxxx

1. 重复安装 io.appium.uiautomator2.server 和 io.appium.uiautomator2.server.test
解决方法:
1. caps增加设置 skipServerInstallation:True 注意当设备上没有包时不能这么设置

------------------------------------------------------------------------------------------------------------------------
2. appium报错提示:UiAutomationService android.accessibilityservice.... already registered!
解决方法:
1. 执行:adb shell am force-stop com.github.uiautomator (如果执行一次不行,多尝试几次)
2. (uiautomator为2版本,如果使用1的话,先查一下进程):
adb shell ps | findstr "uiautomator" ,/adb shell ps | find "uiautomator" 找到包名称
adb shell "su -c kill pid"

------------------------------------------------------------------------------------------------------------------------
3. Appium连接手机时报权限错误 Security exception: Permission Denial: starting Intent
原因:desired capacities 中的app activity不是start activity。

解决方案1:问开发要start activity

解决方案2:使用以下adb命令查看手机中activity manager的日志

清掉之前的手机日志:adb logcat -c
在手机端打开被测APP
执行命令:adb logcat -s ActivityManager > D:\log.txt
查看捕获的日志文件D:\log.txt,找到打开APP的操作,如下所示,是一条Info级别的日志
10-25 16:05:41.697 1891 1944 I ActivityManager: Start proc 28394:com.xxxx.xxxxx/u0a397 for pre-top-activity
{com.xxxxx.xxxxx/com.xxxxx.ft_login.view.activity.SplashActivity}
加粗的部分,分别是app package和app activity。这里的app activity就是启动APP时的activity。

更改desired capacities中的app activity,就可以完美启动了

标签:Appium,uiautomator,app,adb,activity,com,xxxxx
From: https://www.cnblogs.com/julia888/p/17446504.html

相关文章

  • Appium自动化(14):Appium常用操作之app操作
    APP操作方法:appium支持对手机上的app进行管理和操作,有如下方法:1、install_app(self,app_path,**options):安装app,app_path为安装包路径2、remove_app(self,app_id,**options):卸载app,app_id为app包名3、is_app_installed(self,bundle_id):检查app是否有安装bundle_id为app包名......
  • Appium自动化(15):Appium常用操作之混合应用webview页面操作--待补充!
    上下文操作:在appium中,对于混合应用,需要进行WebView页面和原生应用的切换 常用的方法如下:1、context(self)/current_context(self):返回当前会话的当前上下文,context可以理解为可进入的窗口。对于原生应用,可用的context和默认context均为“NATIVE_APP”,对于webvi......
  • Appium自动化(16):Appium常用操作之H5页面操作 --待补充!
    手机chrome浏览器操作:手机端chrome浏览器一般用于打开H5手机版网站,它的操作方式与PC端的浏览器操作(即selenium对浏览器的操作)是一模一样的,由于切换后的WebView页面也属于网页下述的方法中部分支持在webview页面中使用:1、get(self,url):打开网站,url参数为url地址,必须包含http/h......
  • Appium自动化(17):Appium常用操作之等待操作
    等待机制:为了保证脚本的稳定性,有时候需要引入等待时间,等待页面加载元素后再进行操作,主要有三种等待时间设置方式。 方式一:sleep():固定等待时间设置,python的time包里提供了休眠方法sleep,导入包后就能使用;sleep()方法以秒为单位,如果超时设置小于1秒,可以使用小数写法:time.sleep(......
  • Appium自动化(18):使用appium后安卓手机无法调出键盘解决方法
    问题:用appium进行真机调试后,使用手机的app进行输入时无法调出键盘。原因:appium调试时,将手机输入法设置成了UnicodeIME注:按键详细操作参考:转载至作者:oscarforever  地址:https://www.cnblogs.com/oscarforever/p/10721774.html解决方法:方法一,手机设置里修改输入法:不同的手机型号......
  • Appium自动化(13):Appium常用操作之TouchAction操作
    TouchAction操作Appium的辅助类,主要针对手势操作,比如滑动、长按、拖动等。其原理是将一系列的动作放在一个链条中,然后将该链条传递给服务器。服务器接受到该链条后,解析各个动作,逐个执行。TouchAction类支持的动作很多;常用操作如下:1、press(self,el=None,x=None,y=None): 按......
  • Appium自动化(10):Appium常用操作之设备操作
    设备基本操作前置条件:示例代码:fromappiumimportwebdriver#导入appium驱动包#1、定义一个DesiredCapabilities配置的字典des={'automationName':'appium','platformName':'Android',#平台的名称,iOS,Android,FirefoxOS'platformVe......
  • Appium自动化(8):混合应用webview元素识别
    混合应用:混合应用又称为HybridApp,它是原生应用和Web应用的结合体,采用了原生应用的一部分、Web应用的一部分(WebView),所以部分必须在设备上运行、部分必须在Web上运行。WebView:WebView是android中一个非常重要的控件,它的作用是用来展示一个web页面。它使用的内核是webkit引擎,4......
  • Appium capability参数配置
     简介功能:配置Appium会话,告诉Appium服务器需要自动化的平台的应用程序形式:键值对的集合,键对应设置的名称,值对应设置的值主要分为三部分公共部分ios部分android部分sessionAppium的客户端和服务端之间进行通信的前提通过DesiredCapabilities建立会......
  • Appium自动化(5):元素定位工具
    常用元素定位工具使用uiautomatorviewer定位工具:元素定位主要用来获取元素信息,获取元素信息后才能用appium提供的相关API去识别和操作元素。谷歌在AndroidSDK中,提供了元素定位工具uiautomatorviewer,该工具可在android-sdk安装路径下找到:<android-sdk>\tools\uiautomatorviewer.bat......