AirtestIDE icon indicating copy to clipboard operation
AirtestIDE copied to clipboard

在Airtest中执行元素遍历后,移除TCP连接报错10061

Open vv-l opened this issue 4 years ago • 0 comments

bug描述 在Airtest中执行元素遍历后,移除TCP连接报错10061,问题固定出现,遍历APP,尝试两个页面均有出现该情况。 单独执行代码块是成功的,注释for循环时,remove tcp是正常的。 复现步骤:

-- encoding=utf8 --

author = "Administrator"

from airtest.core.api import * from airtest.cli.parser import cli_setup

if not cli_setup(): auto_setup(file, logdir=True, devices=["android://127.0.0.1:5037/127.0.0.1:62001?cap_method=JAVACAP&&ori_method=ADBORI&&touch_method=MINITOUCH"])

from poco.drivers.android.uiautomation import AndroidUiautomationPoco poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)

print("start...")

list1=poco("android.widget.LinearLayout").offspring("android:id/content").offspring("androidx.recyclerview.widget.RecyclerView").child("android.widget.FrameLayout").offspring("com.smart.cloud.manage:id/rv_identity").child("com.smart.cloud.manage:id/cl_main")

for i in list1: print(i)

print('end')

python 版本: python 3.6.5

操作系统:Windows7 64bit

手机设备信息:

  • 手机型号: 夜神模拟器 7.0.1.3
  • Android系统版本号: [e.g. Android 7.1.2]
  • (别的信息)

截屏 1.单独执行代码块: [DEBUG][Start debugging...] D:\Airtest\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 get-state D:\Airtest\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 wait-for-device D:\Airtest\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell getprop ro.build.version.sdk D:\Airtest\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell dumpsys activity top D:\Airtest\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell dumpsys package com.netease.open.pocoservice D:\Airtest\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell dumpsys package com.netease.open.pocoservice.test D:\Airtest\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 forward --no-rebind tcp:16369 tcp:10080 D:\Airtest\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 forward --no-rebind tcp:18215 tcp:10081 D:\Airtest\AirtestIDE\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell ps |echo $(grep -E com.github.uiautomator) UIObjectProxy of "android.widget.LinearLayout>android:id/content>androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout>com.smart.cloud.manage:id/rv_identity/com.smart.cloud.manage:id/cl_main[0]" UIObjectProxy of "android.widget.LinearLayout>android:id/content>androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout>com.smart.cloud.manage:id/rv_identity/com.smart.cloud.manage:id/cl_main[1]" UIObjectProxy of "android.widget.LinearLayout>android:id/content>androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout>com.smart.cloud.manage:id/rv_identity/com.smart.cloud.manage:id/cl_main[2]" UIObjectProxy of "android.widget.LinearLayout>android:id/content>androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout>com.smart.cloud.manage:id/rv_identity/com.smart.cloud.manage:id/cl_main[3]" UIObjectProxy of "android.widget.LinearLayout>android:id/content>androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout>com.smart.cloud.manage:id/rv_identity/com.smart.cloud.manage:id/cl_main[4]" end

[DEBUG][End debugging....]

2.注释for循环

"C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe" -u "D:\python_test\Airtest\logts.py"

[Start running..] no cmdline args [09:33:55][DEBUG]<airtest.core.android.adb> C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 get-state [09:33:55][DEBUG]<airtest.core.android.adb> C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 wait-for-device [09:33:55][DEBUG]<airtest.core.android.adb> C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell getprop ro.build.version.sdk [09:33:56][DEBUG]<airtest.core.android.adb> C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell dumpsys activity top [09:33:56][DEBUG]<airtest.core.android.adb> C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell dumpsys package com.netease.open.pocoservice [09:33:56][DEBUG]<airtest.core.android.adb> C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell dumpsys package com.netease.open.pocoservice.test [09:33:56][DEBUG]<airtest.core.android.adb> C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 forward --no-rebind tcp:13235 tcp:10080 [09:33:56][DEBUG]<airtest.core.android.adb> C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 forward --no-rebind tcp:19743 tcp:10081 [09:33:56][DEBUG]<airtest.core.android.adb> C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell ps |echo $(grep -E com.github.uiautomator) start... end [09:33:56][DEBUG]<airtest.core.android.adb> C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 forward --remove tcp:13235 [09:33:56][DEBUG]<airtest.core.android.adb> C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 forward --remove tcp:19743 [Finished]

3.异常情况复现

"C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe" -u "D:\python_test\Airtest\logts.py"

[Start running..] no cmdline args [09:34:23][DEBUG]<airtest.core.android.adb> C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 get-state [09:34:23][DEBUG]<airtest.core.android.adb> C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 wait-for-device [09:34:23][DEBUG]<airtest.core.android.adb> C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell getprop ro.build.version.sdk [09:34:24][DEBUG]<airtest.core.android.adb> C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell dumpsys activity top [09:34:24][DEBUG]<airtest.core.android.adb> C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell dumpsys package com.netease.open.pocoservice [09:34:24][DEBUG]<airtest.core.android.adb> C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell dumpsys package com.netease.open.pocoservice.test [09:34:24][DEBUG]<airtest.core.android.adb> C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 forward --no-rebind tcp:19980 tcp:10080 [09:34:24][DEBUG]<airtest.core.android.adb> C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 forward --no-rebind tcp:16887 tcp:10081 [09:34:24][DEBUG]<airtest.core.android.adb> C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 shell ps |echo $(grep -E com.github.uiautomator) start... UIObjectProxy of "android.widget.LinearLayout>android:id/content>androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout>com.smart.cloud.manage:id/rv_identity/com.smart.cloud.manage:id/cl_main[0]" UIObjectProxy of "android.widget.LinearLayout>android:id/content>androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout>com.smart.cloud.manage:id/rv_identity/com.smart.cloud.manage:id/cl_main[1]" UIObjectProxy of "android.widget.LinearLayout>android:id/content>androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout>com.smart.cloud.manage:id/rv_identity/com.smart.cloud.manage:id/cl_main[2]" UIObjectProxy of "android.widget.LinearLayout>android:id/content>androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout>com.smart.cloud.manage:id/rv_identity/com.smart.cloud.manage:id/cl_main[3]" UIObjectProxy of "android.widget.LinearLayout>android:id/content>androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout>com.smart.cloud.manage:id/rv_identity/com.smart.cloud.manage:id/cl_main[4]" end [09:34:24][DEBUG]<airtest.core.android.adb> C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 forward --remove tcp:19980 [09:34:24][DEBUG]<airtest.core.android.adb> C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s 127.0.0.1:62001 forward --remove tcp:16887 Exception ignored in: <bound method RpcObjectProxy.del of '<Rpc remote object proxy of com.netease.open.libpoco.Node@357f7ee>'> Traceback (most recent call last): File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\hrpc\object_proxy.py", line 114, in del File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\hrpc\client.py", line 63, in evaluate File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\hrpc\transport\http.py", line 26, in send hrpc.exceptions.TransportDisconnected: HTTPConnectionPool(host='127.0.0.1', port=16887): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x000000000AB624A8>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。',))

Exception ignored in: <bound method RpcObjectProxy.del of '<Rpc remote object proxy of [Lcom.netease.open.libpoco.sdk.AbstractNode;@af30b6d>'> Traceback (most recent call last): File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\hrpc\object_proxy.py", line 114, in del File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\hrpc\client.py", line 63, in evaluate File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\hrpc\transport\http.py", line 26, in send hrpc.exceptions.TransportDisconnected: HTTPConnectionPool(host='127.0.0.1', port=16887): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x000000000A931240>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。',))

============================================================

vv-l avatar Jul 16 '21 01:07 vv-l