我正在使用Selenium进行iOS移动应用测试。我正在使用各自
Appium version 1.3.7
Node JS version 2.7.5
ios webkit debug proxy
iPhone 5c
Xcode version 6.1
我正在使用一个Shell脚本来帮助我检查ios_webkit_debug_proxy是否可用。如果不存在,则将在2秒钟内启动ios_webkit_debug_proxy。
我的测试运行良好。但是在appium中仍然面临一些问题,即
Appium已被停止给出了
uncaught exception: Cannot read property 'executeAtom' of null
我试图以各种方式解决。
重新启动Appium并再次运行。
将appium版本更新为稳定的最新版本1.4.0。但是
错误仍然存在。
更新Node JS。
Xcode总是在运行执行时打开。
隐式取消每次WebDriverWait发生之前的隐式等待。
链接:http://chon.techliminal.com/ajax_wait/#/intro
在每个相关类中使用Java未捕获的异常处理程序。链接:
https://bharatonjava.wordpress.com/2012/09/04/uncaughtexceptionhandler-in-java/
但是仍然存在错误。
您能否建议我如何解决这个问题?
为了您更好的理解,我将在下面附加日志文件。
信息:[调试] [删除]发送javascript命令
信息:[调试] [远程]发送远程调试器数据[{“” method“:” Runtime.evaluate“,” params“:{” objectGroup“:” console“,” includeCommandLineAPI“:true,” doNotPauseOnExceptionsAndMuteConsole“:true,” expression“:”“(function(){return function(){function h(a){return ...]
调试器Web套接字收到的数据:{“结果”:{“结果”:{“类型”:“字符串”,“值”:“{\”状态\“:0,\”值\“:[]}”} ,“wasThrown”:false},“id”:57}
信息:[调试]到目前为止已等待7659ms
信息:-> POST / wd / hub / session / d102c79f-f695-4fbb-a020-45caf2af7b05 / context {“name”:“NATIVE_APP”}
信息:[调试]尝试将上下文设置为“NATIVE_APP”
信息:[调试]成功响应客户端:{“状态”:0,“值”:“”,“sessionId”:“d102c79f-f695-4fbb-a020-45caf2af7b05”}
信息:POST / wd / hub / session / d102c79f-f695-4fbb-a020-45caf2af7b05 / context {“name”:“NATIVE_APP”}
信息:[调试]尝试将上下文设置为“NATIVE_APP”
信息:[调试]成功响应客户端:{“状态”:0,“值”:“”,“sessionId”:“d102c79f-f695-4fbb-a020-45caf2af7b05”}
信息:POST / wd / hub / session / d102c79f-f695-4fbb-a020-45caf2af7b05 / context 200 0.862 ms-74 {“status”:0,“value”:“”,“sessionId”:“d102c79f-f695-4fbb -a020-45caf2af7b05“}
错误:uncaughtException:无法读取null日期=周五的属性'executeAtom'=星期五2015年5月22日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,版本= 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.668925125,up 1.674316 = 71672,跟踪= [列= 14,文件= / 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-ios-controller.js ,
函数=,行= 311,方法=空,本机=假,列= 13,文件= / Applications / Appium.app / Contents / Resources / node_modules / appium / lib / devices / common.js,
函数=,行= 90,方法=空,本机=假,列= 5,文件= / 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:无法读取null的属性'executeAtom',
在iOSController.executeAtom(/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/ios/ios-iosler.js:647:14),
为空。 (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/ios/ios-ios-controller.js:311:10),
为空。 (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/common.js:90:13),
为空。 (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/common.js:66:5),
在Timer.listOnTimeout(timers.js:110:15)]
我是一名优秀的程序员,十分优秀!