Appium error: uncaughtException: Cannot read property 'executeAtom' of null

Appium error: uncaughtException: Cannot read property 'executeAtom' of null

我正在使用 Selenium 进行 iOS 移动应用程序测试。我正在使用各自

  1. Appium version 1.3.7
  2. Node JS version 2.7.5
  3. ios webkit debug proxy
  4. iPhone 5c
  5. Xcode version 6.1

我正在使用 shell 脚本帮助我检查 ios_webkit_debug_proxy 是否可用。如果不存在,2秒内,会启动ios_webkit_debug_proxy.

我的测试运行良好。但是在 appium 中仍然面临一些问题 Appium 肯定会停止 给出 uncaught exception: Cannot read property 'executeAtom' of null

我试过各种方法解决

  1. 重新启动 Appium 并再次 运行。
  2. 更新appium版本到稳定的最新版本1.4.0。但是 错误仍然存​​在。
  3. 更新节点 JS。
  4. Xcode 总是在 运行 执行时间内打开。
  5. 取消每次 WebDriverWait 发生前的隐式等待。 Link: http://chon.techliminal.com/ajax_wait/#/intro
  6. 在每个相关 class 中使用 java 未捕获的异常处理程序。 Link: https://bharatonjava.wordpress.com/2012/09/04/uncaughtexceptionhandler-in-java/

但仍然存在错误。 你能告诉我如何解决这个问题吗??

为了让您更好地理解,我附上了下面的日志文件。

info: [debug] [REMOTE] Sending javascript command
info: [debug] [REMOTE] Remote debugger data sent [{"method":"Runtime.evaluate","params":{"objectGroup":"console","includeCommandLineAPI":true,"doNotPauseOnExceptionsAndMuteConsole":true,"expression":"(function(){return function(){function h(a){return...]
Debugger web socket received data :  {"result":{"result":{"type":"string","value":"{\"status\":0,\"value\":[]}"},"wasThrown":false},"id":57}
info: [debug] Waited for 7659ms so far
info: --> POST /wd/hub/session/d102c79f-f695-4fbb-a020-45caf2af7b05/context {"name":"NATIVE_APP"}
info: [debug] Attempting to set context to 'NATIVE_APP'
info: [debug] Responding to client with success: {"status":0,"value":"","sessionId":"d102c79f-f695-4fbb-a020-45caf2af7b05"}
info:  POST /wd/hub/session/d102c79f-f695-4fbb-a020-45caf2af7b05/context {"name":"NATIVE_APP"}

info: [debug] Attempting to set context to 'NATIVE_APP'
info: [debug] Responding to client with success: {"status":0,"value":"","sessionId":"d102c79f-f695-4fbb-a020-45caf2af7b05"}
info: POST /wd/hub/session/d102c79f-f695-4fbb-a020-45caf2af7b05/context 200 0.862 ms - 74 {"status":0,"value":"","sessionId":"d102c79f-f695-4fbb-a020-45caf2af7b05"}
error: uncaughtException: Cannot read property 'executeAtom' of null date=Fri May 22 2015 11:40:38 GMT+0600 (BDT), pid=9153, uid=501, gid=20, cwd=/Applications/Appium.app/Contents/Resources/node_modules/appium, execPath=/Applications/Appium.app/Contents/Resources/node/bin/node, version=v0.12.1, argv=[/Applications/Appium.app/Contents/Resources/node/bin/node, /Applications/Appium.app/Contents/Resources/node_modules/appium/lib/server/main.js, --command-timeout, 7200, --platform-version, 7.1, --platform-name, iOS, --app, com.bjitgroup.putter, --udid, 0b72ccc692943f83fa2f83e78e8b3030a760fa5f, --device-name, iPhone 5], rss=218198016, heapTotal=187542272, heapUsed=76792360, loadavg=[1.51611328125, 1.689453125, 1.67431640625], uptime=71672, trace=[column=14, file=/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/ios/ios-controller.js,
 function=iOSController.executeAtom, line=647, method=executeAtom, native=false, column=10, file=/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/ios/ios-controller.js,
  function=, line=311, method=null, native=false, column=13, file=/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/common.js,
   function=, line=90, method=null, native=false, column=5, file=/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/common.js,
    function=, line=66, method=null, native=false, column=15, file=timers.js, function=Timer.listOnTimeout, line=110, method=listOnTimeout, native=false],
 stack=[TypeError: Cannot read property 'executeAtom' of null,
      at iOSController.executeAtom (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/ios/ios-controller.js:647:14),
           at null. (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/ios/ios-controller.js:311:10),
                at null. (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/common.js:90:13),
                     at null. (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/common.js:66:5),
                          at Timer.listOnTimeout (timers.js:110:15)]

请在 github 中关注此 link。由于异步错误,我有一个正在发生的解决方案。

https://github.com/appium/appium/issues/5177