0

We have an App Under Test which is using frames, and seems to be ignoring standards. (Image 1-3.)

Picture 1 Image of menu in TruClient - collapsed

Picture 2: Menu as displayed by IE 11, works correctly

Picture 3: When we disable standards mode in TruClient

Problem: I need to force an onClick() event inside the page, because TruClient does the click() event, but the onClick() doesn't fire. We're using a "Navigate" step as a workaround for one, but cannot use that for other steps.

Code of interest viewed in IE 11 is:

    <html>
    <head>
    <title>Revenue Management System</title>
    <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    </head>
    <frameset rows="43,*" cols="*" frameborder="NO" border="0" framespacing="0">
      <frame src="html/top_pannel.htm" name="top" scrolling="NO" noresize >
      <frameset cols="153,*" frameborder="auto" border="0" framespacing="0">
        <frame src="html/LP_index.htm" name="menu" scrolling="auto" noresize >
        <frame src="html/main.htm" name="maindata">
      </frameset>
    </frameset>
    <noframes><body>
    </body></noframes>
    </html>

Using Developer tools, we can see (Picture 4, not able to copy & paste from Internet Exploder Dev Tools.)

Picture 4: Code for the menu we're working on as POC

Also: Seems I cannot use JavaScript to access the main window, burrow into the frames, and use a getObjectByID() on the various links which are not responding correctly. Tried a "Evaluate JavaScript on Object", but that hasn't seemed to work.

Wondering if I can use the technique here -->FrameBreaker to get around it? But that doesn't get me into the main window, as when I check with:

var x = window.frameElement; 
window.alert(x); 

The alert returns "null". So, top level frame, I believe.

I've been working with jquery (window.alert($("#slideMenu_0").text()); failed evaluation in "run step" mode), and

var x = document.getElementsByTagName("a"); 
window.alert(x); 

doesn't want to return anything, and neither will

var element = document.getElementById('slideMenu_0');

or

var x = document.getElementsByClassName("clA0");

Also of note, I have no Admin permissions to the machine, though LoadRunner runs under elevated privileges.

Would appreciate any insight. We have 4 items so far that need a quick fix on this; unfortunately, I'm the best we've got right now. ;-)

Please advise if images did not upload - behind a firewall by paranoid schizophrenics

Bill C
  • 21
  • 4

1 Answers1

0

Some of the APIs TruClient uses are available only in Standard Mode, so if the website doesn’t render in Standard Mode TruClinet will not support it by definition. According to your description, this seems to be the case. Therefor, I recommend using TruClient Firefox or TruClient Chromium instead. Please note that removing the enforcement will prevent TruClient from recording your actions.

Hope it helped, Elad.

Elad
  • 1
  • Thank you, Elad. Same problem of menu display in Firefox; I'll look into Chrome. – Bill C Jul 05 '17 at 11:54
  • Still need to figure out how to trigger the onClick() event, since the browsers won't do it. getElementByID() doesn't work, per notes above... getElementByClass() is unreliable so far. Trying a $("[attrib='Value']") approach, I believe it will fail. :-P – Bill C Jul 05 '17 at 12:05