【发布时间】:2016-02-05 04:13:59
【问题描述】:
我正在使用 Protractor 运行测试。它以随机顺序失败,并非总是如此,但从 6 次中 5 次失败,并出现类似的堆栈跟踪。请有人帮助了解此功能并找到问题开始的地方,以便有可能查看并修复? 这是一个堆栈跟踪:
[失败的] UnknownError:未知错误:未定义 updateWindow JavaScript 堆栈: ReferenceError:未定义更新窗口 在 eval (eval at executeAsyncScript (unknown source), :2:9) 在 executeAsyncScript (:314:26) 在 apply.state (:330:29) 在 callFunction (:222:33) 在 apply.state (:232:23) 在:233:3 在 Object.InjectedScript.evaluateOn (:904:140) 在 Object.InjectedScript._evaluateAndWrap (:837:34) 在 Object.InjectedScript.evaluate (:693:21) (会话信息:chrome=45.0.2454.85) (驱动程序信息:chromedriver=2.10.267521,平台=Windows NT 6.3 x86_64) (警告:服务器未提供任何堆栈跟踪信息) 命令持续时间或超时:667 毫秒 驱动程序信息:org.openqa.selenium.chrome.ChromeDriver 功能 [{platform=WIN8,acceptSslCerts=true,javascriptEnabled=true,browserName=chrome,chrome={userDataDir=scoped_dir7276_31813},rotatable=false,locationContextEnabled=true,版本=45.0.2454.85,takesHeapSnapshot=true,cssSelectorsEnabled=true,databaseEnabled =false,handlesAlerts=true,browserConnectionEnabled=false,webStorageEnabled=true,nativeEvents=true,applicationCacheEnabled=false,takeScreenshot=true}] 在新的 bot.Error (npm\node_modules\protractor\node_modules\selenium-webdriver\lib\atoms\error.js:113:18) 在 Object.bot.response.checkResponse (npm\node_modules\protractor\node_modules\selenium-webdriver\lib\atoms\response.js:106:9) 在 npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:377:20 在 [object Object].promise.ControlFlow.runInFrame (npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:1877:20) 在 [object Object].promise.Callback_.goog.defineClass.notify (npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:2464:25) 在 [object Object].promise.Promise.notify_ (npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:563:12) 在 Array.forEach (本机) 在 Object.goog.array.forEach (npm\node_modules\protractor\node_modules\selenium-webdriver\lib\goog\array\array.js:203:43) 在 [object Object].promise.Promise.notifyAll_ (npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:552:16) 在 goog.async.run.processWorkQueue (npm\node_modules\protractor\node_modules\selenium-webdriver\lib\goog\async\run.js:125:21) 来自:任务:异步测试函数:it() 在 [对象对象]。 (npm\node_modules\protractor\node_modules\jasminewd\index.js:93:33) 在 [对象对象]。 (npm\node_modules\protractor\node_modules\minijasminenode\lib\async-callback.js:45:37) 在 [object Object].jasmine.Block.execute (npm\node_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:1174:17) 在 [object Object].jasmine.Queue.next_ (npm\node_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:2209:31) 在 [object Object].onTimeout (npm\node_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:2199:18) 在 Timer.listOnTimeout (timers.js:119:15) ==== 异步任务 ==== 错误 在 [对象对象]。 (loginSpec.js:3:5) 在 [object Object].jasmine.Env.describe (npm\node_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:913:21) 在 [object Object].jasmine.Env.describe (npm\node_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:898:15) 在描述(npm\node_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js:658:27) 在对象。 (loginSpec.js:1:63) 在 Module._compile (module.js:460:26) 在 Object.Module._extensions..js (module.js:478:10) 在 Module.load (module.js:355:32) 在 Function.Module._load (module.js:310:12)【问题讨论】:
-
你能展示你的代码失败的地方吗?如果不查看您的代码,我们无法提出任何建议。谢谢
-
在您的代码中查找名为 updateWindow 的函数。当它被调用时,它没有被定义。最常见的原因是试图在“this”对象上调用它。
-
我没有以这种方式调用的函数和参数...它位于我的代码上方...我在文件 pako.js 和 pako_inflate.js 的 node_modules 中找到它...
标签: npm protractor node-modules