GithubHelp home page GithubHelp logo

soniccloudorg / sonic-agent Goto Github PK

View Code? Open in Web Editor NEW
2.1K 19.0 462.0 186.6 MB

🎉Agent of Sonic cloud real machine platform. Sonic云真机平台Agent端。

Home Page: https://sonic-cloud.cn

License: GNU Affero General Public License v3.0

Java 99.70% Dockerfile 0.08% HTML 0.22%
automation appium java testing stf remote

sonic-agent's Introduction

🎉Agent of Sonic Cloud Real Machine Platform

English | 简体中文

Official Website

Sonic Official Website

Background

What is sonic ?

Sonic is a platform that integrates remote control debugging and automated testing of mobile devices, and strives to create a better use experience for global developers and test engineers.

If you want to participate, welcome to join us! 💪

If you want to support, you can give me a star. ⭐

Deploy

Look Here!

Package

Look Here!

Sponsors

Thank you to all our sponsors!

霍格沃兹测试开发学社

霍格沃兹测试开发学社 是业界领先的测试开发技术高端教育品牌,隶属于测吧(北京)科技有限公司 。学院课程由一线大厂测试经理与资深测试开发专家参与研发,实战驱动。课程涵盖 web/app

自动化测试、接口测试、性能测试、安全测试、持续集成/持续交付/DevOps,测试左移&右移、精准测试、测试平台开发、测试管理等内容,帮助测试工程师实现测试开发技术转型。通过优秀的学社制度(奖学金、内推返学费、行业竞赛等多种方式)来实现学员、学社及用人企业的三方共赢。进入测试开发技术能力测评!

LICENSE

License

sonic-agent's People

Contributors

aoliaoaoaojiao avatar caofengbin avatar cjlcgg avatar dependabot[bot] avatar forgetrelease avatar hellojuly2020 avatar jaywenstar avatar mmagi avatar upengfei avatar weixiao12345 avatar zhouyixun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sonic-agent's Issues

【Bug】Agent部署启动异常

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)

控件bug

使用appium 格式可以运行 但是sonic的控件就不能执行 具体操作看

test.mp4
test2.mp4

【Bug】

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 描述
关闭定时任务,操作远程控制,返回再次执行测试套件失败,无法执行测试用例。
详细描述:
执行测试套件失败,angent端log无任何打印,测试结果增加一条运行中... 貌似之前报错后没有恢复正常,重启电脑,重新部署未恢复.
版本
Sonic的版本号 | Sonic's Version. 版本号:v1.2.0-beta3
部署的系统(mac,windows32...) | System。:mac。系统版本:os11.4
agent报错log

【Bug】mac10.14.6系统上,adbkit启动失败,导致adb远程无法使用

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

A机器是部署agent的机器,部署完毕之后,A机器打开网页操控手机都OK,这时使用B机器打开网页,进入到设备列表操作设备,无法操作(A机器已经退出占用)

Search before asking

  • I searched in the issue and found nothing similar. | 我查找了并确认issue列表无相似报告。

Sonic version

[Bug] A机器是部署agent的机器,部署完毕之后,A机器打开网页操控手机都OK,这时使用B机器打开网页,进入到设备列表操作设备,无法操作(A机器已经退出占用)

v2.4.2

Deploy platform

agent部署平台:
ubuntu 18.04

Minimal reproduce step

[Bug] A机器是部署agent的机器,部署完毕之后,A机器打开网页操控手机都OK,这时使用B机器打开网页,进入到设备列表操作设备,无法操作(A机器已经退出占用)

Are you willing to submit a PR?

  • I'm willing to submit a PR! | 我将发起PR!

【优化】控制台日志打印完整线程名

  • 现控制台打印任务日志如下:
    image

    • 默认配置会截断一部分字符,当设备序列号过长时将会丢失重要的信息。
  • 为了更方便以后根据用户控制台截图日志排查问题,要将控制台的日志格式跟文件日志格式同步。

【Bug】IOS同时连接电脑问题

Bug 描述
清晰地描述Bug的情况与详细复现步骤 | A clear and concise description of what the bug is.
两台IOS设备同时连接电脑,会有一台被挤下线,但是tidevice list显示的是两台设备

版本
Sonic的版本号 | Sonic's Version.
部署的系统(mac,windows32...) | System

【Bug】

Bug 描述
清晰地描述Bug的情况与详细复现步骤 | A clear and concise description of what the bug is.

获取控件元素不全

没有获取到底部的一排导航控件,对比airtest 可以拿到

版本
Sonic的版本号 | Sonic's Version. v1.3.0-beta1.1
部署的系统 mac

【feat】脚本管理模块

现目前用的是airtest这套框架,脚本的运行也是基于airtest的,在一些专项测试中,往往使用脚本会更为的方便,建议做一个单独的脚本管理模块,在跑测的时候可以选择脚本来进行跑测,这样可以自定义一些测试方法,底层还是可以用airtest的方式来运行

【Bug】使用poco,出现 ConnectException: Connection refused: no further information

在提出此issue时,我确认了以下几点(保存后请点击复选框):

  • 我已自己确认这是Sonic自身的Bug。
  • 我接受此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

iOS手机只显示第一台,其它iOS手机没有显示。版本号:1.3.2-release

Bug 描述
使用命令:sonic-ios-bridge devices,返回的是以下字符串:
00008030-001C18C41153402E online00008030-000A152A0CA0402E online00008110-001240CC3679801E onlineb099d666e3b5945cd15d48bc9f0567e23e619a59 online

getDeviceList()方法不应该是用substring吧,按下面的写法只能第一台接入的iOS手机能被识别,其它都远程不上。

image

版本
Sonic的版本号 | Sonic's 1.3.2release.
部署的系统(mac,windows32...) | mac

【feat】iOS Component

1、Listen iOS Devices
2、UI testing for iOS Devices
3、Others like Android Component(Like remote)

1、监听iOS设备
2、iOS设备自动化
3、其他类似安卓的模块(远控等等)

【Bug】多台设备用例批跑后无法连接远程机器

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

【优化】固定adb远程的端口号

Bug 描述
清晰地描述Bug的情况与详细复现步骤 | A clear and concise description of what the bug is.

固定adb远程连接的端口号,或者固定在一个区间内,方便做映射

【Bug】控件BUG

使用Appium xpath控件时 appium能运行 sonic的控件不能运行(具体看视频演示)

test.mp4
test2.mp4

[Question] 2.0.5 升级到2.3.0 启动时无法连接server, 报 Server disconnected. Retry in 10s...

Search before asking

  • I searched in the issue and found nothing similar. | 我查找了并确认issue列表无相似报告。

Sonic version

2.3.0

Deploy platform

macosx-x86_64

Minimal reproduce step

启动后会出现连接不上,一直报下面日志,切换到 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...
image

Are you willing to submit a PR?

  • I'm willing to submit a PR! | 我将发起PR!

【Bug】测试套件测试结果推送数据与网页结果不一致

Bug 描述
清晰地描述Bug的情况与详细复现步骤 | A clear and concise description of what the bug is.
image
image
钉钉推送通过8异常2
点击链接查看结果通过9异常1

版本
1.2.0-release
Sonic的版本号 | Sonic's Version.
部署的系统(mac,windows32...) | System

【feat】滑动固定距离

场景: 一些控件可能开始不可见,需要滑动一些距离。如果直接使用控件 A->控件B,可能不可用。需要一些手段。
例如:从屏幕 x,y -> 每次横向或纵向固定移动,循环检测目标控件是否存在

【启动异常】

问题描述
前提:使用mac接入ios设备

步骤:使用命令行启动:java -Dfile.encoding=utf-8 -jar sonic-agent-macosx-x86_64.jar,系统会弹出:无法打开“sonic-go-mitmproxy”,因为 and 无法验证开发者无法打开“sonic-ios-bridge”,因为无法验证开发者
如图所示
image

版本
Sonic的版本号 | v1.3.2-beta
部署的系统 | MacOS

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.