openatx / facebook-wda

Facebook WebDriverAgent Python Client Library (not official)
MIT License
1.71k stars 266 forks source link

【iOS】airtest自动化WDA底层频繁报错:RuntimeError: call depth exceed 4 #1104 #127

Open chaoyuebaihu opened 1 year ago

chaoyuebaihu commented 1 year ago

(重要!问题分类)

测试开发环境AirtestIDE使用问题 描述问题bug (简洁清晰得概括一下遇到的问题是什么。或者是报错的traceback信息。) Traceback (most recent call last): File "/Users/jun.zhangzj/Documents/code/applib/test/monkey/ios/test_ios_monkey.py", line 90, in test_monkey_SG ios.login_app(usr=extra_data["username"], pwd=extra_data["password"], File "/Users/jun.zhangzj/Documents/code/applib/applib/api/device.py", line 170, in login_app device_obj = connect_device("iOS:///{}:{}".format(host, port)) File "/Users/jun.zhangzj/Documents/code/applib/venv/lib/python3.9/site-packages/airtest/core/api.py", line 76, in connect_device dev = init_device(platform, uuid, params) File "/Users/jun.zhangzj/Documents/code/applib/venv/lib/python3.9/site-packages/airtest/core/api.py", line 43, in init_device dev = cls(uuid, kwargs) File "/Users/jun.zhangzj/Documents/code/applib/venv/lib/python3.9/site-packages/airtest/core/ios/ios.py", line 109, in init info = self.device_info File "/Users/jun.zhangzj/Documents/code/applib/venv/lib/python3.9/site-packages/airtest/core/ios/ios.py", line 212, in device_info self._device_info = self.driver.info File "/Users/jun.zhangzj/Documents/code/applib/venv/lib/python3.9/site-packages/wda/init.py", line 762, in info return self.device_info() File "/Users/jun.zhangzj/Documents/code/applib/venv/lib/python3.9/site-packages/wda/init.py", line 747, in device_info return self._session_http.get("/wda/device/info").value File "/Users/jun.zhangzj/Documents/code/applib/venv/lib/python3.9/site-packages/wda/utils.py", line 47, in _inner return fn(*args, kwargs) File "/Users/jun.zhangzj/Documents/code/applib/venv/lib/python3.9/site-packages/wda/init.py", line 457, in _fetch url = urljoin(self.__wda_url, "session", self.session_id, File "/Users/jun.zhangzj/Documents/code/applib/venv/lib/python3.9/site-packages/wda/init.py", line 693, in session_id current_sid = self.status()['sessionId'] File "/Users/jun.zhangzj/Documents/code/applib/venv/lib/python3.9/site-packages/decorator.py", line 232, in fun return caller(func, *(extras + args), *kw) File "/Users/jun.zhangzj/Documents/code/applib/venv/lib/python3.9/site-packages/retry/api.py", line 73, in retry_decorator return __retry_internal(partial(f, args, kwargs), exceptions, tries, delay, max_delay, backoff, jitter, File "/Users/jun.zhangzj/Documents/code/applib/venv/lib/python3.9/site-packages/retry/api.py", line 33, in __retry_internal return f() File "/Users/jun.zhangzj/Documents/code/applib/venv/lib/python3.9/site-packages/wda/init.py", line 385, in status res = self.http.get('status') File "/Users/jun.zhangzj/Documents/code/applib/venv/lib/python3.9/site-packages/wda/utils.py", line 43, in _inner raise RuntimeError("call depth exceed %d" % n) RuntimeError: call depth exceed 4

(在这里粘贴traceback或其他报错信息) 相关截图 image

复现步骤 Python执行脚本,很容易遇到此问题,导致代码无法继续执行

wangchy0927 commented 1 year ago

重新获取一下session id即可 try: run_monkey() except Exception as e: print(e) driver = wda.Client('http://localhost:' + port) session = driver.session(pkg)