AirtestIDE
AirtestIDE copied to clipboard
在Airtest中执行元素遍历后,移除TCP连接报错10061
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] 由于目标计算机积极拒绝,无法连接。',))
============================================================