Appium错误:uncaughtException:无法读取属性' executeAtom'为null

时间:2015-05-22 12:01:50

标签: javascript ios automated-tests appium ios-ui-automation

我正在使用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
  6. 我正在使用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. 更新Node JS。
    4. Xcode始终在运行执行时打开。
    5. 在每个WebDriverWait发生之前使隐式等待无效。 链接:http://chon.techliminal.com/ajax_wait/#/intro
    6. 在每个相关类中使用java uncaught异常处理程序。链接: https://bharatonjava.wordpress.com/2012/09/04/uncaughtexceptionhandler-in-java/
    7. 但仍然存在错误。 请您建议我如何解决这个问题?

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

      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)]

1 个答案:

答案 0 :(得分:0)

请在github中关注此链接。由于异步错误,我得到了一个正在发生的解决方案。

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