LoadRunner Truclient,需要直接访问元素并强制事件。如何强制.onClick()事件?

时间:2017-06-30 18:59:24

标签: javascript loadrunner truclient

我们有一个使用框架的App Under Test,似乎忽略了标准。 (图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

问题:我需要在页面内强制执行onClick()事件,因为TruClient会执行click()事件,但onClick()不会触发。我们使用“导航”步骤作为一种解决方法,但不能将其用于其他步骤。

在IE 11中查看的感兴趣的代码是:

    <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>

使用开发人员工具,我们可以看到(图4,无法从Internet Exploder Dev Tools复制和粘贴。)

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

另外:似乎我无法使用JavaScript访问主窗口,挖掘框架,并在各种无法正确响应的链接上使用getObjectByID()。试过“评估JavaScript对象”,但这似乎没有用。

想知道我是否可以在这里使用这种技术 - &gt; FrameBreaker来解决它?但这并没有让我进入主窗口,就像我查看时一样:

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

警报返回“null”。所以,顶级框架,我相信。

我一直在使用jquery(window.alert($("#slideMenu_0").text());在“运行步骤”模式下评估失败),并且

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

不想返回任何内容,也不会返回

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

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

另外值得注意的是,虽然LoadRunner在提升的权限下运行,但我对该计算机没有管理员权限。

非常感谢任何见解。到目前为止,我们有4个项目,需要快速解决此问题;不幸的是,我是我们现在最好的。 ; - )

请告知图像是否没有上传 - 在偏执狂精神分裂症的防火墙后面

1 个答案:

答案 0 :(得分:0)

TruClient使用的某些API仅在标准模式下可用,因此如果网站未在标准模式下呈现,TruClinet将不支持定义。 根据你的描述,这似乎是这种情况。 因此,我建议使用TruClient Firefox或TruClient Chromium。 请注意,删除强制执行将阻止TruClient记录您的操作。

希望它有所帮助, ELAD。