Uploaded image for project: 'Embedded Jopr'
  1. Embedded Jopr
  2. EMBJOPR-101

Nav tree JS object (Tree.Item) is not ready after page refresh, causing ScriptException: TypeError: Cannot call method "fireExpansionEvent"

    Details

      Description

      Right after page is loaded and test thread is running, JavaScript function object `Tree.Item` is not initialized yet.

      This function is created in an externally loaded file, admin-console/a4j/g/3_3_0.GAorg/richfaces/renderkit/html/scripts/tree-item.js .

      This problem appears when we click() in tests on some tree node after page load.

      It is unlikely that user will be clicking fast enough to trigger this error, moreover IMHO Firefox blocks JS execution until external JS files are all loaded (but not sure), so this is only problem for QA.

      Currently we solve this by calling NavTree#waitUntilReady( int intervalMs, int retries ) - e.g. in getNavTreeArrow():
      ejtt.navTree.waitUntilReady(100, 15);

      HTMLUnit's JavaScriptEngine#isScriptRunning() doesn't solve this, because AJAX's async calls' TimeOuts are not considered as running javascript (only when the timer's handler is called).

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  ssilvert Stan Silvert
                  Reporter:
                  ozizka Ondrej Zizka
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: