soniccloudorg / sonic-agent Goto Github PK
View Code? Open in Web Editor NEW🎉Agent of Sonic cloud real machine platform. Sonic云真机平台Agent端。
Home Page: https://soniccloudorg.github.io/
License: GNU Affero General Public License v3.0
🎉Agent of Sonic cloud real machine platform. Sonic云真机平台Agent端。
Home Page: https://soniccloudorg.github.io/
License: GNU Affero General Public License v3.0
Bug 描述
清晰地描述Bug的情况与详细复现步骤 | A clear and concise description of what the bug is.
获取控件元素不全
没有获取到底部的一排导航控件,对比airtest 可以拿到
版本
Sonic的版本号 | Sonic's Version. v1.3.0-beta1.1
部署的系统 mac
使用appium 格式可以运行 但是sonic的控件就不能执行 具体操作看
横屏软件不兼容旋转
Originally posted by @cooler1779 in #34 (comment)
现目前用的是airtest这套框架,脚本的运行也是基于airtest的,在一些专项测试中,往往使用脚本会更为的方便,建议做一个单独的脚本管理模块,在跑测的时候可以选择脚本来进行跑测,这样可以自定义一些测试方法,底层还是可以用airtest的方式来运行
后面远控方案逐渐迁移,特此记录目前不兼容的设备,目前已知
1、MIUI11以上投屏失败
2、安卓5以下机型不兼容
欢迎大家添加
agent包放在 D:\Program Files (x86) 目录下启动就会报错权限不对,换个其他目录,启动正常
Bug 描述
点击【Appium Driver】时报“初始化Driver失败!部分功能不可用!请联系管理员”
版本
Sonic的版本号 | V1.5.0
部署的系统(mac,windows32...) | CentOS
Bug 描述
jdk版本:
D:\sonic-agent>java -version
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)
agent启动异常信息:
D:\sonic-agent>java -jar sonic-agent-windows-x86_64.jar
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/cloud/sonic/agent/AgentApplication has been compiled by a more recent version of the Java Runtime (class file version 60.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(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:151)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:46)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88)
版本
Sonic的版本号 |v1.3.1-beta
部署的系统| windows10)
在手动点击或者UI自动化过程中可以有录屏的功能,然后可以在前端直接下载该录制的视频
Bug 描述
socket断线时,视频流相关线程过久释放。
版本
Sonic的版本号 | 所有
部署的系统 | 所有
启动时检查npm、appium、sdk等等依赖
在提出此issue时,我确认了以下几点(保存后请点击复选框):
Bug 描述
清晰地描述Bug的情况与详细复现步骤 | A clear and concise description of what the bug is.
使用poco官方的安卓demo,拖动第二个星星,出现报错:
2022-11-14 18:45:45.642 -ERROR 74296 --- [http-nio-7777-exec-8] o.c.s.a.b.a.AndroidDeviceBridgeTool :
cn.hutool.core.io.IORuntimeException: ConnectException: Connection refused: no further information
at cn.hutool.http.HttpRequest.send(HttpRequest.java:1272)
at cn.hutool.http.HttpRequest.doExecute(HttpRequest.java:1137)
at cn.hutool.http.HttpRequest.execute(HttpRequest.java:1013)
at cn.hutool.http.HttpRequest.execute(HttpRequest.java:989)
at org.cloud.sonic.driver.common.tool.RespHandler.getResp(RespHandler.java:45)
at org.cloud.sonic.driver.common.tool.RespHandler.getResp(RespHandler.java:39)
at org.cloud.sonic.driver.android.service.impl.UiaClientImpl.closeSession(UiaClientImpl.java:140)
at org.cloud.sonic.driver.android.AndroidDriver.closeDriver(AndroidDriver.java:109)
at org.cloud.sonic.agent.automation.AndroidStepHandler.closeAndroidDriver(AndroidStepHandler.java:160)
at org.cloud.sonic.agent.websockets.AndroidWSServer.exit(AndroidWSServer.java:574)
at org.cloud.sonic.agent.websockets.AndroidWSServer.onClose(AndroidWSServer.java:264)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at org.apache.tomcat.websocket.pojo.PojoEndpointBase.onClose(PojoEndpointBase.java:107)
at org.apache.tomcat.websocket.WsSession.fireEndpointOnClose(WsSession.java:759)
at org.apache.tomcat.websocket.WsSession.onClose(WsSession.java:740)
at org.apache.tomcat.websocket.WsFrameBase.processDataControl(WsFrameBase.java:367)
at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:296)
at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:133)
at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:85)
at org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:183)
at org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:162)
at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:156)
at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:60)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:59)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1726)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:831)
Caused by: java.net.ConnectException: Connection refused: no further information
at java.base/sun.nio.ch.Net.pollConnect(Native Method)
at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:669)
at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:542)
at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:597)
at java.base/java.net.Socket.connect(Socket.java:645)
at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:177)
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:497)
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:600)
at java.base/sun.net.www.http.HttpClient.(HttpClient.java:246)
at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:351)
at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:372)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1299)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1232)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1120)
at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1051)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1419)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1390)
at cn.hutool.http.HttpConnection.getOutputStream(HttpConnection.java:449)
at cn.hutool.http.HttpRequest.sendFormUrlEncoded(HttpRequest.java:1295)
at cn.hutool.http.HttpRequest.send(HttpRequest.java:1264)
... 33 more
2022-11-14 18:45:45.712 - INFO 74296 --- [http-nio-7777-exec-8] org.cloud.sonic.agent.tests.LogUtil : {"msg":"step","des":"测试终止异常!请检查设备连接状态","log":"","rid":0,"udId":"ce0ce07c","status":3,"cid":0}
org.cloud.sonic.driver.common.tool.SonicRespException: ConnectException: Connection refused: no further information
at org.cloud.sonic.driver.common.tool.RespHandler.getResp(RespHandler.java:48)
at org.cloud.sonic.driver.common.tool.RespHandler.getResp(RespHandler.java:39)
at org.cloud.sonic.driver.android.service.impl.UiaClientImpl.closeSession(UiaClientImpl.java:140)
at org.cloud.sonic.driver.android.AndroidDriver.closeDriver(AndroidDriver.java:109)
at org.cloud.sonic.agent.automation.AndroidStepHandler.closeAndroidDriver(AndroidStepHandler.java:160)
at org.cloud.sonic.agent.websockets.AndroidWSServer.exit(AndroidWSServer.java:574)
at org.cloud.sonic.agent.websockets.AndroidWSServer.onClose(AndroidWSServer.java:264)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at org.apache.tomcat.websocket.pojo.PojoEndpointBase.onClose(PojoEndpointBase.java:107)
at org.apache.tomcat.websocket.WsSession.fireEndpointOnClose(WsSession.java:759)
at org.apache.tomcat.websocket.WsSession.onClose(WsSession.java:740)
at org.apache.tomcat.websocket.WsFrameBase.processDataControl(WsFrameBase.java:367)
at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:296)
at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:133)
at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:85)
at org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:183)
at org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:162)
at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:156)
at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:60)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:59)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1726)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:831)
2022-11-14 18:45:45.745 - INFO 74296 --- [http-nio-7777-exec-8] o.c.s.a.b.a.AndroidDeviceBridgeTool : Send shell command am force-stop org.cloud.sonic.android to device ce0ce07c failed.
2022-11-14 18:45:45.745 -ERROR 74296 --- [http-nio-7777-exec-8] o.c.s.a.b.a.AndroidDeviceBridgeTool : device 'ce0ce07c' not found
2022-11-14 18:45:45.752 - INFO 74296 --- [http-nio-7777-exec-8] o.c.s.a.b.a.AndroidDeviceBridgeTool : Send shell command settings put global http_proxy :0 to device ce0ce07c failed.
2022-11-14 18:45:45.752 -ERROR 74296 --- [http-nio-7777-exec-8] o.c.s.a.b.a.AndroidDeviceBridgeTool : device 'ce0ce07c' not found
2022-11-14 18:45:45.758 - INFO 74296 --- [http-nio-7777-exec-8] o.c.s.agent.websockets.AndroidWSServer : f : quit.
2022-11-14 18:45:45.760 - INFO 74296 --- [http-nio-7777-exec-8] o.c.s.agent.websockets.AndroidWSServer : android unlock udId:ce0ce07c
2022-11-14 18:45:50.404 - INFO 74296 --- [http-nio-7777-exec-3] o.c.s.agent.websockets.AndroidWSServer : android lock udId:db2ae855
2022-11-14 18:45:50.435 - INFO 74296 --- [pool-4-thread-15] o.c.s.a.w.AndroidTerminalWSServer : db2ae855open terminal
2022-11-14 18:45:50.436 - INFO 74296 --- [pool-4-thread-17] o.c.s.a.w.AndroidTerminalWSServer : db2ae855open logcat
2022-11-14 18:45:50.588 - INFO 74296 --- [http-nio-7777-exec-3] o.c.s.agent.websockets.AndroidWSServer : Check Sonic Apk version and status pass...
2022-11-14 18:45:50.774 - INFO 74296 --- [Thread-166] o.c.s.a.b.a.AndroidDeviceBridgeTool : db2ae855 device 6790 forward to 54382
2022-11-14 18:45:51.297 - INFO 74296 --- [Thread-165] o.c.s.agent.websockets.AndroidWSServer : starting:start()
2022-11-14 18:45:51.377 - INFO 74296 --- [http-nio-7777-exec-1] o.c.s.a.w.AndroidScreenWSServer : 13 send: {"detail":"scrcpy","type":"switch"}
2022-11-14 18:45:51.658 - INFO 74296 --- [pool-4-thread-17] o.c.s.a.b.a.AndroidDeviceBridgeTool : db2ae855 device sonictouchservice port forward to 54373
2022-11-14 18:45:51.769 - INFO 74296 --- [Thread-167] o.c.s.a.w.AndroidScreenWSServer : db2ae855 rotation: 0
2022-11-14 18:45:51.896 - INFO 74296 --- [Thread-166] o.c.s.a.b.a.AndroidDeviceBridgeTool :
io.appium.uiautomator2.server.test.AppiumUiAutomator2Server:
2022-11-14 18:45:52.069 - INFO 74296 --- [android-scrcpy-start-scrcpy-server-task-0-0-db2ae855] o.c.s.a.t.a.scrcpy.ScrcpyLocalThread : [server] INFO: Device: vivo V2001A (Android 10)
2022-11-14 18:45:52.270 - INFO 74296 --- [android-scrcpy-input-socket-task-0-0-db2ae855] o.c.s.a.b.a.AndroidDeviceBridgeTool : db2ae855 device scrcpy port forward to 54393
[sonic-driver-core] 2022-11-14 18:45:54 [INFO] start session successful!
[sonic-driver-core] 2022-11-14 18:45:54 [INFO] session : 3c048c9a-74a1-4e97-8350-1c6393e6dec2
2022-11-14 18:45:54.062 - INFO 74296 --- [pool-4-thread-18] org.cloud.sonic.agent.tests.LogUtil : {"msg":"step","des":"连接 UIAutomator2 Server 成功","log":"","time":"18:45:54","rid":0,"udId":"db2ae855","status":2,"cid":0}
2022-11-14 18:45:54.173 - INFO 74296 --- [pool-4-thread-18] org.cloud.sonic.agent.tests.LogUtil : {"msg":"step","des":"","log":"设备操作系统:Android
操作系统版本:10
设备序列号:db2ae855
设备制造商:vivo
设备型号:V2001A
设备分辨率:1080x2376","time":"18:45:54","rid":0,"udId":"db2ae855","status":1,"cid":0}
2022-11-14 18:45:54.198 - INFO 74296 --- [http-nio-7777-exec-5] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"d 0 105 252 50\n","type":"touch"}
2022-11-14 18:45:54.284 - INFO 74296 --- [http-nio-7777-exec-6] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"u 0\n","type":"touch"}
2022-11-14 18:45:56.213 - INFO 74296 --- [http-nio-7777-exec-4] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"d 0 557 2314 50\n","type":"touch"}
2022-11-14 18:45:56.269 - INFO 74296 --- [http-nio-7777-exec-9] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"u 0\n","type":"touch"}
2022-11-14 18:45:57.140 - INFO 74296 --- [http-nio-7777-exec-10] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"d 0 834 735 50\n","type":"touch"}
2022-11-14 18:45:57.214 - INFO 74296 --- [http-nio-7777-exec-7] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"m 0 628 754 50\n","type":"touch"}
2022-11-14 18:45:57.215 - INFO 74296 --- [http-nio-7777-exec-7] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"u 0\n","type":"touch"}
2022-11-14 18:45:57.480 - INFO 74296 --- [http-nio-7777-exec-8] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"d 0 945 716 50\n","type":"touch"}
2022-11-14 18:45:57.544 - INFO 74296 --- [http-nio-7777-exec-3] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"m 0 660 718 50\n","type":"touch"}
2022-11-14 18:45:57.565 - INFO 74296 --- [http-nio-7777-exec-2] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"u 0\n","type":"touch"}
2022-11-14 18:45:57.911 - INFO 74296 --- [http-nio-7777-exec-1] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"d 0 605 708 50\n","type":"touch"}
2022-11-14 18:45:57.953 - INFO 74296 --- [http-nio-7777-exec-5] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"m 0 603 708 50\n","type":"touch"}
2022-11-14 18:45:58.017 - INFO 74296 --- [http-nio-7777-exec-6] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"m 0 155 666 50\n","type":"touch"}
2022-11-14 18:45:58.038 - INFO 74296 --- [http-nio-7777-exec-4] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"u 0\n","type":"touch"}
2022-11-14 18:45:58.495 - INFO 74296 --- [http-nio-7777-exec-9] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"d 0 641 762 50\n","type":"touch"}
2022-11-14 18:45:58.581 - INFO 74296 --- [http-nio-7777-exec-10] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"m 0 461 762 50\n","type":"touch"}
2022-11-14 18:45:58.642 - INFO 74296 --- [http-nio-7777-exec-7] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"u 0\n","type":"touch"}
2022-11-14 18:45:59.225 - INFO 74296 --- [http-nio-7777-exec-8] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"d 0 909 758 50\n","type":"touch"}
2022-11-14 18:45:59.328 - INFO 74296 --- [http-nio-7777-exec-3] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"m 0 821 762 50\n","type":"touch"}
2022-11-14 18:45:59.390 - INFO 74296 --- [http-nio-7777-exec-2] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"m 0 245 762 50\n","type":"touch"}
2022-11-14 18:45:59.421 - INFO 74296 --- [http-nio-7777-exec-1] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"u 0\n","type":"touch"}
2022-11-14 18:46:00.311 - INFO 74296 --- [http-nio-7777-exec-5] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"d 0 953 653 50\n","type":"touch"}
2022-11-14 18:46:00.405 - INFO 74296 --- [http-nio-7777-exec-6] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"m 0 850 653 50\n","type":"touch"}
2022-11-14 18:46:00.467 - INFO 74296 --- [http-nio-7777-exec-4] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"m 0 386 653 50\n","type":"touch"}
2022-11-14 18:46:00.528 - INFO 74296 --- [http-nio-7777-exec-9] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"u 0\n","type":"touch"}
2022-11-14 18:46:01.284 - INFO 74296 --- [http-nio-7777-exec-10] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"d 0 706 662 50\n","type":"touch"}
2022-11-14 18:46:01.304 - INFO 74296 --- [http-nio-7777-exec-7] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"m 0 708 662 50\n","type":"touch"}
2022-11-14 18:46:01.399 - INFO 74296 --- [http-nio-7777-exec-8] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"m 0 474 655 50\n","type":"touch"}
2022-11-14 18:46:01.463 - INFO 74296 --- [http-nio-7777-exec-3] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"u 0\n","type":"touch"}
2022-11-14 18:46:02.345 - INFO 74296 --- [http-nio-7777-exec-2] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"d 0 963 699 50\n","type":"touch"}
2022-11-14 18:46:02.378 - INFO 74296 --- [http-nio-7777-exec-1] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"m 0 947 699 50\n","type":"touch"}
2022-11-14 18:46:02.442 - INFO 74296 --- [http-nio-7777-exec-5] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"m 0 384 699 50\n","type":"touch"}
2022-11-14 18:46:02.474 - INFO 74296 --- [http-nio-7777-exec-6] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"u 0\n","type":"touch"}
2022-11-14 18:46:03.360 - INFO 74296 --- [http-nio-7777-exec-4] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"d 0 415 594 50\n","type":"touch"}
2022-11-14 18:46:03.422 - INFO 74296 --- [http-nio-7777-exec-9] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"u 0\n","type":"touch"}
2022-11-14 18:46:04.167 - INFO 74296 --- [Thread-167] o.c.s.a.w.AndroidScreenWSServer : db2ae855 rotation: 1
2022-11-14 18:46:04.167 - INFO 74296 --- [android-scrcpy-start-scrcpy-server-task-0-0-db2ae855] o.c.s.a.t.a.scrcpy.ScrcpyLocalThread : db2ae855 scrcpy service stopped.
2022-11-14 18:46:04.168 -ERROR 74296 --- [android-scrcpy-start-scrcpy-server-task-0-0-db2ae855] o.c.s.a.t.a.scrcpy.ScrcpyLocalThread : executeRemoteCommand interrupted with immediate timeout via interruption.
2022-11-14 18:46:04.349 - INFO 74296 --- [android-scrcpy-input-socket-task-0-0-db2ae855] o.c.s.a.t.a.s.ScrcpyInputSocketThread : scrcpy video socket closed.
2022-11-14 18:46:04.350 - INFO 74296 --- [android-scrcpy-input-socket-task-0-0-db2ae855] o.c.s.a.t.a.s.ScrcpyInputSocketThread : scrcpy input stream closed.
2022-11-14 18:46:04.352 - INFO 74296 --- [android-scrcpy-input-socket-task-0-0-db2ae855] o.c.s.a.b.a.AndroidDeviceBridgeTool : cancel db2ae855 device scrcpy port forward to 54393
2022-11-14 18:46:05.461 - INFO 74296 --- [android-scrcpy-start-scrcpy-server-task-0-0-db2ae855] o.c.s.a.t.a.scrcpy.ScrcpyLocalThread : [server] INFO: Device: vivo V2001A (Android 10)
2022-11-14 18:46:05.669 - INFO 74296 --- [android-scrcpy-input-socket-task-0-0-db2ae855] o.c.s.a.b.a.AndroidDeviceBridgeTool : db2ae855 device scrcpy port forward to 54408
2022-11-14 18:46:10.591 - INFO 74296 --- [http-nio-7777-exec-10] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"d 0 709 1272 50\n","type":"touch"}
2022-11-14 18:46:10.653 - INFO 74296 --- [http-nio-7777-exec-7] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"u 0\n","type":"touch"}
2022-11-14 18:46:12.204 - INFO 74296 --- [http-nio-7777-exec-8] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"d 0 692 627 50\n","type":"touch"}
2022-11-14 18:46:12.267 - INFO 74296 --- [http-nio-7777-exec-3] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"detail":"u 0\n","type":"touch"}
2022-11-14 18:46:16.183 - INFO 74296 --- [http-nio-7777-exec-2] o.c.s.agent.websockets.AndroidWSServer : 12 send: {"caseId":8,"detail":"runStep","type":"debug","pwd":""}
2022-11-14 18:46:17.029 - INFO 74296 --- [WebSocketConnectReadThread-136] o.c.s.agent.transport.TransportClient : Agent <- Server message: {"msg":"runStep","pf":1,"gp":{},"sessionId":"12","pwd":"","udId":"db2ae855","steps":[{"step":{"stepType":"startPocoDriver","caseId":8,"elements":[],"conditionType":0,"id":114,"sort":88,"text":"5001","error":3,"projectId":2,"content":"UNITY_3D","parentId":0,"platform":1}},{"step":{"stepType":"pocoSwipe","caseId":8,"elements":[{"eleType":"poco","eleValue":"poco("playDragAndDrop").child("star")[0]","id":33,"moduleId":0,"eleName":"星星【1号】","projectId":2},{"eleType":"poco","eleValue":"poco("shell")","id":28,"moduleId":0,"eleName":"贝壳","projectId":2}],"conditionType":0,"id":121,"sort":91,"text":"","error":3,"projectId":2,"content":"","parentId":0,"platform":1}},{"step":{"stepType":"pocoSwipe","caseId":8,"elements":[{"eleType":"poco","eleValue":"poco("playDragAndDrop").child("star")[1]","id":34,"moduleId":0,"eleName":"星星【2号】","projectId":2},{"eleType":"poco","eleValue":"poco("shell")","id":28,"moduleId":0,"eleName":"贝壳","projectId":2}],"conditionType":0,"id":122,"sort":92,"text":"","error":3,"projectId":2,"content":"","parentId":0,"platform":1}}],"cid":8}
2022-11-14 18:46:17.031 - INFO 74296 --- [android-run-step-task-0-8-db2ae855] o.c.s.a.b.a.AndroidDeviceBridgeTool : db2ae855 device 5001 forward to 54417
[sonic-driver-core] 2022-11-14 18:46:17 [INFO] poco socket connected.
2022-11-14 18:46:17.038 - INFO 74296 --- [android-run-step-task-0-8-db2ae855] org.cloud.sonic.agent.tests.LogUtil : {"msg":"step","des":"启动PocoDriver","log":"","time":"18:46:17","rid":0,"udId":"db2ae855","status":2,"cid":0}
2022-11-14 18:46:18.616 - INFO 74296 --- [android-run-step-task-0-8-db2ae855] org.cloud.sonic.agent.tests.LogUtil : {"msg":"step","des":"滑动拖拽星星【1号】到贝壳","log":"拖拽 poco("playDragAndDrop").child("star")[0] 到 poco("shell")","time":"18:46:18","rid":0,"udId":"db2ae855","status":2,"cid":0}
2022-11-14 18:46:24.688 - INFO 74296 --- [android-run-step-task-0-8-db2ae855] org.cloud.sonic.agent.tests.LogUtil : {"msg":"step","des":"滑动拖拽星星【2号】到贝壳异常!","log":"拖拽 poco("playDragAndDrop").child("star")[1] 到 poco("shell")","time":"18:46:24","rid":0,"udId":"db2ae855","status":4,"cid":0}
2022-11-14 18:46:25.475 - INFO 74296 --- [android-run-step-task-0-8-db2ae855] org.cloud.sonic.agent.tests.LogUtil : {"msg":"step","des":"获取异常截图","log":"http://10.228.19.43:3000/server/api/folder/imageFiles/20221114/eb0ff710-e68d-4d77-98aa-42a675e5e8c1.jpg","time":"18:46:25","rid":0,"udId":"db2ae855","status":3,"cid":0}
2022-11-14 18:46:25.476 - INFO 74296 --- [android-run-step-task-0-8-db2ae855] org.cloud.sonic.agent.tests.LogUtil : {"msg":"step","des":"","log":"异常信息: org.cloud.sonic.driver.common.tool.SonicRespException: ","time":"18:46:25","rid":0,"udId":"db2ae855","status":3,"cid":0}
2022-11-14 18:46:25.478 - INFO 74296 --- [android-run-step-task-0-8-db2ae855] org.cloud.sonic.agent.tests.LogUtil : {"msg":"status","des":"","log":"","time":"18:46:25","rid":0,"udId":"db2ae855","status":3,"cid":0}
版本
Sonic的版本号 | 最新版本
部署的系统(mac,windows32...) | Windows
手机品牌:vivo
Bug 描述
清晰地描述Bug的情况与详细复现步骤 | A clear and concise description of what the bug is.
两台IOS设备同时连接电脑,会有一台被挤下线,但是tidevice list显示的是两台设备
版本
Sonic的版本号 | Sonic's Version.
部署的系统(mac,windows32...) | System
手机的占用/释放建议提供单独的api,现在只有打开远控才占用手机
WebView Debugging online for Chrome.
谷歌浏览器的在线webView调试
Bug 描述
部分设备触发查找控件树的逻辑会卡住很长时间,或者会失败(GET /session/:session_id/source 返回500)
版本
Sonic的版本号 | v1.3.0-beta1.1
部署的系统 | all
1、Listen iOS Devices
2、UI testing for iOS Devices
3、Others like Android Component(Like remote)
1、监听iOS设备
2、iOS设备自动化
3、其他类似安卓的模块(远控等等)
设备中心设备被占用时 可以看见占用该手机的用户名
Bug 描述
清晰地描述Bug的情况与详细复现步骤 | A clear and concise description of what the bug is.
版本
Sonic的版本号 | Sonic's Version.
部署的系统(mac,windows32...) | System
Bug 描述
集群版:
adb connect 无法连接,提示
adb connect 192.168.242.130:65178
failed to authenticate to 192.168.242.130:65178
mac 防火墙已关
版本
Sonic的版本号 | Sonic's Version. v1.3.0-beta1.1
部署的系统 mac
Bug 描述
清晰地描述Bug的情况与详细复现步骤 | A clear and concise description of what the bug is.
固定adb远程连接的端口号,或者固定在一个区间内,方便做映射
2.3.0
macosx-x86_64
启动后会出现连接不上,一直报下面日志,切换到 2.0.5则正常
2023-02-10 17:26:13.561 - INFO 69221 --- [WebSocketConnectReadThread-64] o.c.s.agent.transport.TransportClient : Server disconnected. Retry in 10s...
场景: 一些控件可能开始不可见,需要滑动一些距离。如果直接使用控件 A->控件B,可能不可用。需要一些手段。
例如:从屏幕 x,y -> 每次横向或纵向固定移动,循环检测目标控件是否存在
设备中心手机被占用时,占用人超过30分钟之后没有进行操作 希望可以直接断掉,释放出来
在线WebView调试功能,特此记录不兼容的谷歌版本。后面将对不同版本的协议进行适配
目前在游戏这块,还无法用xpath来定位元素,暂时只能用图像识别,在做一些断言方面,不是那么的精准
Bug 描述
使用命令:sonic-ios-bridge devices,返回的是以下字符串:
00008030-001C18C41153402E online00008030-000A152A0CA0402E online00008110-001240CC3679801E onlineb099d666e3b5945cd15d48bc9f0567e23e619a59 online
getDeviceList()方法不应该是用substring吧,按下面的写法只能第一台接入的iOS手机能被识别,其它都远程不上。
版本
Sonic的版本号 | Sonic's 1.3.2release.
部署的系统(mac,windows32...) | mac
Thanks!
支持安卓的aab后缀安装包上传安装
Bug 描述
清晰地描述Bug的情况与详细复现步骤 | A clear and concise description of what the bug is.
使用19台设备批跑用例,用例执行完成购无法远控测试机器,重启Agent后解决
版本
Sonic的版本号 | Sonic's Version.
1.2.0 release
部署的系统(mac,windows32...) | System
linux
Agent的请求时间过短,导致cv请求失败
使用Appium xpath控件时 appium能运行 sonic的控件不能运行(具体看视频演示)
[Bug] A机器是部署agent的机器,部署完毕之后,A机器打开网页操控手机都OK,这时使用B机器打开网页,进入到设备列表操作设备,无法操作(A机器已经退出占用)
v2.4.2
agent部署平台:
ubuntu 18.04
[Bug] A机器是部署agent的机器,部署完毕之后,A机器打开网页操控手机都OK,这时使用B机器打开网页,进入到设备列表操作设备,无法操作(A机器已经退出占用)
Bug 描述
清晰地描述Bug的情况与详细复现步骤 | A clear and concise description of what the bug is.
adbkit启动失败导致adb远程无法使用,adb devices显示offline(已定位问题,adbkit指令未加引号导致)
版本
Sonic的版本号 | Sonic's Version.
v1.2.0-release
部署的系统(mac,windows32...) | System
mac 10.14.6
Bug 描述
只重启server端时,agent端重连没有发送设备状态
版本
Sonic的版本号 | 所有
部署的系统 | 所有
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.