Wednesday, February 28, 2024
Handling Failed Text Recognition in Load Runner RTE protocol | RTE protocol Load runner
Monday, February 26, 2024
Error:Unable to create Java VM" when running /Recording a Java Vuser protocal script
Sunday, February 25, 2024
How to call a custom C# dll in VUGen | Calling Custom C# DLLs in VuGen
How to Call a Custom C# DLL in VuGen
Step 1: Create a Custom C# DLL
using System;
namespace CustomFunctions
{
public class CustomFunctions
{
public static string HelloWorld()
{
return "Hello, World!";
}
}
}
Step 2: Prepare VuGen Environment
Place the generated DLL file in a location accessible by VuGen.
Step 3: Call the Custom DLL in VuGen
extern "C" int lr_load_dll(const char *lpLibFileName);
extern "C" void HelloWorld();
Action()
{
lr_load_dll("path_to_dll\\CustomFunctions.dll");
HelloWorld();
return 0;
}
Example
#include "lrun.h"
extern "C" int lr_load_dll(const char *lpLibFileName);
extern "C" void HelloWorld();
Action()
{
lr_load_dll("path_to_dll\\CustomFunctions.dll");
HelloWorld();
return 0;
}
Syntax
Declaration in C#
using System;
namespace CustomFunctions
{
public class CustomFunctions
{
public static string HelloWorld()
{
return "Hello, World!";
}
}
}
Declaration in VuGen (C)
extern "C" int lr_load_dll(const char *lpLibFileName);
extern "C" void HelloWorld();
Loading DLL and Calling Function in VuGen (C)
lr_load_dll("path_to_dll\\CustomFunctions.dll");
HelloWorld();
Saturday, February 24, 2024
Error -27796: Failed to connect to server "XXXXXXXXXX.XXXX:443": [10060] Connection timed out "
Sunday, February 18, 2024
How to Run different JAVA scripts using different JDK versions on the same LG
Launch LoadRunner Agent as a Process:
- Syntax:
start <path_to_loadrunner_agent_executable>
- Example:
start C:\LoadRunner\bin\magentproc.exe
Enable Terminal Services:
- Syntax: Navigate to Start -> Programs -> LoadRunner -> Advanced Settings -> Agent Configuration -> Enable Terminal Services
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_291
Launch LoadRunner Agent:
- Syntax:
start <path_to_loadrunner_agent_executable>
- Example:
start C:\LoadRunner\bin\magentproc.exe
"Failed to read file" when loading parameter file in VuGen | Load runer parameter errors
Saturday, February 17, 2024
What is Forward proxy and Reverse proxy? What are major differences between them?
Imagine you're at school, and you want to borrow a book from the library. However, instead of going directly to the library yourself, you ask your friend who's already there to get the book for you. Your friend acts as a "forward proxy" for you. They go to the library on your behalf, borrow the book, and give it to you.
In technical terms, a forward proxy is like a middleman server that sits between you (the client) and the internet. When you request a web page or any other resource, the request first goes to the forward proxy server. The proxy server then forwards the request to the internet on your behalf, receives the response, and sends it back to you.
Reverse Proxy:
Now, imagine you're organizing a surprise birthday party for your friend at your house. You want to keep it a secret, so you ask another friend to stand outside your house and greet guests as they arrive. This friend is your "reverse proxy." They make sure that no one enters the house directly but instead directs them to you inside.
In technical terms, a reverse proxy is a server that sits between the internet and a web server. When someone tries to access a website, the request first goes to the reverse proxy server. The reverse proxy then decides which web server should handle the request, forwards the request to that server, receives the response, and sends it back to the requester.
Major Differences:
1. Direction of Communication:
- Forward proxy: Client communicates with the proxy server, which then communicates with the internet.
- Reverse proxy: Client communicates with the reverse proxy server, which then communicates with the web server.
2. Purpose:
- Forward proxy: Used to access the internet indirectly, often for security and privacy reasons.
- Reverse proxy: Used to improve performance, scalability, and security of web servers by distributing incoming requests and hiding server details.
3. Visibility:
- Forward proxy: Client knows they are using a proxy server.
- Reverse proxy: Client may not be aware that they are interacting with a reverse proxy; it appears as though they are communicating directly with the web server.
So, in simpler terms, a forward proxy acts like a friend who helps you access things on the internet indirectly, while a reverse proxy acts like a guard protecting your house from unwanted guests and directing them to the right place.
Friday, February 16, 2024
Communication between VuGen and the TruClient browser could not be established - Load Runner error Ajax Truclient protocol
Operating system:- Windows 10
Enhancing Product Performance- The Art of Tuning and Optimization
Wednesday, February 14, 2024
Capture Server stats during the load test using python
# Python code to capture server stats during load test
import psutil
import time
import matplotlib.pyplot as plt
# Function to capture and plot server stats
def capture_server_stats(duration, interval):
timestamps = []
cpu_percentages = []
memory_percentages = []
end_time = time.time() + duration
while time.time() < end_time:
# Capture CPU and memory usage
cpu_percent = psutil.cpu_percent(interval=interval)
memory_percent = psutil.virtual_memory().percent
# Record timestamp and stats
timestamps.append(time.time())
cpu_percentages.append(cpu_percent)
memory_percentages.append(memory_percent)
# Print stats (optional)
print(f"CPU Usage: {cpu_percent}% | Memory Usage: {memory_percent}%")
# Sleep for the specified interval
time.sleep(interval)
# Plot the data
plt.figure(figsize=(10, 5))
plt.plot(timestamps, cpu_percentages, label='CPU Usage (%)', color='blue')
plt.plot(timestamps, memory_percentages, label='Memory Usage (%)', color='green')
plt.xlabel('Time (seconds)')
plt.ylabel('Usage (%)')
plt.title('Server Stats During Load Test')
plt.legend()
plt.grid(True)
plt.show()
# Example usage: Capture server stats for 60 seconds with an interval of 1 second
capture_server_stats(duration=60, interval=1)
psutil library is used to capture CPU and memory usage statistics.
capture_server_stats function captures CPU and memory usage at regular intervals for the specified duration.
The captured data is stored in lists (timestamps, cpu_percentages, memory_percentages).
The data is then plotted using matplotlib.
Tuesday, February 13, 2024
Recording a Script in Silk Performer-Creating Test Script in Silk Performer
Step 1: Launch Silk Performer
First, launch the Silk Performer application on your computer. Ensure that you have the necessary permissions and access rights to record scripts and perform performance tests.
Step 2: Start Recording
Once Silk Performer is running, navigate to the "Recording" section or toolbar. Here, you'll find options to start recording a new script. Click on the "Start Recording" button to initiate the recording process.
Step 3: Configure Recording Settings
Before recording your script, you may need to configure some recording settings based on your testing requirements. For example, you can specify the target application URL, choose the browser type, and configure proxy settings if needed.
Step 4: Perform User Interactions
With the recording started, perform the user interactions that you want to include in your test script. This may involve navigating through web pages, filling out forms, clicking on links or buttons, and interacting with various elements of the application.
Step 5: Stop Recording
Once you've completed the desired user interactions, stop the recording process in Silk Performer. This will finalize the recording and generate a test script based on the actions you performed during the recording session.
Step 6: Review and Customize Script
After recording, Silk Performer will generate a test script based on the recorded interactions. Take some time to review the generated script and make any necessary customizations or adjustments. You can modify script parameters, add validation checks, or include additional logic as needed.
Step 7: Save Test Script
Once you're satisfied with the test script, save it in a suitable location on your computer. It's a good practice to organize your test scripts in a logical folder structure for easy access and management.
Step 8: Execute Test Script
With the test script saved, you can now execute it in Silk Performer to perform performance testing on the target application. Silk Performer provides options to run tests with different load profiles, monitor performance metrics, and analyze test results.
Unable to view Analysis summary page properly in Load Runner
Sunday, February 11, 2024
How to reset the password for diagnostics server in LRE
Performance Testing Metrics - Client side and Server Side Metrics
Performance Testing Metrics
Client-side Metrics in Performance Testing
Client-side metrics in performance testing focus on measuring various aspects of the client environment and user experience during the execution of a performance test. These metrics help assess the performance and responsiveness of the client-side components of an application.
Common Client-side Metrics:
- Page Load Time: The time taken for web pages to load in the client's browser, including all page resources such as images, scripts, and stylesheets.
- Render Time: The time taken by the browser to render the HTML content and display it on the screen.
- Network Latency: The delay experienced by data packets as they travel between the client and the server over the network.
- Client-side CPU and Memory Usage: The utilization of CPU and memory resources on the client device during the test.
- Client-side Errors: The number of errors encountered by the client, such as JavaScript errors, rendering issues, or resource loading failures.
- User Interactions: Metrics related to user interactions with the application, such as click events, form submissions, and navigation paths.
- Client-side Cache Hits: The percentage of requests served from the client-side cache instead of fetching resources from the server.
- Client-side API Calls: The number of API calls made by client-side scripts to fetch data or perform actions asynchronously.
- Client-side Performance Events: Monitoring performance events triggered by the browser, such as DOMContentLoaded, load, and scroll events.
- Client-side Resource Utilization: Tracking the usage of client-side resources, including local storage, session storage, and cookies.
Server-side Metrics in Performance Testing
Server-side metrics in performance testing focus on measuring various aspects of the server's performance and resource utilization during the execution of a performance test. These metrics help assess the server's ability to handle different loads and identify potential bottlenecks that may impact application performance.
Common Server-side Metrics:
- Processor Usage: The percentage of CPU utilization by the server during the test.
- Memory Utilization: The amount of physical memory consumed by the server's processes.
- Disk I/O: The rate of read and write operations performed by the server's disk subsystem.
- Network Throughput: The rate at which data is transferred over the network interface.
- Server Response Time: The time taken by the server to process and respond to client requests.
- Database Performance: Metrics related to database operations, including query execution time, transaction throughput, and database lock contention.
- Server Errors: The number of errors encountered by the server during the test, such as HTTP errors, database connection errors, or server timeouts.
- Connection Pooling: The efficiency of connection pooling mechanisms in managing database connections and minimizing connection overhead.
- Server-side Caching: The effectiveness of caching mechanisms in reducing the server's workload by serving cached content instead of generating dynamic responses.
- Thread Pool Utilization: The utilization of server-side thread pools for handling concurrent requests.
- Server Log Analysis: Analysis of server logs to identify performance issues, error patterns, and abnormal behavior.
- Service Availability: The percentage of time that server services are available and responsive to client requests.
Saturday, February 10, 2024
Troubleshooting LDAP Protocol Issues in LoadRunner 12.6
LDAP Security Workarounds
In LoadRunner version 12.6, when testing applications using the LDAP protocol, if your script is failing after adding a new layer of security to the LDAP server and importing the necessary certificates to your Windows machine via the MMC portal, there are a few potential workarounds you can try:
- Update LoadRunner's Certificate Store: LoadRunner uses its own certificate store, separate from the Windows certificate store. You may need to import the certificates directly into LoadRunner's certificate store. To do this, you can use the LoadRunner Certificate Utility (certUtil), which allows you to manage certificates used by LoadRunner protocols. The utility is typically located in the bin directory of your LoadRunner installation. You can run the utility from the command line and follow the prompts to import the necessary certificates.
- Specify Certificate Path in Script: If importing certificates into LoadRunner's certificate store doesn't resolve the issue, you can try specifying the path to the certificate directly in your script. In your VuGen script, you can use the
ldap_option
function to set theLDAP_OPT_X509_CERT
option, providing the path to the certificate file. This approach allows you to explicitly specify which certificate to use for establishing the LDAP connection. - Verify Certificate Compatibility: Ensure that the certificates you've imported are compatible with the LDAP server's security requirements. Some LDAP servers may require specific types of certificates or certificate formats. Double-check with your Dev team or LDAP server administrator to confirm that the certificates you've imported meet the server's expectations.
- Check Certificate Trust: Even if the certificates are imported correctly, the LDAP server may not trust them if they're not issued by a trusted Certificate Authority (CA). Verify that the certificates are issued by a trusted CA and that the LDAP server trusts certificates from that CA. You may need to import the CA's root certificate into LoadRunner's certificate store or specify it in your script.
- Debug LDAP Traffic: Enable verbose logging or debug mode in your LoadRunner script to capture detailed information about the LDAP traffic. This can help identify any specific errors or issues encountered during the SSL/TLS handshake process. Analyzing the debug logs can provide insights into why the LDAP connection is failing despite importing the certificates.
By trying these workarounds and troubleshooting steps, you can hopefully resolve the issue with connecting to the LDAP server in LoadRunner version 12.6 despite the new security layer. If the problem persists, consider reaching out to Micro Focus support for further assistance.
Generative AI in performance Testing
Thursday, February 8, 2024
Ignore HTTP errors in LoadRunner - Ignore errors in vugen script
LoadRunner provides a straightforward mechanism to configure HTTP errors as warnings, thereby allowing scripts to continue execution even when encountering such errors. This is achieved using the web_set_rts_key function to set the HttpErrorsAsWarnings runtime setting key to a value of 1. By enabling this setting, HTTP errors will be marked as warnings instead of causing the script to fail.
Here is the Syntax:
- The web_set_rts_key function is used to set a runtime setting key. "key=HttpErrorsAsWarnings" indicates the setting being configured is for marking HTTP errors as warnings.
- "Value=1" sets the value to 1, which means HTTP errors will be marked as warnings instead of causing the script to fail.
- LAST indicates that this is the last parameter being set for this function call.
Pacing Calculator | Pacing Calculator Loadrunner
Pacing Calculator
Additional Information:
Since the residual time (R) is negative, it indicates that the test window is insufficient to complete all iterations within the provided duration. This suggests that the iterations cannot be paced evenly within the given time frame. Therefore, in this scenario, the pacing calculation may not yield a meaningful result.
However, if you want to interpret the result, it would imply that each iteration should be executed with a pacing interval of approximately -122.928 seconds, which is not practically feasible. It's important to adjust the test duration or the number of iterations to ensure that the test can be completed within a reasonable time frame.
Wednesday, February 7, 2024
Six Sigma White Belt Certification for free 0$
Why Choose CSSC for Your Six Sigma White Belt Certification?
CSSC is the official industry standard for Six Sigma accreditation, providing individuals with a reputable and recognized certification. Our White Belt Certification program is ideal for beginners or professionals looking to refresh their knowledge of Six Sigma basics.
Certification Paths
CSSC offers two different paths to earning your Six Sigma White Belt Certification, allowing you to choose the option that best fits your learning style and preferences:
1. Standard Exam Path: This path is suitable for individuals who are already familiar with the "Body of Knowledge" covered in the White Belt Certification. The standard exam consists of 30 questions and is open-book format, with a duration of 30 minutes. Best suited for those seeking a single level of certification and comfortable completing their exam within the allotted time.
2. Self-Paced Exam Path: For candidates who prefer a more flexible approach, the self-paced exam option allows you to progress through several short exams as you cover different sections of the curriculum. This option is ideal for those utilizing free self-study guides provided by CSSC and looking to earn various levels of "Belts" without incurring additional examination fees.
Certification Requirements:
To obtain your CSSC Certified Six Sigma White Belt (CSSC-CSSWB) designation, you must successfully complete the certification exam and achieve a minimum score of 56 points out of 80. There are no prerequisites for taking the exam, and no project requirement for this level of certification.
Benefits of Certification:
Upon meeting the certification requirements, you'll receive an official CSSC Six Sigma White Belt Certification, recognized globally in the industry. Our certifications have no expiration date, allowing you to showcase your expertise indefinitely. Plus, you'll be added to the Council for Six Sigma Certification Official Register, providing verifiable proof of your certification.
Getting Started:
Conclusion:
Earning your Six Sigma White Belt Certification with CSSC is a valuable investment in your professional development. Whether you're new to Six Sigma or seeking to advance your career, our certification program offers the knowledge and recognition you need to succeed in the industry.
Take the first step towards becoming a certified Six Sigma professional today with CSSC!
Register for the Standard Exam
Tracking File Processing Time on a Remote Server with JMeter | Remote machine file processing times by JMeter
- Adding SSH Command Samplers: We'll use the SSH Command Sampler in JMeter to execute commands on the remote server. Add SSH Command Samplers to the test plan for capturing start time, executing the processing command, and capturing end time.
- Configuring SSH Connection: Configure the SSH connection details such as hostname, port, username, and password or SSH key.
- Defining Processing Command: Define the command to process the file and move it to another folder on the remote server within the SSH Command Sampler.
Monday, February 5, 2024
How to pass token value from one thread group to another thread group in Jmeter?
One way is to use the __setProperty function to set a property in one thread group and then use __P function to retrieve it in another thread group.
Example:
1. In Thread Group 1, use a BeanShell Sampler or JSR223 Sampler with the following script to set a property:
```java
props.put("myToken", "yourTokenValue");
```
Replace "yourTokenValue" with the actual token value.
2. In Thread Group 2, use a BeanShell Sampler or JSR223 Sampler with the following script to retrieve the property:
```java
String tokenValue = props.get("myToken");
```
Now, `tokenValue` will contain the token value you set in Thread Group 1.
Remember to set the language of the script accordingly (e.g., choose Beanshell or Groovy) based on your preference.Please ensure proper synchronization to avoid potential race conditions.