Appium-desktop 在使用过程中遇到的一些坑

#供自己记录,如有帮助,万分激动

 

1.selenium.common.exceptions.WebDriverException

 

 

Could not find a driver for platformName '"Android"'.

一开始出错的时候,以为那里做错了,后来才发现我使用的

configparser

这个方法的错误,没有理解这个方法的含义,这个方法调用的参数调用过来就是一个带引号的字符串,而我在参数设置中又多加了一个参数,所以系统才找不到platformName ,把引号删除就好了,附上我在

configparser

中的配置。

 

 

2   .ModuleNotFoundError: No module named '__main__.function_set'; '__main__' is not a package

 

我在调用一个自定义模块的时候,发现出现了这种错误,百度了一下,研究了一段时间,发现是路径问题,虽然可以   . 出来  但是,还是需要加上具体的包名, 比如 我在 demo下创建了一个方法,我在demo外部调用了这个方法,我需要写完整的路径 

from demo.function.func import func

我一开始是这么写的,是错误的

后来 我在 . 前面添加了这个文件的包名 ,

再运行,错误消失。希望有用。

 

3.urllib.error.URLError: <urlopen error [WinError 10061] 由于目标计算机积极拒绝,无法连接。>

在录制脚本或者运行代码的时候,很容易忘了启动什么服务,比如这个就是忘了启动appium-desktop的服务,把appium-desktop的服务启动,错误消失。附图。

启动成功,运行代码,正常运行。

4.关于浮层定位问题,或者是页面重叠,选取框无法选中页面元素等。

有时候自家APP进入搜索页面,使用选取框无法定位到搜索页面的内容,而是定位到了进入搜索页面之前的页面,当前页面元素很难定位到,很麻烦。后来发现只需要在自己字典代码中添加一个值就可以了。添加红框中的内容:如下图:

ps:这样启动会比之前慢,但是可以解决页面元素重叠的现象,或者一些浮层无法定位的现象,appium-desktop的配置信息如上图所示,可参照此项进行配置,配置完成后,点击start session 开启ui 定位元素界面。

代码中添加:

 

5.Incorrect package and activity. Retrying.

最近在测试钉钉的时候出现了这种情况,app启动之后一直报这个错误,然后退出。

最后查资料得出结论出现这种情况是因为没有在配置信息里面指定apppackage,在配置信息里面添加对应信息就可以了

报错信息如下:

An unknown server-side error occurred while processing the command. Original error: Cannot start the 'com.alibaba.android.rimet' application. Visit https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android/activity-startup.md for troubleshooting. Original error: 'com.alibaba.android.rimet.biz.SplashActivity' or 'com.alibaba.android.rimet.com.alibaba.android.rimet.biz.SplashActivity' never started. Visit https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android/activity-startup.md for troubleshooting

上图中把红框中配置信息添加到里面就可以了,“com.alibaba.android.rimet” 这是只适用于钉钉测试的时候,其他app看情况修改。

 

6.An unknown server-side error occurred while processing the command. Original error: Cannot verify the signature of 'C:\Program Files\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v4.21.1.apk'. Original error: Could not find 'apksigner.jar' in ["D:\\Android\\sdk\\platform-tools\\apksigner.jar","D:\\Android\\sdk\\emulator\\apksigner.jar","D:\\Android\\sdk\\cmdline-tools\\latest\\bin\\apksigner.jar","D:\\Android\\sdk\\tools\\apksigner.jar","D:\\Android\\sdk\\tools\\bin\\apksigner.jar","D:\\Android\\sdk\\apksigner.jar","D:\\Android\\sdk\\build-tools\\23.0.3\\apksigner.jar","D:\\Android\\sdk\\build-tools\\23.0.3\\lib\\apksigner.jar"]. Do you have Android Build Tools installed at 'D:\Android\sdk'?

出现这种报错信息,需要更新一下SDK的tools,使用 %Android_home%\SDKManager.exe工具 ,将Tools文件夹内更新一下,红圈内最好都勾选上进行更新。

之后又形形色色的除了很多报错信息:

An unknown server-side error occurred while processing the command. Original error: Cannot verify the signature of 'C:\Program Files\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v4.21.1.apk'. Original error: java.lang.UnsupportedClassVersionError: com/android/apksigner/ApkSignerTool has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) at java.net.URLClassLoader.access$100(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:368) at java.net.URLClassLoader$1.run(URLClassLoader.java:362) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:361) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495) Error: A JNI error has occurred, please check your installation and try again Exception in thread "main"

An unknown server-side error occurred while processing the command. Original error: Cannot verify the signature of 'C:\Users\YD\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v4.21.1.apk'. Original error: java.lang.UnsupportedClassVersionError: com/android/apksigner/ApkSignerTool has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) at java.net.URLClassLoader.access$100(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:368) at java.net.URLClassLoader$1.run(URLClassLoader.java:362) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:361) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495) Error: A JNI error has occurred, please check your installation and try again Exception in thread "main"

在重装了高版本JDK,和 appium之后,这些都做完之后,如果解决了最好,如果还有问题,请查看是否和问题7相似。

 

7.An unknown server-side error occurred while processing the command. Original error: Could not sign with default certificate. Original error Command 'C:\Program Files\Java\jdk1.8.0_171\bin\java.exe' not found. Is it installed?

An unknown server-side error occurred while processing the command. Original error: Cannot verify the signature of 'C:\Program Files\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v4.21.1.apk'. Original error: The JAVA_HOME location 'C:\Program Files\Java\jdk1.8.0_171' must exist

appium版本为1.17.0

这个问题是之前在设置环境变量时忘记了本地的设置,需要在appium的更多设置中修改一下

将JAVA_HOME修改成现在使用的地址就可以了。

这个问题修改完之后就可以正常获取元素信息了。

 

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值