AirtestProject / AirtestProject/Poco

使用pycharm执行用例脚本过程中,出现 http.client.BadStatusLine、urllib3.exceptions.ProtocolError、requests.exceptions.ConnectionError、hrpc.exceptions.TransportDisconnected等多个exception

Abierto
#304 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
2k
Forks
341
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

(请尽量按照下面提示内容填写,有助于我们快速定位和解决问题,感谢配合。否则直接关闭。)

**(重要!问题分类)**
* 图像识别相关问题 -> https://github.com/AirtestProject/Airtest/issues
* 测试开发环境AirtestIDE使用问题 -> https://github.com/AirtestProject/AirtestIDE/issues
* 控件识别、树状结构、poco库报错 -> 此仓库

**描述问题bug**
(简洁清晰得概括一下遇到的问题是什么。或者是报错的traceback信息。)
使用pycharm执行用例脚本过程中,出现 http.client.BadStatusLine、urllib3.exceptions.ProtocolError、requests.exceptions.ConnectionError、hrpc.exceptions.TransportDisconnected等多个exception;导致测试结束
非必现,偶现问题
出现的时候,脚本中走到执行swipe操作的地方

```
(在这里粘贴traceback或其他报错信息)
```
Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\urllib3\connectionpool.py", line 672, in urlopen
chunked=chunked,
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\urllib3\connectionpool.py", line 421, in _make_request
six.raise_from(e, None)
File "", line 3, in raise_from
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\urllib3\connectionpool.py", line 416, in _make_request
httplib_response = conn.getresponse()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\http\client.py", line 1331, in getresponse
response.begin()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\http\client.py", line 297, in begin
version, status, reason = self._read_status()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\http\client.py", line 279, in _read_status
raise BadStatusLine(line)
http.client.BadStatusLine: {"id":"aec5fea5-6b93-42cf-b619-c0e5cb10792f","session_id":"d1ef4f4a-4361-468d-b155-91f835024183","result":1}HTTP/1.1 200 OK

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\requests\adapters.py", line 449, in send
timeout=timeout
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\urllib3\connectionpool.py", line 720, in urlopen
method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\urllib3\util\retry.py", line 400, in increment
raise six.reraise(type(error), error, _stacktrace)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\urllib3\packages\six.py", line 734, in reraise
raise value.with_traceback(tb)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\urllib3\connectionpool.py", line 672, in urlopen
chunked=chunked,
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\urllib3\connectionpool.py", line 421, in _make_request
six.raise_from(e, None)
File "", line 3, in raise_from
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\urllib3\connectionpool.py", line 416, in _make_request
httplib_response = conn.getresponse()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\http\client.py", line 1331, in getresponse
response.begin()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\http\client.py", line 297, in begin
version, status, reason = self._read_status()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\http\client.py", line 279, in _read_status
raise BadStatusLine(line)
urllib3.exceptions.ProtocolError: ('Connection aborted.', BadStatusLine('{"id":"aec5fea5-6b93-42cf-b619-c0e5cb10792f","session_id":"d1ef4f4a-4361-468d-b155-91f835024183","result":1}HTTP/1.1 200 OK \r\n',))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\hrpc\transport\http.py", line 23, in send
r = requests.post(self.endpoint, data=json.dumps(req), headers={'Content-Type': 'application/json'})
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\requests\api.py", line 116, in post
return request('post', url, data=data, json=json, **kwargs)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\requests\api.py", line 60, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\requests\sessions.py", line 533, in request
resp = self.send(prep, **send_kwargs)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\requests\sessions.py", line 646, in send
r = adapter.send(request, **kwargs)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\requests\adapters.py", line 498, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine('{"id":"aec5fea5-6b93-42cf-b619-c0e5cb10792f","session_id":"d1ef4f4a-4361-468d-b155-91f835024183","result":1}HTTP/1.1 200 OK \r\n',))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "F:/record/testphone.py", line 116, in
poco("com.iflytek.autofly.phone:id/Z").swipe([-0.6794, -0.0206])
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\poco\proxy.py", line 23, in wrapped
return func(proxy, *args, **kwargs)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\poco\proxy.py", line 457, in swipe
origin = self.get_position(focus)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\poco\proxy.py", line 72, in wrapped
return func(proxy, *args, **kwargs)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\poco\proxy.py", line 613, in get_position
pos = self.attr('pos')
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\poco\proxy.py", line 39, in wrapped
return func(self, *args, **kwargs)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\poco\proxy.py", line 734, in attr
nodes = self._do_query(multiple=False)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\poco\proxy.py", line 874, in _do_query
while (len(self._nodes) == 0):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\hrpc\object_proxy.py", line 61, in __len__
length = self._client__.evaluate(RpcObjectProxy(self._uri__, self._client__, path, self))
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\hrpc\client.py", line 63, in evaluate
self.transport.send({'id': reqid, 'uri': obj_proxy._uri__, 'method': obj_proxy._invocation_path__})
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\hrpc\transport\http.py", line 26, in send
raise TransportDisconnected(e)
hrpc.exceptions.TransportDisconnected: ('Connection aborted.', BadStatusLine('{"id":"aec5fea5-6b93-42cf-b619-c0e5cb10792f","session_id":"d1ef4f4a-4361-468d-b155-91f835024183","result":1}HTTP/1.1 200 OK \r\n',))
[08:39:19][DEBUG] C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -s 1904700e82963f70 forward --remove tcp:11346
[08:39:20][DEBUG] C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -s 1904700e82963f70 forward --remove tcp:11469
[08:39:20][DEBUG] C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -s 1904700e82963f70 forward --remove tcp:19593
[08:39:20][DEBUG] C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -s 1904700e82963f70 forward --remove tcp:19243
[08:39:20][DEBUG] orientationWatcher has ended
Exception ignored in: '>
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=11469): Max retries exceeded with url: / (Caused by NewConnectionError(': Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。',))
**复现步骤**
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**预期效果**
(预期想要得到什么、见到什么)

**相关截图**
(贴出遇到问题时的截图内容,如果有的话)
![image](https://user-images.githubusercontent.com/15181205/67834957-b6c06500-fb23-11e9-9560-1d214a7c9a99.png)
![image](https://user-images.githubusercontent.com/15181205/67834979-c50e8100-fb23-11e9-9541-aaa1c49460b3.png)
![image](https://user-images.githubusercontent.com/15181205/67834986-cdff5280-fb23-11e9-876f-9f032c368280.png)
![image](https://user-images.githubusercontent.com/15181205/67834997-d6f02400-fb23-11e9-96e8-7413cae3b1de.png)

**python 版本:** `python3.6`

**poco 版本:** `1.0.78`
> poco版本通过`pip freeze`可以命令可以查到

**设备:**
- 电脑win 7
- 测试设备系统: 安卓9
- (别的信息)
![image](https://user-images.githubusercontent.com/15181205/67835161-4403b980-fb24-11e9-997a-887730ef1ec7.png)

**其他相关环境信息**
暂无

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.