你的意思是整理代码之前没有这个问题?
Xcode,appium 有修改/升级过吗?
那我就不清楚了。
你试下去搜索 chromedriver ,看它不回应时从哪里能找到一些 log 信息?
或者直接用 chromedriver 来运行你的测试试试?
收藏了!
#3 楼 @anikikun 你上 stackoverflow 查一下?
我找到这个http://stackoverflow.com/questions/20961417/android-util-androidexception-instrumentation-failed
没实际做过,仅仅抛个砖。。。等待大神们解答
自动掉线、消息无法送达这有可能是弱网络或者是客户端内部数据包没发出。
如果是定位问题的话,可以在网络良好的环境下用抓包工具看看 app 的网络通讯是否正常,会不会出现应该发包的地方实际上没有发包。如果都有发包,那有可能是弱网络下 app 重试发包的次数太少,直接看源码看看重发次数是多少,然后配置弱网络(参考http://testerhome.com/topics/482),修改重发次数来看看效果如何。
这标题太简洁了……建议改成更能表达帖子意思的标题。。。
返回键是可以模拟的,就是一个 KeyEvent ,adb 命令就能干这活。不过你需要先确定你一路按返回键能返回主界面。
你的这个功能其实相当于用例失败时自动执行的内容,单元测试框架的话用 tearDown 函数来做(tearDown 是无论用例执行情况如何都会执行的),如果不想每个用例都要加,那就在执行用例的那个语句加个 try catch ,捕捉找不到元素的异常或者点击异常,然后执行你那个一路返回的用例/脚本,再把异常改为用例失败的异常。
不过这么做就变得把用例的内容引入到执行框架了,你要考虑清楚你的框架是否需要保持通用性,不需要的话就加到框架里吧。
#10 楼 @sunrise find_element_by_name 不是匹配 value 的。你的 "北京" 是 value 的值。
参考:http://selendroid.io/native.html#name
而且你的 Log 里面的 xml 有点怪,有些节点名称我也没见过,如 NovaTextView
,不知道是不是自定义控件。
不过用 xpath 应该能找到啊。你的 xpath 怎么写的?
从上面的 log 来看,你的元素有找到啊(服务器返回 200 ),只是 tap 那里有问题。可惜最重要的 tap 动作的 log 你没截到。。。
我的治懒方法:搞个 deadline(和别人有合作的事情),或者把自己懒的时间尽可能延长,懒到你觉得无聊为止(我属于同一件事干太长时间就会觉得无聊的人,就算打游戏我也打不了超过 4 个小时,目前只有研究技术/编程能让我连续 4 小时以上保持专注)。
#9 楼 @weamylady 我这里没出现过这个问题哦。
你也是 chromedriver 起来后没反应?你试试直接用 chromedriver ,不用 appium 看有没有问题?
正常来说用 chrome 浏览器能看到的 webview chromedriver 应该都能控制。
谢谢分享!不过上面的代码看起来是 object-c 吧?能否把这段代码的详细用法说一下?否则后面想用也不知道怎么用了。
另外,麻烦按照论坛规范,使用代码块和添加头像吧。