AirtestProject / Poco

A cross-engine test automation framework based on UI inspection
http://airtest.netease.com/
Apache License 2.0
1.74k stars 314 forks source link

poco http refuse #186

Open StevenXUzw opened 5 years ago

StevenXUzw commented 5 years ago

Remove any following parts if does not have details about

Describe the bug 问题是偶现的,android7.1手机,频率:20%

../../../.local/lib/python3.5/site-packages/poco/proxy.py:72: in wrapped
    return func(proxy, *args, **kwargs)
../../../.local/lib/python3.5/site-packages/poco/proxy.py:774: in exists
    return self.attr('visible')
../../../.local/lib/python3.5/site-packages/poco/proxy.py:39: in wrapped
    return func(self, *args, **kwargs)
../../../.local/lib/python3.5/site-packages/poco/proxy.py:734: in attr
    nodes = self._do_query(multiple=False)
../../../.local/lib/python3.5/site-packages/poco/proxy.py:872: in _do_query
    self._nodes = self.poco.agent.hierarchy.select(self.query, multiple)
../../../.local/lib/python3.5/site-packages/poco/utils/retry.py:20: in wrapped
    raise ex
../../../.local/lib/python3.5/site-packages/poco/utils/retry.py:15: in wrapped
    return func(*args, **kwargs)
../../../.local/lib/python3.5/site-packages/poco/utils/hrpc/hierarchy.py:33: in select
    return self.selector.select(query, multiple)
../../../.local/lib/python3.5/site-packages/hrpc/object_proxy.py:92: in __call__
    return self._client__.evaluate(self.__call_no_evaluate__(remote_obj_cache, *args))
../../../.local/lib/python3.5/site-packages/hrpc/client.py:63: in evaluate
    self.transport.send({'id': reqid, 'uri': obj_proxy._uri__, 'method': obj_proxy._invocation_path__})
self = <hrpc.transport.http.HttpTransport object at 0x7faa6818b978>
req = {'id': '051d4de0-a238-4eaf-af08-a2e1d9523a76', 'method': (('getattr', 'selector'), ('getattr', 'select'), ('call', (('...', (...))), ('', False)))), 'session_id': '797fc382-a8b1-47a3-9440-c853748e7cb2', 'uri': 'poco-uiautomation-framework'}

    def send(self, req):
        req['session_id'] = self.session_id
        try:
            r = requests.post(self.endpoint, data=json.dumps(req), headers={'Content-Type': 'application/json'})
            self.rpc_client.put_response(r.json())
        except (ConnectionError, ValueError) as e:
>           raise TransportDisconnected(e)
E           hrpc.exceptions.TransportDisconnected: HTTPConnectionPool(host='127.0.0.1', port=15687): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7faa681baef0>: Failed to establish a new connection: [Errno 111] Connection refused',))

To Reproduce Steps to reproduce the behaviour:

  1. poco("***").exists()

Expected behaviour

Screenshots none

python version: python3.5

poco version: 1.0.76

You can get poco version via pip freeze command.

Smartphone (please complete the following information):

Additional context Add any other context about the problem here.

yimelia commented 5 years ago

可能是adb forward挂了,或者是pocoservice挂了。可以在挂掉的时候执行一下 adb forward --list 看看