Is it possible to directly access elements and trigger events with LoadRunner TruClient? How can I force the .onClick() event to occur?

We are currently testing an application that utilizes frames and does not adhere to standards (Image 1-3).

https://i.sstatic.net/M46DG.png

https://i.sstatic.net/v6txq.png

https://i.sstatic.net/l3NP8.png

Issue: I am trying to trigger an onClick() event within the page because TruClient executes the click() event, but the onClick() event does not get triggered. We have resorted to using a "Navigate" step as a workaround for one case, but this approach cannot be applied to other steps.

The code snippet of interest 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>

While analyzing with Developer tools, we can observe (Picture 4, unable to copy & paste from Internet Exploder Dev Tools.)

https://i.sstatic.net/PoOiw.png

Additionally, attempting to use JavaScript to access the main window, dive into the frames, and utilize getObjectByID() on the unresponsive links has proven unsuccessful. Even after trying "Evaluate JavaScript on Object", no progress was made.

I am considering utilizing a technique mentioned here -->FrameBreaker to bypass the issue. However, this method does not allow me to access the main window as confirmed by:

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

The alert returns "null", indicating it is at a top-level frame level.

I have experimented with jQuery (

window.alert($("#slideMenu_0").text());
failed evaluation in "run step" mode), and

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

failed to return any information, just like

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

and

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

It is important to note that I do not have Admin permissions on the machine, although LoadRunner operates with elevated privileges.

Any guidance would be greatly appreciated. There are currently 4 items that require immediate attention in this regard, and unfortunately, I am the only one available to address them at the moment. ;-)

Please notify if images did not load - due to firewall restrictions imposed by paranoid individuals

Answer №1

TruClient relies on specific APIs that are only accessible in Standard Mode, so if a website fails to load in this mode, TruClinet will be unable to provide support as per its design. Based on your description, it appears this is the situation you are facing. In light of this, I suggest utilizing either TruClient Firefox or TruClient Chromium instead. Please bear in mind that disabling this requirement will result in TruClient being unable to capture your interactions.

Hoping this information proves helpful, Elad.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Vuex - modify store state without changing the original object

Currently, I am encountering an issue where my attempt to duplicate a store object for local modification is causing the original store object to also be changed. The specific method I am using is ...mapState["storeObject"] To illustrate, here is a breakd ...

JQuery and Ajax - Callback function not being triggered

Struggling to solve this issue, I have experimented with various methods but can't seem to find a solution. The code I am using seems to be functioning correctly as it successfully inserts data into the database via the connected script. However, the ...

Pattern-Based jQuery Selectors

I am looking for a way to use jQuery to select all paragraphs < p > within a < div > that contain time stamps with the following formatting patterns: <p>[22:48]</p> or <p>[22:48 - Subject Line]</p> Can someone provi ...

Managing headers for localhost with Access-Control-Allow-Origin

I've run into a challenge with my React app. I'm making endpoint calls to different servers and have withCredentials set to true to include a token/cookie in the requests. The issue arises when trying to make this work seamlessly on localhost. S ...

Using TypeScript to define a generic type for the key in a React select component

Check out this component that wraps a Material UI select: return ( <Box display="flex" justifyContent={justifyContent}> <SortWrapper> <InputLabel htmlFor={id} shrink={true} > Sort by </InputLabel& ...

Form Input: Retrieve Exclusive Value Using Identical Name and ID

I have successfully executed a query and displayed the results on my address page using PHP and AJAX. <div id="address-wrap"> <div id="report-address">3719 COCOPLUM CIR <br> Unit: 3548<br> COCONUT CREEK, FL 33063</div> <di ...

Is it possible to pass optional properties to a Vue.js component in order to ensure they are effectively transmitted to the component?

There are recurring calls to a component from different views, like the example below: <highcharts :options="getSomeData" :constructor-type="'mapChart'" :callback="getSomeDataCallback" class=" ...

Managing multiple Sequelize DB connections in NestJS: A guide

I recently came across the example in the NestJS documentation regarding setting up a Sequelize DB connection. I'm curious about how to connect to multiple databases using Sequelize and TypeScript with NestJS. Can anyone provide guidance on this? ...

Retrieving data from varied React components - triggered by clicking a LOG button

function Copy() { const Message = "MESSAGE"; const [messageList, setMessageList] = useState([{ text: "Hello", id: 1 }]); const [newMessageValue, setNewMessageValue] = useState(0); const addToMessageList = () => { alert(n ...

Please ensure to log out when the user exits the tab

I am looking for a way to automatically log out users from my Django site when they close the browser tab or window. Ideally, I want users to be forced to re-enter their username and password if they try to access the site again after closing it without cl ...

Obtain properties and methods from the parent Vue instance

I'm exploring ways to define some default props and functions in my Vue instance that I can use across all of my components. How do I achieve this? I attempted to pass the props, but since they are read-only it didn't work as expected. Am I on t ...

JavaScript code to place variables into an array with included variables

Looking for a solution: const myArray = [] myArray.push( { "bob" : { "banana" : "yellow" } }) console.log(myArray) Output: { "bob": { "banana": "yellow" } } Attempting a modifi ...

React Router is updating the URL without actually rendering the view

React router allows for changing the URL without refreshing the page. However, when manually typing in the URL and pressing ENTER, the routes work properly. Unfortunately, clicking on the navlink does not produce the same result. App.js import './App ...

What is the best approach for transforming repetitive React code patterns into a reusable component or object?

Take a quick look at this section without overanalyzing it, and focus on the similarities among each group. // LOADING VENDORS const [loadingVendors, setLoadingVendors] = useState<boolean>(true); const vendorsErrorTimeout = useRef<NodeJS.Timeout|n ...

Determine if a link can be activated or disabled

Controlling the clickability of a link and displaying an error based on the result of an ajax call is my current objective. <a class="lnkCustomer" href="http://localhost/viewcustomer" target="_blank" data-customerno="2 ...

Express Js EJS Layouts encountered an issue: No default engine was specified and no file extension was included

Hey there! I'm currently experimenting with implementing Express EJS Layouts in my application. However, as soon as I try to include app.use(expressEjsLayouts), an error is being thrown. The application functions perfectly fine without it, but I reall ...

Python script to extract the link to a JavaScript file from the href tag in an HTML

Imagine a website similar to the following: This particular website contains links to pdf files referenced by an href tag in the page source, for example: <a href="javascript:$('form_cofo_pdf_view_B000114563.PDF').submit();">B000114563.PD ...

Changing the element tag and flipping escape characters in html entities

My control over the string source is limited, as I can only use html(). However, I am in need of cleaning up the chaos within the source, The goal is to remove all instances of <div class="page"></div>, while retaining its content. The challen ...

Changing the Displayed Content with a Simple Click of a Link

Layout Overview In the process of developing a tool to streamline work tasks, I want to ensure that I am following best practices. My goal is for the website to initially display only column A, with subsequent columns generated upon clicking links in the ...

Organize a collection containing various spans using jQuery

Having trouble sorting a list with spans inside. For example: <a href="">Sort by name</a> <a href="">Sort by year</a> <a href="">Sort by fruit</a> <ul> <li> <span class="name">Carl</span> & ...