findelements 使用 xpah 误区:
puts @driver.find_elements(:xpath,'//TextView').count 能获得 6 个 正确
puts @driver.find_elements(:xpath,'//HorizontalScrollView/TextView'). 怎么只能返回 1 个
请问是 bug 么
HorizontalScrollView 下面不是 LinerLayout 么?
第二个取得应该不是那 6 个中的一个..你最好检查下
#2 楼 @seveniruby 确认了 ,是 6 个中的第一个 囧 我觉得 xpath 可能匹配的是整体串
#1 楼 @lihuazhang 跳过一个没关系的 //HorizontalScrollView/LinerLayout /TextView 结果是一样的
#3 楼 @chuyaoyao 看来得追踪下他们的代码调用了, 目前的 xpath 支持不是特别靠谱. 还得改进. 我倒是很想自己做一个完整的 xpath 支持.
#5 楼 @seveniruby xpath 调用逻辑 是哪个 java 文件里的
#2 楼 @seveniruby 顺便发现 'device'=>'selendroid',#selendroid Android 两种模式下 xpath 获取的方法有别
'device'=>'Android‘ 不支持@driver.find_element(:id,'btnSearchOnTitle') ????
分两步,先去找 HorizontalScrollView/LinerLayout 这个元素,然后在这个元素里再 find_elements 试下
#5 楼 @seveniruby 请问 'device'=>'selendroid 下不支持 xpath 么 同样的 xpath 在'device'=>'android 下就支持
#7 楼 @chuyaoyao 对的, xpath 的解析是现在 node 中解析为结构体, 然后分别发给 selendroid 和 uiautomator, 他们两个在各自解析的时候, 代码不一样. xpath 这块坑很多.
#11 楼 @seveniruby 原来是这样 ,那要是维护两套(selendroid、uiautomator)xpath,维护量太大了,请问有什么好的办法么
#12 楼 @chuyaoyao 也不是, 两套方案只要都支持 XPATH 标准就可以了. selendroid 不支持的事情, 需要追查下.有可能是它的 bug, 也可能是有其他的原因. 这两个方案是不同的组织在维护.
#6 楼 @lihuazhang 其实是 nodejs 先解析为一个 json 结构, 然后把结构传给 uiautomator 的封装, 代码在
https://github.com/appium/appium/blob/3448af6ee8e839c982a239613ee3b0c465357148/lib/xpath.js
这种解析方式不太好, 主要是 uiautomator 的底层有自己的查询方法, 需要把 xpath 转换为它的查询语法. 我觉得可以换个方法去实现. 比如先遍历出来所有的元素, 保存为 xml, 然后通过 xpath 来确定对应的是哪个节点, 然后根据 xml 中的对应节点去找真正的节点. 不过这样实现的话, uiautomator 的速度又太差, 遍历需要花费很大的时间.
我记得知平软件那边有个 iquery 项目, 做到了 jquery 方式的查询支持, 用的是 antlr 语法解析器库
#13 楼 @seveniruby 现在我手里的机器都是 4.1 版本一下的,selendroid 不支持 xpath,有些控件没有 id,现在怎么办呢?要抛弃 appium,直接用 selendroid 么?
#15 楼 @chuyaoyao 4.1.2 版本的话, appium 是支持, 需要修改下他们的代码, 他们代码中限制了 api 为 17 以上, 其实 api16 也是支持的. 所以你可以不需要依赖 selendroid
#16 楼 @seveniruby appium +android 在定位元素的时候,只支持 name xpath tag name,这是三种,不支持 id 获取元素,用 xpath 复杂的 U 难于维护,tag name 只能定位一类控件,name 也不一定能完全定位控件
#17 楼 @chuyaoyao 4.3 以上的 android 是支持 id 定位的. 从官方的代码中, 还发现了 appium 打算支持 css. 不过我没没有在 4.3 上正式测试过. appium 的定位和 webdriver 类似, 如果你的元素复杂, 就得考虑 page object 模式了
#18 楼 @seveniruby 我是过 4.4 的机器,通过 id 好像不行,我已经采用 page object,但是问题在于要支持 4.1 一下版本的手机比如 2.3.5
#18 楼 @seveniruby 我想确认下,appium+selendroid 不支持 xpath ?有没有办法修复
#20 楼 @chuyaoyao 支持的。 但是现在 appium xpath 支持的不是很好。
#21 楼 @lihuazhang 这是上图的两句代码 不知哪里出了问题,请帮忙看一下
puts @driver.find_element(:class,'android.widget.HorizontalScrollView')
puts @driver.find_element(:xpath,'//ImageButton')
#22 楼 @chuyaoyao @seveniruby 求助。。
#23 楼 @lihuazhang @seveniruby 求助求助 ~~(>_<)~~
#20 楼 @chuyaoyao 这个只能 debug 了, 我们没有你的环境, 只能你自己去追踪下 api 了.
理论上是支持 xpath 的. 可能是其他的问题.
ps: 我最近在试验一个工具, 可以辅助使用 appium 的人定位问题, 不过暂时还得等
#24 楼 @chuyaoyao 解决了没? 什么原因
#26 楼 @seveniruby 搞不懂,求大神指点 用了最新的版本,输入更多的 log,大神有没有办法
debug: Proxied response received with status 200: {"value":{"ELEMENT":"ec10568b-
f524-2c4f-58de-964514253a27"},"status":0,"sessionId":"aace43be-4eae-42ad-a0af-ba
ca34d24b70"}
POST /wd/hub/session/aace43be-4eae-42ad-a0af-baca34d24b70/element 200 42ms - 144
b
info: [SELENDROID] find element command using 'class name' with selector 'androi
d.widget.HorizontalScrollView'.
debug: Appium request initiated at /wd/hub/session/aace43be-4eae-42ad-a0af-baca3
4d24b70/element
debug: Request received with params: {"using":"xpath","value":"//HorizontalScrol
lView"}
debug: Proxying command to localhost:8080
info: Making http request with opts: {"url":"http://localhost:8080/wd/hub/sessio
n/aace43be-4eae-42ad-a0af-baca34d24b70/element","method":"POST","json":{"using":
"xpath","value":"//HorizontalScrollView"}}
info: [SELENDROID] find element command using 'xpath' with selector '//Horizonta
lScrollView'.
info: [SELENDROID] Error occurred while handling request.
info: [SELENDROID ERR] PullToRefreshListView$InternalListView
info: [SELENDROID ERR] at org.apache.harmony.xml.dom.ElementImpl.(Element
Impl.java:68)
info: [SELENDROID ERR] at org.apache.harmony.xml.dom.DocumentImpl.createElement
(DocumentImpl.java:332)
info: [SELENDROID ERR] at org.apache.harmony.xml.dom.DocumentImpl.createElement
(DocumentImpl.java:49)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:65)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlDoc(JsonXmlUtil.java:43)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.toXml
(JsonXmlUtil.java:27)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.AbstractNativeEle
mentContext.findElementsByXPath(AbstractNativeElementContext.java:227)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.AbstractNativeEle
mentContext.findElementByXPath(AbstractNativeElementContext.java:211)
debug: Proxied response received with status 500: undefined
POST /wd/hub/session/aace43be-4eae-42ad-a0af-baca34d24b70/element 500 501ms
info: [SELENDROID ERR] at io.selendroid.server.model.internal.AbstractNativeEle
mentContext.findElement(AbstractNativeElementContext.java:203)
info: [SELENDROID ERR] at io.selendroid.server.model.By$ByXPath.findElement(By.
java:231)
info: [SELENDROID ERR] at io.selendroid.server.model.DefaultSelendroidDriver.fi
ndElement(DefaultSelendroidDriver.java:111)
info: [SELENDROID ERR] at io.selendroid.server.handler.FindElement.handle(FindE
lement.java:46)
info: [SELENDROID ERR] at io.selendroid.server.AndroidServlet.handleRequest(And
roidServlet.java:236)
info: [SELENDROID ERR] at io.selendroid.server.BaseServlet.handleHttpRequest(Ba
seServlet.java:70)
info: [SELENDROID ERR] at org.webbitserver.netty.NettyHttpControl.nextHandler(N
ettyHttpControl.java:78)
info: [SELENDROID ERR] at org.webbitserver.netty.NettyHttpControl.nextHandler(N
ettyHttpControl.java:62)
info: [SELENDROID ERR] at io.selendroid.server.inspector.InspectorServlet.handl
eHttpRequest(InspectorServlet.java:78)
info: [SELENDROID ERR] at org.webbitserver.netty.NettyHttpControl.nextHandler(N
ettyHttpControl.java:78)
info: [SELENDROID ERR] at org.webbitserver.netty.NettyHttpControl.nextHandler(N
ettyHttpControl.java:62)
info: [SELENDROID ERR] at org.webbitserver.handler.PathMatchHandler.handleHttpR
equest(PathMatchHandler.java:33)
info: [SELENDROID ERR] at org.webbitserver.netty.NettyHttpControl.nextHandler(N
ettyHttpControl.java:78)
info: [SELENDROID ERR] at org.webbitserver.netty.NettyHttpControl.nextHandler(N
ettyHttpControl.java:62)
info: [SELENDROID ERR] at org.webbitserver.handler.DateHeaderHandler.handleHttp
Request(DateHeaderHandler.java:21)
info: [SELENDROID ERR] at org.webbitserver.netty.NettyHttpControl.nextHandler(N
ettyHttpControl.java:78)
info: [SELENDROID ERR] at org.webbitserver.netty.NettyHttpControl.nextHandler(N
ettyHttpControl.java:62)
info: [SELENDROID ERR] at org.webbitserver.handler.ServerHeaderHandler.handleHt
tpRequest(ServerHeaderHandler.java:25)
info: [SELENDROID ERR] at org.webbitserver.netty.NettyHttpControl.nextHandler(N
ettyHttpControl.java:78)
info: [SELENDROID ERR] at org.webbitserver.netty.NettyHttpControl.nextHandler(N
ettyHttpControl.java:67)
info: [SELENDROID ERR] at org.webbitserver.netty.NettyHttpChannelHandler$2.run(
NettyHttpChannelHandler.java:72)
info: [SELENDROID ERR] at java.util.concurrent.ThreadPoolExecutor.runWorker(Thr
eadPoolExecutor.java:1088)
info: [SELENDROID ERR] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Th
readPoolExecutor.java:581)
info: [SELENDROID ERR] at java.lang.Thread.run(Thread.java:1019)
info: [SELENDROID] replyWithServerError 500
info: [SELENDROID] System.currentTimeMillis() = 1393470145
info: [SELENDROID] System.currentTimeMillis() = 1393470145
info: [SELENDROID] System.currentTimeMillis() = 1393470145
info: [SELENDROID] System.currentTimeMillis() = 1393470145
info: Didn't get a new command in 60 secs, shutting down...
info: Shutting down appium session...
info: Stopping selendroid server
info: Making http request with opts: {"url":"http://localhost:8080/wd/hub/sessio
n/aace43be-4eae-42ad-a0af-baca34d24b70","method":"DELETE"}
info: [SELENDROID] delete session command
info: [SELENDROID] ---------Session STOP ---------------
debug: executing: "C:\Users\chuyaoyao\android-sdks\platform-tools\adb.exe" -s 30
4D09FE7029803F shell "am force-stop com.baidu.news"
info: Stopping logcat capture
debug: Logcat terminated with code null, signal SIGTERM
info: Cleaning up appium session
info: We shut down because no new commands came in
info: [SELENDROID ERR] Connection timed out
info: [SELENDROID ERR] at org.apache.harmony.luni.platform.OSNetworkSystem.read
(Native Method)
info: [SELENDROID ERR] at dalvik.system.BlockGuard$WrappedNetworkSystem.read(Bl
ockGuard.java:273)
info: [SELENDROID ERR] at org.apache.harmony.luni.net.PlainSocketImpl.read(Plai
nSocketImpl.java:458)
info: [SELENDROID ERR] at org.apache.harmony.luni.net.SocketInputStream.read(So
cketInputStream.java:85)
info: [SELENDROID ERR] at java.io.DataInputStream.read(DataInputStream.java:69)
info: [SELENDROID ERR] at gq.a(Unknown Source)
info: [SELENDROID ERR] at gv.run(Unknown Source)
info: [SELENDROID ERR] Connection timed out
info: [SELENDROID ERR] no network is available!
info: [SELENDROID ERR] at com.tencent.news.push.PushService$HeartThread.initSoc
ket(PushService.java:711)
info: [SELENDROID ERR] at com.tencent.news.push.PushService$HeartThread.run(Pus
hService.java:955)
info: [SELENDROID ERR] at org.apache.harmony.luni.platform.OSNetworkSystem.read
(Native Method)
info: [SELENDROID ERR] at dalvik.system.BlockGuard$WrappedNetworkSystem.read(Bl
ockGuard.java:273)
info: [SELENDROID ERR] at org.apache.harmony.nio.internal.SocketChannelImpl.rea
dImpl(SocketChannelImpl.java:382)
info: [SELENDROID ERR] at org.apache.harmony.nio.internal.SocketChannelImpl.rea
d(SocketChannelImpl.java:304)
info: [SELENDROID ERR] at com.netease.pris.push.a.c.a(Unknown Source)
info: [SELENDROID ERR] at com.netease.pris.push.a.c.e(Unknown Source)
info: [SELENDROID ERR] at com.netease.pris.push.a.c.d(Unknown Source)
info: [SELENDROID ERR] at com.netease.pris.push.a.c.run(Unknown Source)
info: [SELENDROID ERR] at java.lang.Thread.run(Thread.java:1019)
info: [SELENDROID] at org.apache.harmony.luni.platform.OSNetworkSystem.read
Direct(Native Method)
info: [SELENDROID] at dalvik.system.BlockGuard$WrappedNetworkSystem.readDir
ect(BlockGuard.java:278)
info: [SELENDROID ERR] Connection timed out
info: [SELENDROID ERR] at org.apache.harmony.luni.platform.OSNetworkSystem.read
(Native Method)
info: [SELENDROID ERR] at dalvik.system.BlockGuard$WrappedNetworkSystem.read(Bl
ockGuard.java:273)
info: [SELENDROID ERR] at org.apache.harmony.luni.net.PlainSocketImpl.read(Plai
nSocketImpl.java:458)
info: [SELENDROID ERR] at org.apache.harmony.luni.net.SocketInputStream.read(So
cketInputStream.java:85)
info: [SELENDROID ERR] at java.io.InputStreamReader.read(InputStreamReader.java
:255)
info: [SELENDROID ERR] at java.io.BufferedReader.read(BufferedReader.java:311)
info: [SELENDROID ERR] at org.jivesoftware.smack.b.read(AliveBufferedReader.jav
a:21)
info: [SELENDROID ERR] at org.jivesoftware.smack.f.b.read(ObservableReader.java
:42)
info: [SELENDROID ERR] at org.kxml2.io.KXmlParser.peek(KXmlParser.java:925)
info: [SELENDROID ERR] at org.kxml2.io.KXmlParser.peekType(KXmlParser.java:589)
info: [SELENDROID ERR] at org.kxml2.io.KXmlParser.nextImpl(KXmlParser.java:333)
info: [SELENDROID ERR] at org.kxml2.io.KXmlParser.next(KXmlParser.java:1378)
info: [SELENDROID ERR] at org.jivesoftware.smack.l.a(PacketReader.java:45)
info: [SELENDROID ERR] at org.jivesoftware.smack.l$1.run(PacketReader.java:72)
info: [SELENDROID ERR] Connection timed out
info: [SELENDROID ERR] at org.apache.harmony.luni.platform.OSNetworkSystem.read
(Native Method)
info: [SELENDROID ERR] at dalvik.system.BlockGuard$WrappedNetworkSystem.read(Bl
ockGuard.java:273)
info: [SELENDROID ERR] at org.apache.harmony.luni.net.PlainSocketImpl.read(Plai
nSocketImpl.java:458)
info: [SELENDROID ERR] at org.apache.harmony.luni.net.SocketInputStream.read(So
cketInputStream.java:85)
info: [SELENDROID ERR] at java.io.InputStreamReader.read(InputStreamReader.java
:255)
info: [SELENDROID ERR] at java.io.BufferedReader.read(BufferedReader.java:311)
info: [SELENDROID ERR] at org.jivesoftware.smack.b.read(AliveBufferedReader.jav
a:21)
info: [SELENDROID ERR] at org.jivesoftware.smack.f.b.read(ObservableReader.java
:42)
info: [SELENDROID ERR] at org.kxml2.io.KXmlParser.peek(KXmlParser.java:925)
info: [SELENDROID ERR] at org.kxml2.io.KXmlParser.peekType(KXmlParser.java:589)
info: [SELENDROID ERR] at org.kxml2.io.KXmlParser.nextImpl(KXmlParser.java:333)
info: [SELENDROID ERR] at org.kxml2.io.KXmlParser.next(KXmlParser.java:1378)
info: [SELENDROID ERR] at org.jivesoftware.smack.l.a(PacketReader.java:45)
info: [SELENDROID ERR] at org.jivesoftware.smack.l$1.run(PacketReader.java:72)
info: [SELENDROID ERR] Connection to http://10.0.0.172:80 refused
info: [SELENDROID ERR] at org.apache.http.impl.conn.DefaultClientConnectionOper
ator.openConnection(DefaultClientConnectionOperator.java:191)
info: [SELENDROID ERR] at org.apache.http.impl.conn.AbstractPoolEntry.open(Abst
ractPoolEntry.java:164)
info: [SELENDROID ERR] at org.apache.http.impl.conn.AbstractPooledConnAdapter.o
pen(AbstractPooledConnAdapter.java:119)
info: [SELENDROID ERR] at org.apache.http.impl.client.DefaultRequestDirector.ex
ecute(DefaultRequestDirector.java:428)
info: [SELENDROID ERR] at org.apache.http.impl.client.AbstractHttpClient.execut
e(AbstractHttpClient.java:555)
info: [SELENDROID ERR] at org.apache.http.impl.client.AbstractHttpClient.execut
e(AbstractHttpClient.java:487)
info: [SELENDROID ERR] at org.apache.http.impl.client.AbstractHttpClient.execut
e(AbstractHttpClient.java:465)
info: [SELENDROID ERR] at com.baidu.location.g$1.run(Unknown Source)
info: [SELENDROID ERR] /10.0.0.172:80 - Network is unreachable
info: [SELENDROID ERR] at org.apache.harmony.luni.net.PlainSocketImpl.connect(P
lainSocketImpl.java:207)
info: [SELENDROID ERR] at org.apache.harmony.luni.net.PlainSocketImpl.connect(P
lainSocketImpl.java:437)
info: [SELENDROID ERR] at java.net.Socket.connect(Socket.java:1002)
info: [SELENDROID ERR] at org.apache.http.conn.scheme.PlainSocketFactory.connec
tSocket(PlainSocketFactory.java:119)
info: [SELENDROID ERR] at org.apache.http.impl.conn.DefaultClientConnectionOper
ator.openConnection(DefaultClientConnectionOperator.java:156)
info: [SELENDROID ERR] ... 7 more
info: [SELENDROID ERR] loc.map.baidu.com
info: [SELENDROID ERR] at java.net.InetAddress.lookupHostByName(InetAddress.jav
a:497)
info: [SELENDROID ERR] at java.net.InetAddress.getAllByNameImpl(InetAddress.jav
a:294)
info: [SELENDROID ERR] at java.net.InetAddress.getAllByName(InetAddress.java:25
6)
info: [SELENDROID ERR] at org.apache.http.impl.conn.DefaultClientConnectionOper
ator.openConnection(DefaultClientConnectionOperator.java:136)
info: [SELENDROID ERR] at org.apache.http.impl.conn.AbstractPoolEntry.open(Abst
ractPoolEntry.java:164)
info: [SELENDROID ERR] at org.apache.http.impl.conn.AbstractPooledConnAdapter.o
pen(AbstractPooledConnAdapter.java:119)
info: [SELENDROID ERR] at org.apache.http.impl.client.DefaultRequestDirector.ex
ecute(DefaultRequestDirector.java:428)
info: [SELENDROID ERR] at org.apache.http.impl.client.AbstractHttpClient.execut
e(AbstractHttpClient.java:555)
info: [SELENDROID ERR] at org.apache.http.impl.client.AbstractHttpClient.execut
e(AbstractHttpClient.java:487)
info: [SELENDROID ERR] at org.apache.http.impl.client.AbstractHttpClient.execut
e(AbstractHttpClient.java:465)
info: [SELENDROID ERR] at com.baidu.location.g$1.run(Unknown Source)
info: [SELENDROID ERR] Connection to http://10.0.0.172:80 refused
info: [SELENDROID ERR] at org.apache.http.impl.conn.DefaultClientConnectionOper
ator.openConnection(DefaultClientConnectionOperator.java:191)
info: [SELENDROID ERR] at org.apache.http.impl.conn.AbstractPoolEntry.open(Abst
ractPoolEntry.java:164)
info: [SELENDROID ERR] at org.apache.http.impl.conn.AbstractPooledConnAdapter.o
pen(AbstractPooledConnAdapter.java:119)
info: [SELENDROID ERR] at org.apache.http.impl.client.DefaultRequestDirector.ex
ecute(DefaultRequestDirector.java:428)
info: [SELENDROID ERR] at org.apache.http.impl.client.AbstractHttpClient.execut
e(AbstractHttpClient.java:555)
info: [SELENDROID ERR] at org.apache.http.impl.client.AbstractHttpClient.execut
e(AbstractHttpClient.java:487)
info: [SELENDROID ERR] at org.apache.http.impl.client.AbstractHttpClient.execut
e(AbstractHttpClient.java:465)
info: [SELENDROID ERR] at com.baidu.location.g$1.run(Unknown Source)
info: [SELENDROID ERR] /10.0.0.172:80 - Network is unreachable
info: [SELENDROID ERR] at org.apache.harmony.luni.net.PlainSocketImpl.connect(P
lainSocketImpl.java:207)
info: [SELENDROID ERR] at org.apache.harmony.luni.net.PlainSocketImpl.connect(P
lainSocketImpl.java:437)
info: [SELENDROID ERR] at java.net.Socket.connect(Socket.java:1002)
info: [SELENDROID ERR] at org.apache.http.conn.scheme.PlainSocketFactory.connec
tSocket(PlainSocketFactory.java:119)
info: [SELENDROID ERR] at org.apache.http.impl.conn.DefaultClientConnectionOper
ator.openConnection(DefaultClientConnectionOperator.java:156)
info: [SELENDROID ERR] ... 7 more
info: [SELENDROID ERR] java.lang.InterruptedException
info: [SELENDROID ERR] at java.lang.VMThread.sleep(Native Method)
info: [SELENDROID ERR] at java.lang.Thread.sleep(Thread.java:1213)
info: [SELENDROID ERR] at java.lang.Thread.sleep(Thread.java:1195)
info: [SELENDROID ERR] at com.sec.android.app.FileTransferManager.FTSRunningChe
cker$EchoServerThread.run(FTSRunningChecker.java:62)
info: [SELENDROID ERR] at java.lang.Thread.run(Thread.java:1019)
学习