appium遇到问题总结

问题1

执行脚本
报错:
java.lang.NoSuchMethodError: org.openqa.selenium.remote.ErrorHandler.<init>(Lorg/openqa/selenium/remote/ErrorCodes;Z)V
at io.appium.java_client.AppiumDriver.<clinit>(AppiumDriver.java:46)
解决办法:
更新pom.xml文件中selenium版本为2.42.2就可以解决,原因是图2中java-client使用1.5以上的2.2.0版本,1.5以上的版本是依赖与selenium的2.42.2版本
图1
图2
 

问题2

执行脚本,注意脚本中被屏蔽了部分,我的想法的直接在手机桌面执行滑动
报错
org.openqa.selenium.SessionNotCreatedException: A new session could not be created. (Original error: No app set; either start appium with --app or pass in an 'app' value in desired capabilities, or set androidPackage to launch pre-existing app on device) (WARNING: The server did not provide any stacktrace information)
 
解决办法
日志中展示出问题的在“driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);”这个地方
我百度了关键字“A new session could not be created”,有人说将java的jdk改为1.7就可以了,但是我用的是1.8的版本,所以直接否定这个办法
在将脚本改为下图,区别在于我在虚拟机中先安装app, 然后在初始化driver就不会报错了
我猜想是因为当每次调试的时候,appium连接虚拟机,它的操作对象是一个app,而我上图的脚本中未合理的初始化一个app,所以初始化driver失败了,所以在使用appium在虚拟机中调试时候,都是需要重新安装app后在初始化driver
 
原文地址:https://www.cnblogs.com/xxyBlogs/p/5594302.html