Tuesday, 5 November 2019

How to Change Password of IUSR_METRO Account

Sometime we need to change the password of IUSR_METRO Account. This may be required due to compliance issue.

Below are the steps to change the IUSR_Metro account password.


1.  Go to Users and Groups. Press Windows+R to open Run, enter lusrmgr.msc in the blank box and tap OK. Press Windows+R to open Run, enter lusrmgr.msc in the blank box and tap OK. (shortcut might change depending on the OS)

  2.  Under users, right click on IUSR_METRO and click set password

  3.  Proceed adding and confirming new password and click OK.


Above process we need to apply in all host and PC server. We can verify the password encrypted value before and after changing the password. In both file password encryption should be same.

Host machine: <Host Path>dat\LTS.config
user="IUSR_METRO" password="N0HxP-eT-Ik5h493vLG9iA.." />
PC Server: C:\Program Files (x86)\HP\Performance Center Server\dat\PCS.config
CommonSettings user="IUSR_METRO" restRequestTimeout="100" password="N0HxP-eT-Ik5h493vLG9iA..

Once above step done then we need to set the password in PC server again through identityChanger

Search for IdentityChanger in order to save changes in PC environment
<Performance Center Server>\bin\IdentityChangerUtil
Select user option
create any dummy test user like Test1( This process we need to do because there is bug in ALM 12.60 version and we can not directly change the password of IUSR_Metro account.
keep any other password other than the password set in all host and PC server through users and groups
Click on Apply button.( All LG will configured)
once done then select user option again
select IUSR_METRO
Set the password exactly same as we did for all host and PC server
Click on Apply button
ALL LG will configured

Note: Now we can check encrypted password in all host and PC server file(Path mention above). It should be same.

Take a smoke test and verify that load test is running fine.



 

Thursday, 25 October 2018

TruClient- Firefox Protocol


The Ajax TruClient protocol interactively records scripts as we navigate through the business process. This enables TruClient to easily record and replay dynamic, complex web-based applications and create user friendly scripts. Scripts are created in real-time and steps can be seen in the TruClient Sidebar as they are performed.

Ajax TruClient scripts are asynchronous. Steps do not have to wait for previous steps to complete. Each step defines an End Event which defines the point at which subsequent steps are allowed to start running.

We can select to record scripts with either the Mozilla Firefox or Internet Explorer browser.

Ajax TruClient scripts are recorded on the user level; therefore there are no correlations however the main challenge becomes object identification. All recorded events are saved in the script

The Run-Logic in Ajax TruClient scripts is controlled differently. There is only one action.

If we want to put any any object verification after a step then Just run the script upto that step and then stop the run. Then Put wait for Object from toolbox and highlight the object that we want for verification.Then open tranction editor and bring that verification under that transaction name by changing the end point.


Clear Cache: Evaluate JavascriptàArgumentsà CodeàUtils.clearCookies(); Utils.clearCache();àJS

window.alert("rajesh");-->Right
window.alert(10);-->right
window.alert(“10”);à This is right
window.alert(rajesh);à This is wrong
Double black slash is used for commenting
 
// window.alert(10);: This is used for the comment
 

Failed to initialize-Timeout error during execution in performance center:
Run all the users simultaneously. Sometimes it resolves the problem.

Below code to to generate a random number and using this number click a random record on the page.
var c=51;
var d = Math.floor(Math.random() * c + 1);
if(d==1)
{


  d=d+1;
}
window.alert(d);
evalXPath("//div[@id=\"t_Body_content\"]/div[3]/div/div/div/div[2]/div[2]/div[2]/div/div/div[2]/div[2]/div[6]/div[1]/div/div[3]/table/tbody/tr["+d+"]/td[2]/a/span");
 
 


 
 
 
 
 

Thursday, 19 April 2018

How to write Macro

Hi,

I am giving some basic information about Macro. Hope it would be helpful:

A macro is a piece of programming code that runs in Excel environment and helps automate routine tasks.

Macros are one of the developer features. By default, the tab for developers is not displayed in excel.

  • If you want to save macros, then you must save your workbook in a macro-enabled format *.xlsm
  • The macro name should not contain any spaces.
  • Always fill in the description of the macro when creating one. This will help you and others to understand what the macro is doing.
  • Code placed on a sheet (assigned to a command button) is only available for that particular sheet.
Steps:
1. First turn on the Developer Tab
  • Right click anywhere on the ribbon, and then click Customize the Ribbon.
  • Under Customize the Ribbon, on the right side of the dialog box, select Main tabs (if necessary).
  • Check the Developer check box.
  • Click OK.
  • You can find the Developer tab next to the View tab.
2. Write 1st code:
  • On the Developer tab, click Insert.
  • In the ActiveX Controls group, click Command Button.
  • Drag a command button on your worksheet.
  • Right click CommandButton1 (make sure Design Mode is selected).
  • Click View Code.
  • Place your cursor between Private Sub CommandButton1_Click() and End Sub.
  • Add the code line shown below.
  • Close the Visual Basic Editor
  • Click the command button on the sheet (make sure Design Mode is deselected).
3. How to swap value
  • Dim temp As Double
  • temp = Range("A1").Value
  • Range("A1").Value = Range("B1").Value
  • Range("B1").Value = temp
Function and Sub
The difference between a function and a sub in Excel VBA is that a function can return a value while a sub cannot. Functions and subs become very useful as program size increases.

Monday, 5 June 2017

Scenario building

In this post I am going to explain basic thing about the scenario preparation:

Example: Suppose we gave 10 users with 15 min run duration. Then it will run below section:

vuser_init  --> It will run only 1 time during whole load test

Action : This will repeat as much as during load test duration.

vuser_end --> It will also run only 1 time during whole load test.


Note: If any transaction failed in Action during load test then it will jump to vuser_end section and that user will fail.
 

Tuesday, 18 August 2015

How to disable DEP,UAC and Windows Firewall

 

How to disable DEP

To disable DEP, follow these steps:

1)      Open the Start Menu.
2)      Click All Programs and Accessories.
3)      Right click on Command Prompt and click Run as Administrator.
4)      Click on Continue.
5)      In the Elevated Command Prompt, type:
bcdedit.exe /set {current} nx AlwaysOff.
6)       Restart the computer to apply.

How to know if finally DEP is disabled

1)      Click Start, and then click Control Panel.
2)      Click System and Security, and then click System.
3)      On the left options, click Advanced system settings.
4)      System properties box opens, click Performance settings.
5)      Performance option box opens, click on Data Execution Prevention tab. 

Here, you can see that DEP is disabled. 

6)      Go ahead to reboot the machine.
 
 
How to disable User Account Control 
1)      Go to Control Panel > User Accounts and Family Safety.
2)      Click on User Accounts. 
3)      Go to Change User Account Control Settings.
4)      There you have to down the bar to “Never notify”. 
 
How to disable Windows Firewall
To disable Windows Firewall, follow these steps:
1)      Click Start, and then click Control Panel.
2)      Click System and Security, and then click Windows Firewall.
3)      On the left options, click Turn Windows Firewall on or off.
4)      Customize settings box opens, there click Turn off Windows Firewall. Turn off both, Private and Public network settings. 
 

Thursday, 11 June 2015

Mobile Testing

Mobile Testing: Mobile testing market  is growing with a resonable rate. Here I am giving some input regarding Mobile testing.

Native Application: The application that designed for the mobile is called native application. We download it from App store.


Protocol:
  • Mobile Application – HTTP/HTML, for recording scripts at the transport level for both browser-based mobile applications and native mobile applications, that communicate with their servers over HTTP
  • Mobile TruClient, for recording scripts for browser-based mobile applications through the browser-based user interface. This protocol is based on Ajax TruClient, using a browser modified to emulate the mobile browser.

Below table shows the different recording option.

Scenario
If…
Then…
Proxy Recording
- The mobile device can be connected to the same network as the VuGen machine, and;
- The app allows proxy configuration
You can configure your mobile app to use VuGen proxy(***) to record the traffic
Server-Side Recording
- You don’t want (or can’t) record from the actual device, and;
- The device, server, and VuGen machine are in the same network, and;
- You only need to record on one server
Install VuGen’s Mobile Sniffer Agent on the server. You can then use the protocol’s ‘Record and Analyze Traffic’ feature, which will use the agent to record the traffic
Script from Network Capture
You already have a network capture file, such as WireShark’s ‘pcap’ file
Use the protocol’s ‘Analyze Traffic’ feature to turn it into a script
Device Emulator Recording
- You don’t want (or can’t) record from the actual device, and;
- The mobile OS is Android, and;
You have a device emulator available
Record from the emulator by using the protocol’s ‘Emulator Recording’ feature
On-Device Recording
- Your Android device is rooted (to allow access to the device’s system)
You can install the LoadRunner Mobile Recorder on the device (***), and use it to record the traffic as a standard ‘pcap’ file. You can then open the file on your VuGen machine to create a script.

Here I am giving some input about Proxy recording with wifi network

Pre-requsite:
  • Machine having vugen installed with version >=12.01
  • Machine and iOS device should be in same wifi network
  • If Possible try to make machine IP address as static

Configure your mobile device to use the VuGen Recording Proxy. For example, on an iOS device, the setting is Settings > Wi-Fi > HTTP Proxy > Manual. Configure the server to be the IP of the VuGen machine, and the Port to be the port that VuGen is listening on. Here Port number can be any 4 digit number like 8889,8080 etc.

HTTP/HTTPS Application

There may be http and https application under the test. If its https application then we need to install the certificate on the iOS device.For http application no need to install any certificate on iOS device.


How to install certificate on iOS device:

Download the proxyroot.dat file on machine. and then change the extension from proxyroot.dat to proxyroot.cer.Then send this certificate to mobile through mail and install this certificate on the iOS device.
 

 
Challenges:
  • If no event get record then check the ip address of the machine and check with IP address in HTTP proxy
  • Connect the machine through LAN and iOS on wifi. Ideally this is not a solution but somehow after this recording when I again tried to record with both iOS and vugen on wifi it get recorded and issue get resolved.

                                                              HP Mobile Center


This is HP Tool that is specially used only for Mobile testing. Current version is 1.52 and latest version 2.0 will release in June 2016.










 

Monday, 8 December 2014

Oracle E-Business Suit

Here I am giving some deatils about the Oracle E-businees suite

Oracle Web ADI: Oracle Web Application Desktop Integrator

Web ADI brings Oracle E-Business Suite functionality to the desktop where the familiar
Microsoft Excel, Word, and Project applications can be used to complete your Oracle
E-Business Suite tasks.

Scripting :
Some key points:
1.Recording Mode:
         Record: Windows Application
        Application: C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE
        Program Arguments:(Local path of excel file)- C:\file\Phase 2\WebADI\Webadidata.xlsm
        Working directory: C:\Program Files (x86)\Microsoft Office\Office14

2.Recording Options:
      Protocol: Web-Http/HTML
      Recording Mode:   URL -based script: Click on URL Advanced...-->Select both check box


Note:
  •  lrw_custom_body.h will generate depends upon the excel data.
  • Sometime on a particular machine not a single event capture. Then try on some other machine. It may be possible that on other machine all events will capture. Reason is still not known but it works.
  • If excel file does not open then keep the excel file at shorter folder.Ex C:\FT\US_Load.xlsm
 

Tuesday, 18 November 2014

Citrix Protocol

Here I am giving some input about citrix protocol:

LR Detect tool:LRDetect is a non-invasive data collection tool developed for supporting LoadRunner (LR) and Performance Center (PC) products. It simply collects operating system, hardware, software and other environmental related information that helps a support engineer understand and troubleshoot PC and LR problems. It can be run on the following installations from LR/PC version 11.00 onwards:
  • Full LoadRunner
  • Performance Center Host
  • Standalone Application (SA) - VuGen, Analysis or Windows Load Generator
https://softwaresupport.hp.com/group/softwaresupport/search-result/-/facetsearch/document/KM00664831



 

Tuesday, 19 August 2014

Perfmon Monitoring Tool

How do we track and log system and process information on a Windows operating system?

 Windows system tools available for monitoring almost every type of performance, including CPU, memory, file system and network usage. You do not have to rely merely on the Task Manager.

There is a Windows utility called PerfMon (Performance Monitor) that has the ability to graph and log performance metrics for specific processes, as well as set alarms and timing for performance monitoring and logging.

Steps to View and Log Performance Data Using Windows 7 Performance Monitor:

2.Click on the Start Menu and click Run.3.Type perfmon into the Run command prompt and click OK. 


4.You will then see the Performance Monitor pop up.



5.Click on the green ‘+’ sign near the top of the Performance Monitor Window to bring up theAdd Counters window.

6.On the left side,choose which counters to add and click Add >>. Your counters should now appear under Added Counters. Click OK.



There are many options for what counters to add. A few that may be of special note when dealing with LabVIEW performance issues are:
Memory
Processor
Process (shown above): Under process, one can choose specific programs to monitor. In the upper left Window, you can select the aspects of the process that you’d like to monitor such as % Processor Time or Virtual Bytes. In the lower left hand window, you can select which process you’d like to monitor. Above, LabVIEW has been selected.

Now you should be able to see all chosen counters updating on the graph

In order to log this data to file, right-click on Performance Monitor and select New»Data Collector Set.

Type in a name for your data set and press Next.



Complete the rest of the steps including choosing the location you want to save your log file.
When you want to start logging the performance data, right-click on your Data Collector Set and select Start. To stop logging, right-click and select Stop.




Note: By default, all windows performance counter data collector sets stop after 1 minute.
To alter this behaviour, “Right-click” on the properties for the new Data Collector Set.Perfmon Screenshot
Select the “Stop Condition” tab and uncheck the “Overall duration” checkbox.
By default this is set to 1 minute as shown below.
PERFMON screenshot

Tuesday, 15 July 2014

How does collating the test results work in loadrunner controller?



At the end of a test the results are collated by the LoadRunner controller. Each of the generators results are collected in a .eve (Event) file and the output messages for the controller are collected in a .mdb (Microsot Access) database. This happens in the directory specified for the results on the controller. 

A .lrr (loadrunner results) file is created. The .lrr file is text. The .eve file was text prior to around LoadRunner 7.5, but since then it has been an unpublished compressed format. 

When you start the analysis utility it take the information in the .lrr file and the .eve file and creates a .mdb (microsoft access database) or SQL Server database entries which contain each timing record and data point entries. If collation fails at the end of the test you will have only partial results for analysis.

Wednesday, 30 April 2014

Sunday, 13 April 2014

SSL Authentication

Its very important to know about the SSL authentication concept in Loadrunner.

What Is SSL?

SSL (Secure Sockets Layer) is a standard security technology for establishing an encrypted link between a server and a client—typically a web server (website) and a browser; or a mail server and a mail client (e.g., Outlook).
SSL allows sensitive information such as credit card numbers, social security numbers, and login credentials to be transmitted securely. Normally, data sent between browsers and web servers is sent in plain text—leaving you vulnerable to eavesdropping. If an attacker is able to intercept all data being sent between a browser and a web server they can see and use that information.
More specifically, SSL is a security protocol. Protocols describe how algorithms should be used; in this case, the SSL protocol determines variables of the encryption for both the link and the data being transmitted.

SSL secures millions of peoples’ data on the Internet every day, especially during online transactions or when transmitting confidential information. Internet users have come to associate their online security with the lock icon that comes with an SSL-secured website or green address bar that comes with an extended validation SSL-secured website. SSL-secured websites also begin with https rather than http.

How Does the SSL Certificate Create a Secure Connection?

When a browser attempts to access a website that is secured by SSL, the browser and the web server establish an SSL connection using a process called an “SSL Handshake” (see diagram below). Note that the SSL Handshake is invisible to the user and happens instantaneously.
Essentially, three keys are used to set up the SSL connection: the public, private, and session keys. Anything encrypted with the public key can only be decrypted with the private key, and vice versa.
Because encrypting and decrypting with private and public key takes a lot of processing power, they are only used during the SSL Handshake to create a symmetric session key. After the secure connection is made, the session key is used to encrypt all transmitted data.
Server Browser Communication
  1. Browser connects to a web server (website) secured with SSL (https). Browser requests that the server identify itself.
  2. Server sends a copy of its SSL Certificate, including the server’s public key.
  3. Browser checks the certificate root against a list of trusted CAs and that the certificate is unexpired, unrevoked, and that its common name is valid for the website that it is connecting to. If the browser trusts the certificate, it creates, encrypts, and sends back a symmetric session key using the server’s public key.
  4. Server decrypts the symmetric session key using its private key and sends back an acknowledgement encrypted with the session key to start the encrypted session.
  5. Server and Browser now encrypt all transmitted data with the session key.
How do I identify the SSL protocols and certificates used by a website when testing with LoadRunner

Cause -Understanding the SSL Protocols and certificates used by a website.
Solution -To identify the type of SSL and certs used on a web server, type the following commands from a Loadrunner client workstation :

Go to the Loadrunner/bin directory.
Type "openssl", this will then display an >openssl prompt.
Type OpenSSL>s_client - connect test.com:443 where test.com is your web site.

Note: if you are not sure about the port open the developer tool in chrome and hit the URL. It will display IP address, port etc.

This will then return details of the web servers  SSL connections with different ciphers, TLS versions, and SSL server certificate analysis.

Other useful commands to use in LoadRunner Web protocol scripts are as follows:

web_set_sockets_option("SHUTDOWN_MODE", "FAST");Allows the disconnection of the SSL session to be completed quickly.

web_set_sockets_option("SSL_VERSION", "TLS"); 
web_set_sockets_option("SSL_CIPHER_LIST", "RC4-MD5");These options allow the version and cipher for SSL to be specified. Possible versions and ciphers are detailed in the Loadrunner Function Reference.

web_set_sockets_option("TRACE_SSL_IO","1");This option will detail all SSL IO in the normal vuser log.

web_set_sockets_option("PRINT_SSL_INFO","1");This option will detail the version and certificate used in the SSL configuration.

web_set_sockets_option("PROXY_INITIAL_BASIC_AUTH","0");This option disables the initial Basic authentication.

Connections per second:
Number of TCP/IP connections opened
Number of Connections Shutdown. No of connections is fraction of hits/sec
TCP/IP connections are expensive interms of server, router and network resource consumption. So HTTP request should use same connection instead of opening new connection each time of each request.

SSL connections per second:
No of SSL connections opened per second
After TCP/IP connection SSL connection is opened.
SSL connection has heavy resource consumption.
If we select simulate new user at each iteration then there should not be more than one SSL connection per sec


Wednesday, 18 December 2013

Dynamic Transaction Name in Vugen scripting

Here I am giving code to generate the dynamic transaction name as many time it requires in our scripting.

 For example, if I am searching for a document with a different set of properties every time, like – approved, withdrawn, submitted etc., its better I have a prefix transaction name like “T01_SearchDocWithStatus_” and then append to it the parameterized value chosen.


char transactionName[100];

char* temp[50];

strcpy(temp,” T01_SearchDocWithStatus_”);

strcat(temp,lr_eval_string(“{DocStatus}”));

strcpy(transactionName,temp);

lr_start_transaction(transactionName);

web_url{


This way, when you run the scenario, you can look at the response times of individual status fetches

Note: that you cannot declare the transactionName as a pointer variable.

Thursday, 12 December 2013

AWR Report


I think as a performance tester we should know about the basic analysis of AWR report. In this post I am going to explain about basic analysis of AWR report.

AWR: Automatic Workload Repository

Very crucial part of AWR report is SQL Statistics. Which has all sql query details executed during report time interval.  
  • We can genaerte AWR report on hourly basis. It will not generate less than an hour.So we can say this is the limitation of Oracle database. Instead of having one report for long time like one report for 4hrs. it's is better to have four reports each for one hour.  Reason is that  if we take long durtion report it will give Average of all counters during that period of time. That would not be much useful.

  • It's always good to have two AWR Reports, one for good time (when database was performing well), second when performance is poor. This way we can easily compare good and bad report to find out the culprit.
  • After getting an AWR Report This is first and Top part of the report. In this part cross check for database and instance and and database version with the Database having performance issue.This report also show RAC=YES if it's an RAC database.

  • "DB CPU(s)" per second:   Before that let's understand how DB CUP's work. Suppose you have 12 cores into the system. So, per wall clock second you have 12 seconds to work on CPU.
       So, if "DB CPU(s)" per second in this report > cores in (Host Configuration ) means env is CPU bound      and either need more CPU's or need to further check is this happening all the time or just for a fraction of time. As per my experience there are very few cases, when system is CPU bound.

Ex: machine has 12 cores and DB CPU(s) per second is 6.8. So, this is not a CPU bound case

  •  Parses and Hard parses: If the ratio of hard parse to parse is high, this means Database is performing more hard parse. So, needs to look at parameters like cursor_sharing and application level for bind variables etc.
 
  • Instance Efficiency percentage:
    In these statistics, you have to look at "% Non-Parse CPU". If this value is near 100% means most of the CPU resources are used into operations other than parsing, which is good for database health.
  • Top 5 Timed Foreground Events: First of all check for wait class if wait class is  User I/O , System I/O,  Others etc this could be fine but if wait class has value "Concurrency" then there could be some serious problem. Next to look at is Time (s) which show how many times DB was waiting in this class and then Avg Wait (ms). If Time(s) are high but  Avg Wait (ms) is low then you can ignore this. If both are high or Avg Wait (ms) is high then this has to further investigate.
  • Sql Ordered by Elapsed Time: Look for query has low executions and high Elapsed time per Exec (s) and this query could be a candidate for troubleshooting or optimizations. Ex: you can have query as maximum Elapsed time but no execution. So you have to investigate this.                                                 In Important point, if executions is 0, it doesn't means query is not executing, this might be the case when query was still executing and you took AWR report. That's why query completion was not covered in Report.
     
 
 

 

How to Change Password of IUSR_METRO Account

Sometime we need to change the password of IUSR_METRO Account. This may be required due to compliance issue. Below are the steps to chang...