@lihuazhang 头像已加,另外尝试亲建议的去掉那两行后,appium 会直接报错。
info: Responding to client with error: {"status":33,"value":{"message":"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)","origValue":"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"},"sessionId":null}
@liuxiangyu ,@lihuazhang,增大 duration 确实可以解决问题,但是为什么呢? 我以为 duration 越小滑动才会越快。 如何控制滑动的速度呢,我们手动划动,可以翻过一屏多的距离到页面底部,这个在脚本用 swipe 函数怎么实现呢。
另外我划动截屏后发现,同样的代码执行起来,划动的距离居然也不一样。难道脚本运行跟手机 wifi 的网速还有关系不成。
另外应用启动时,logcat 输入如下:
cmp=com.sdo.sdaccountkey/.ui.guide.TXZFirstActivity} from pid 1260
06-17 16:57:02.733: I/ActivityManager(698): Start proc com.sdo.sdaccountkey for activity com.sdo.sdaccountkey/.ui.guide.TXZFirstActivity: pid=10645 uid=10096 gids={50096, 1015, 3003, 5012, 1006, 1028}
06-17 16:57:03.003: I/ActivityManager(698): START u0 {cmp=com.sdo.sdaccountkey/.ui.guide.TXZFreshManGuideActivity} from pid 10645
06-17 16:57:03.323: I/ActivityManager(698): Displayed com.sdo.sdaccountkey/.ui.guide.TXZFreshManGuideActivity: +318ms (total +614ms)
@seveniruby 确实已解决,谢谢。
@seveniruby 请教下后来是如何解决这个问题的呢? 我发现在使用 appium 1.0 做练习的时候,也会遇到这种问题。 我是在搜索结果页面,尝试清空搜索历史,发现 RelativeLayout 的数量只有在最开始一次运行返回正确的结果,就是数字 3,后来运行就总是会返回 1。
WebElement text = driver.findElementByClassName("android.widget.EditText");
text.click();
List RelativeLayout = null;
RelativeLayout = driver.findElementsByXPath("//android.widget.RelativeLayout");
System.out.println(RelativeLayout.size());
我也遇到这个问题了,appium 1.0 版本,启动时即使是这样 D:\Appium-1.0.0>Appium.exe --plantform-name android --devicename HTC --UHC374W902582 ,inspector 还是有会报这个问题。 用 uiautomatorviewer 定位元素倒是没问题的。
http://testerhome.com/topics/773 遇到问题先尝试论坛关键字搜索
@seveniruby,问题已解决,但是什么原因引起的我还是不知道。 我只是起了一个虚拟机,又执行了一遍,就运行成功了。然后把虚拟机关掉,再连上真机,也不报找不到设备这个错误了,现在是因为小米的手机系统是 4.1.1 的,然后 appuim 要求设备的 api level 不小于 17 才行,估计得换个 4.2 的真机试试才知道怎么样。 不管怎么说,还是十分感谢你的回复,让咱倍感微暖,哈哈。
@seveniruby ,谢谢你的回复,你说的帖子是指http://testerhome.com/topics/496 这个吗? 我之前看了下,貌似对解决这个问题没什么帮助。
命令行里敲 adb devices -l,是能返回连接设备信息的, 只是在 junit test 运行时,appium 报错无法找到设备。所以实在想不出来可能是什么原因造成这个问题的。
@seveniruby,有时间帮忙看下吗
Appuim 日志输出截图见附件。
之前曾经有一次是能运行成功的,现在就这样了,机器重启也解决不了问题。有大牛能帮忙定位下吗?
贴下 appium 的截图吧,这个貌似看不出来什么问题。
问题已解决,大致是因为安装测试应用到虚拟机时,需要先重签名测试应用,而此时找不到 zipalign 造成的。将 zipalign 所在路径加入到系统 path 变量里,重启 eclipse 和 appuim 重新运行即可解决。
上传下报错的截图,方便大家帮忙定位。