Airtest 关于使用 iOS 的弹窗接口出现 “WDARequestError” 报错的问题说明

fishfish-yu · 2022年04月15日 · 2769 次阅读

预告:近期我们也会更新 iOS-Tagent,届时可以直接使用我们最新的 iOS-Tagent,同学们可以关注后续我们的更新信息。

最近我们发现经常有一些同学在使用我们 iOS 弹窗处理接口时,容易出现一个 WDARequestError 的报错:

Traceback (most recent call last):
  File "airtest/cli/runner.py", line 70, in runTest
  File "/Users/han/Documents/11.air/11.py", line 14, in <module>
    ios.alert_accept()
  File "/Applications/AirtestIDE.app/Contents/MacOS/airtest/core/ios/ios.py", line 34, in wrapper
    return func(self, *args, **kwargs)
  File "/Applications/AirtestIDE.app/Contents/MacOS/airtest/core/ios/ios.py", line 583, in alert_accept
    return self.driver.alert.accept()
  File "site-packages/wda/__init__.py", line 1144, in accept
  File "site-packages/wda/utils.py", line 47, in _inner
  File "site-packages/wda/__init__.py", line 454, in _fetch
  File "site-packages/wda/__init__.py", line 124, in httpdo
  File "site-packages/wda/__init__.py", line 180, in _unsafe_httpdo
wda.exceptions.WDAUnknownError: WDARequestError(status=110, value={'error': 'unknown error', 'message': '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil'})

这是因为同学们部署的 WebDriverAgent 不是最新版本导致的,需要同学们 从 appium 的 github 上拉取下最新的 WebDriverAgent 重新部署到 iOS 设备上 ,即可正常使用我们的 iOS 弹窗处理接口:

最后补充一个小问题,很多同学在处理 iOS 的弹窗时发现,无论是使用 Airtest 的截图操作,还是 poco 的控件操作,都无法处理 iOS 弹窗,其实对于 iOS 设备,是有专门的弹窗处理接口的:

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册