Airtest icon indicating copy to clipboard operation
Airtest copied to clipboard

AirtestIDE连接夜神模拟器,执行脚本偶现socket connection broken

Open lidong342714677 opened this issue 5 years ago • 7 comments

描述问题bug

AirtestIDE连接夜神模拟器,执行脚本偶现socket connection broken

AirtestIDE控制台黑窗口相关报错信息: [01:46:22][DEBUG]<airtest.core.android.adb> C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell getprop ro.product.cpu.abi [01:46:22][DEBUG]<airtest.core.android.adb> C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell getprop ro.build.version.sdk [01:46:22][DEBUG]<airtest.core.android.adb> C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell ls /data/local/tmp/minitouch ; echo ---$?--- [01:46:22][DEBUG]<airtest.core.android.adb> C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell ls -l /data/local/tmp/minitouch ; echo ---$?--- [01:46:22][DEBUG]<airtest.core.android.minitouch> install_minitouch skipped [01:46:22][DEBUG]<airtest.core.android.adb> C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell dumpsys display [01:46:22][DEBUG]<airtest.core.android.adb> C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell dumpsys SurfaceFlinger ; echo ---$?--- [01:46:22][DEBUG]<airtest.core.android.adb> C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell getevent -p ; echo ---$?--- [01:46:22][DEBUG]<airtest.core.android.adb> C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 forward --no-rebind tcp:14059 localabstract:minitouch_14059 [01:46:22][DEBUG]<airtest.core.android.adb> C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell /data/local/tmp/minitouch -n 'minitouch_14059' 2>&1 [01:46:22][DEBUG]<airtest.utils.nbsp> [minitouch_server]b'Note: device /dev/input/mouse0 is not supported by libevdev' [01:46:22][DEBUG]<airtest.utils.nbsp> [minitouch_server]b'Note: device /dev/input/mice is not supported by libevdev' [01:46:22][DEBUG]<airtest.utils.nbsp> [minitouch_server]b'Type A touch device Android_Input (1080x2160 with 2 contacts) detected on /dev/input/event4 (score 11527)' [01:46:22][DEBUG]<airtest.core.android.minitouch> minitouch header:b'v 1\n^ 2 1080 2160 0\n$ 16312\n' [01:46:22][DEBUG]<airtest.utils.nbsp> [minitouch_server]b'Connection established'

AirtestIDE log查看窗报错信息 [Start running..] save log in 'C:/D/file/AirtestIDE_2019-01-15_py3_win64/project/log\bcbfd512e8adfea8c952ffac05d9d567' [01:47:19][DEBUG]<airtest.core.android.adb> C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 get-state [01:47:20][DEBUG]<airtest.core.android.adb> C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 wait-for-device [01:47:20][DEBUG]<airtest.core.android.adb> C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell getprop ro.build.version.sdk [01:47:20][DEBUG]<airtest.core.android.adb> C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 forward --no-rebind tcp:14790 tcp:15004 [rpc]connected [01:47:20][DEBUG]<airtest.core.android.adb> C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell dumpsys display [01:47:20][DEBUG]<airtest.core.android.adb> C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell dumpsys SurfaceFlinger ; echo ---$?--- [01:47:20][DEBUG]<airtest.core.android.adb> C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell getevent -p ; echo ---$?--- [01:47:20][DEBUG]<airtest.core.android.adb> C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell dumpsys package com.netease.nie.yosemite ; echo ---$?--- [01:47:21][INFO]<airtest.core.android.yosemite> local version code is 287, installed version code is 287 [01:47:21][DEBUG]<airtest.core.android.adb> C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 forward --no-rebind tcp:19052 localabstract:javacap_19052 [01:47:21][DEBUG]<airtest.core.android.adb> C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell pm path com.netease.nie.yosemite ; echo ---$?--- [01:47:22][DEBUG]<airtest.core.android.adb> C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell CLASSPATH=/data/app/com.netease.nie.yosemite-1/base.apk exec app_process /system/bin com.netease.nie.yosemite.Capture --scale 100 --socket javacap_19052 -lazy 2>&1 [01:47:22][DEBUG]<airtest.utils.nbsp> [javacap_sever]b'Capture server listening on @javacap_19052'

ERROR: runTest (app.widgets.code_runner.ide_launcher.AirtestIDECase)

Traceback (most recent call last): File "airtest\cli\runner.py", line 66, in runTest File "site-packages\six.py", line 693, in reraise File "airtest\cli\runner.py", line 62, in runTest File "C:\D\file\AirtestIDE_2019-01-15_py3_win64\project\testObject\sx\test1.air\test1.py", line 13, in poco(name = "Button_random").click() File "C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\poco\proxy.py", line 23, in wrapped return func(proxy, *args, **kwargs) File "C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\poco\proxy.py", line 285, in click ret = self.poco.click(pos_in_percentage) File "C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\poco\pocofw.py", line 248, in click ret = self.agent.input.click(pos[0], pos[1]) File "C:\D\file\AirtestIDE_2019-01-15_py3_win64\AirtestIDE\AirtestIDE_2019-01-15_py3_win64\poco\utils\airtest\input.py", line 65, in click touch(pos, duration=self.default_touch_down_duration) File "airtest\utils\logwraper.py", line 72, in wrapper File "airtest\core\api.py", line 256, in touch File "airtest\utils\logwraper.py", line 72, in wrapper File "airtest\core\cv.py", line 80, in try_log_screen File "airtest\core\android\android.py", line 220, in snapshot File "airtest\core\android\javacap.py", line 101, in get_frame_from_stream File "airtest\core\android\javacap.py", line 64, in get_frames File "airtest\utils\safesocket.py", line 32, in recv OSError: socket connection broken (贴出遇到问题时的截图内容,如果有的话) (在AirtestIDE里产生的图像和设备相关的问题,请贴一些AirtestIDE控制台黑窗口相关报错信息)

复现步骤 1.运行脚本: from airtest.core.api import * auto_setup(file) from poco.drivers.std import StdPoco poco = StdPoco() poco(name = "Button_random").click() 偶现报OSError: socket connection broken错误

python 版本: python3.7.4 airtest 版本: 1.0.27

设备:

  • 型号:夜神模拟器 6.3.0.0
  • 系统: Android 5
  • 模拟器-系统设置-属性设置-手机型号-预设型号 samsung Sm-G955F

其他相关环境信息

lidong342714677 avatar Oct 14 '19 05:10 lidong342714677

这个问题暂时还没有能够定位到实际报错的原因,如果你这里能够发现稳定重现这个问题的办法的话,欢迎后续继续反馈给我们

yimelia avatar Oct 14 '19 07:10 yimelia

同问。也是在连接夜神模拟器,使用poco操作元素的过程中,会有socket connection broken,断开连接。猜测会不会是adb的问题?

+++++追问: airtest连接模拟器,在62001端口,走的是什么通讯协议呢?

var618 avatar Oct 15 '19 02:10 var618

@PaulCnth 走的是adb自带的tcp连接

yimelia avatar Oct 15 '19 02:10 yimelia

一样,连接夜神多开器,安卓7.0,运行脚本的时候经常报这个错 image

helencao818 avatar Apr 02 '20 10:04 helencao818

@helencao818 是否用了多线程进行截图? 尝试换多进程试试

yimelia avatar Apr 03 '20 01:04 yimelia

Same question. 偶现问题.

IcyW avatar Jan 12 '21 02:01 IcyW

问题+1

ivoidcat avatar Oct 10 '21 02:10 ivoidcat