我们一直在尝试使用Acumatica测试框架,但遗憾的是我们无法让我们的测试正常运行。
我们已按照文档的步骤逐步设置测试。当我们运行测试时,Firefox启动并正确加载登录页面。用户名和密码将与公司一起自动输入。登录页面成功完成,但随后导致错误。
错误是在指定的超时时间内等待WaitForCallbackToStart条件超时:500ms'
似乎测试无法识别登录成功。 我想我设法确定了检查登录是否成功的代码:
"try\r\n{\r\n var win = window == window.top || !window.top.frames['main'] ? window : window.top.frames['main'];\r\n if (win.document.activePanel && win.document.activePanel.getInnerWindow()) win = win.document.activePanel.getInnerWindow();\r\n if (win.px_callback && (win.px_callback.waitCallback || win.px_callback.pendingCallbacks.length)) return true;\r\n else if (win.px_all) for(var item in win.px_all) if (win.px_all[item].callback) return true;\r\n return false;\r\n}\r\ncatch (e)\r\n{\r\n if (e.message.indexOf('denied') != -1 || e.message.indexOf('cross-origin') != -1) return true;\r\n else return false;\r\n}"
这表示一个JavaScript代码,它通过Selenium执行以识别页面是否已加载。
但是,上面的代码返回false。测试框架继续定期调用此代码,直到它返回true(或超时)。在我的情况下,它永远不会返回真实和超时。
我们尝试过不同版本的Acumatica以及不同的机器。但它总会导致同样的错误。
我收到了以下错误的屏幕截图。
答案 0 :(得分:1)
在Exception设置区域中的Visual Studio对话框中设置复选框在抛出此异常类型时中断等于 false 并继续执行测试。此异常由 LoginToDestinationSite 功能中的Test SDK处理,您不需要处理它。