Soumya Y Shanthimohan 270004GAQS Visits (1111)
What is an IP alias
IP aliasing is associating more than one IP address to a network interface.
IP aliasing in RPT
By default, when you run a schedule, each virtual user has the same IP address. However, you can make each virtual user appear as though it is running on its own host. To do this, you configure IP aliases on the host computer (RPT workbench), and enable IP aliasing in the schedule. When you run the schedule, the network traffic will appear to be generated by multiple hosts.
To avoid IP conflicts, the IPs have to be legitimate, available within the same subnet, and blocked for distribution.
Configuring IP aliases for a remote Windows location
To make it appear that a virtual user has its own IP address during a schedule run, configure IP aliases for each Windows remote location.
Now, when you run the schedule, it will give the impression that the network traffic is being generated from multiple hosts.
Note: To add multiple IP aliases, use the netsh command, as shown in the following example:
The ntcmds.chm file, typically located in C:\WINDOWS\Help, contains more details about the netsh command. When you are finished with the IP aliases, use the following command to remove them:
You can also use a batch file to add and delete the aliases.
Enabling virtual users to use IP aliases
After you have configured aliases at on remote computers, you set the schedule so that the virtual users can use the configured IP aliases.
To set the schedule so that the virtual users will use the IP aliases during a run:
Assignment of IP addresses for each virtual user in RPT
When IP aliases is enabled, it is expected that each virtual users have unique IP address available in order to emulate unique virtual users. However in some circumstances the number of IP address available may be less than the number of virtual users.
The answer to this is, when the location has IP aliasing enabled, RPT will ask the agent computer how many IP addresses it has available. It is up to you to have already configured the computer with these IP addresses. By default, RPT will use all IPv4 (but not IPv6) address available. You can also restrict the selection to IP addresses on particular interfaces.
If there are more virtual users on the location than there are IP addresses (which would normally be the case), RPT will distribute the virtual users evenly (more or less) across the available IP addresses. For example, if your location has IP addresses 192.22.22.02, 192.22.22.03, and 192.22.22.04 and you ran 10 users on the location, you would have a distribution similar to:
192.22.22.02: Users 1, 4, 7, 10
192.22.22.03: Users 2, 5, 8
192.22.22.04: Users 3, 6, 9
Identifying the originating IP address for each Virtual Tester
By default, when you run multiple Virtual Testers the originating IP address will be the IP address of the system hosting the individual Virtual Tester. However, RPT does have a feature (IP Aliasing) that allows you to assign a specific set of IP addresses per Virtual Tester (See the topic ‘Emulating network traffic from multiple hosts’ in RPT online help). If you have IP aliasing set up, there are two ways to verify the originating IP address.
You can see the IP address that a virtual Tester is using by setting the Test Log level of your schedule to ‘All’ and then checking the Extended Properties of a request in the Test Log after a playback. The originating address of the virtual user will appear as the "Local IP Address".
Alternatively, there is a custom code class outlined in the RPT online help (Extending Rational Performance Tester Functionality -> Custom Code Examples -> Retrieving the IP address of a Virtual user) that you can add to your test/schedule that will obtain the IP address
Saurabh.Tyagi 270005CY2K Visits (1143)
Why do I blog about Rational License server, RPT, RFT, CLM, anyway? Why do I even recommend it? Who will gain anything out of it?
If you ask me I will have loads to say as I love blog posts, especially those that can take you through the entire process of troubleshooting, installing a software, or building an application from A to Z. After reading many technical blog posts from different authors and writing many myself, I’ve decided that it’s time to share a workflow that I hope will help those who are creating amazing things to blog more easily and often.
Writing blog posts isn’t easy. Most technical posts require lots of thinking, putting together reporting, scripts, testing, scratching your head when they don’t work right, trying again and again till you succeed. There’s the time it takes to upload images, to get them aligned properly into posts, to get everything just right.
But writing regularly about Rational Licensing concepts has become a very valuable part of my learning process, which helps me connect to my clients and help them grow without any technical hiccups..
Lets understand what one can do to enhance technical blogging: How to write a technical blog
Upon reading couple of books/articles on blogs, this is what I think will best fits in:
Research Deeper into the Topic, I like to include this step after the brainstorm, so I don’t pollute the creative process with external ideas.
Now that you have some of your own original ideas out on paper, it’s time to find out what knowledge has been already uncovered. I suggest that you
a) timebox this step and
b) use resources beyond simple Google searches.
Think before you act : Understand that what kind of blog are you going to write [ A Plan for Your Blog ]
Let Your Personality Show
Blogs began as an intensely personal medium, often having a diary-like quality to them. While blogs have since evolved, many still convey plenty of personality. "Let your personality show," "Remember to be yourself."
Unless you feel strongly about your subject, you will have a tough time succeeding as a blogger. "You have to enjoy what you are blogging about -- it's as simple as that, "If you don't, it will feel forced and your readers will notice."
Explain Technical Matters
No matter what your profession, you likely have to explain complicated topics to people who don't understand. Maybe you're a scientist trying to explain DNA to your grandmother, a literature professor explaining metafiction to drinking buddy, or an IT professional explaining reporting tool to your significant other. Regardless of what you're explaining, you can make it easier on yourself (and the person trying to learn).
Blogging requires time -- lots of time. "The number one thing is to blog as often as possible and to make every post as interesting and useful as possible.
Reference Other Bloggers
Be sure to link to influential bloggers and their posts within your own blog; if you're lucky, they will link back. But don't focus solely on the top one or two bloggers, or else you will look like you just want attention (and links). Other bloggers with clout who aren't the stars of the scene may be more likely to link back to you.
Promoting Your Blog
Understanding Traffic Statistics and analysis
Building a Community Around Your Blog
Scaling Your Blogging Activities
Beyond Blogging: Your Strategy for Social Media
Determine your motivation for writing a technology blog. This will play an important role in determining which topics you write about and how much depth and background or supporting information you provide.
If you're blogging as a hobby and want to share information you know as well as technical information you're learning regularly yourself, you can choose diverse topics that interest you at a specific time.
Can you write about something if you’re not an expert on it? YES you can!!
Try to just write about your findings and research, document your work so far, link to your references, and write down your questions. People may help answer your questions, or you may answer them yourself in further posts. You’ll learn a lot just by writing a careful, thoughtful blog post about what you’re doing.
Write Smartly, but don’t try to sound smart!!
Writing a technical blog helps make you less isolated. It gives the community a chance to get to know you in ways they wouldn’t otherwise. Even if people don’t subscribe and read every post, if you blog regularly and tweet a bit about it, people will find you and get a sense of who you are.
vinayhs 270002JFCW Visits (1696)
In Rational Test RealTime (RTRT) I want to test function foo() in the sample source code, where I will expect stub call some_Task(), but some_Task() function is present in endless loop.
To handle this endless loop, in order to do that I need to foreclose exit through RTRT from function foo().
I can use setjmp()/longjmp functionality to "exit" a test under certain condition. If some_Task() is stubbed then it can be done.
The below steps explain how to resume the execution of the test script when user code has reached an handled exception:
- stub the function that would put the user program in 'stopped' mode or 'exit'
- resume the execution of the test (using setjmp/longjmp combination)
First of all, the ptu has to include the header file <setjmp.h>
Note the use of '@' that would prevent the PTU parser to search for this file.
At this stage, the compiler header files might not be available.
Then, the setjmp structure has to be declared:
DEFINE STUB PTU_globalvar
Then, a user function has to be stubbed :
DEFINE STUB STUB_c
Then, in the test code include :
@if( ! setjmp( failure_setjump) )
This should help in forming a test case to handle the endless loops.
Soumya Y Shanthimohan 270004GAQS Visits (1350)
A scenario where a web application was recorded using Rational Performance Tester (RPT).
After playback, data correlation errors were noticed in spite of manually creating the references. Upon analyzing the server responses, it was noted that some of the responses were sent in binary format.
Data correlation cannot be done on the response content if the data is in binary. The response should be in readable format to implement data correlation.
The below steps were followed and the script was re-recorded:
Open RPT Workbench -> Select 'Window' -> 'Preferences' -> Select 'Test' -> 'Test Generation' -> Select all the check boxes and record again.
The server responses after the above settings looked fine, however, the correlation errors still remained. Upon further investigation, it was noticed that the users ran into trouble at the "Home - Portal" page.
Instead of getting redirected to http
It was also noticed that the initial URL was rather odd, it had a jsessionid incorporated in it:
Usually the initial URL is rather generic, something like
The concern here is, Incorporating the jessesion (8AF54....) value in the URL for all the virtual users, the playback sessions for the multi-user playback are not fully differentiated by the server.
The issue was resolved by using a different URL without specific information like above.
AcdntlPoet 2700019V2G Visits (1754)
Rational Team Concert v4.0.6: Advanced Work Item Customization - Calculated Value: This video describes how to configure Rational Team Concert and write a script to create a calculated value .
The Script.java file can be downloaded from