Monday, May 20, 2013

Restart Remote machine from another machine in the network

Restart Remote machine from another machine in the network



Pre-Req :
  1. You need to have admin access to restart the victime machine .
  2. Its better if  machine under operation and victim are in the same network

First Ping the machine if its operating

  1. Goto Start>Run > Type cmd
  2. Type  "ping ip address" or "ping computer_name"  .Eg:  ping vx32Dev99
  3. See whether you notice any reply statements .  
To restart the Machine
  1. Goto Start>Run > Type cmd
  2. type "shutdown -i"
  3. Click on Browse and select the computer > Click on Add
  4. Select Restart
  5. Write any comment .
  6. Click on Ok
  7. If operation is success - You'll see message "Succeeded machine_name" . If Failed you'll see "Failed"

Saturday, May 11, 2013

QTP : Excel As DataBase

 Excel As DataBase


Create an excel book in "c:\1.xlsx" and  name any sheet as "Sheet1" (Default name). In  Sheet 1 , the 1st row is the column names , the rest of the rows forms the data .


CODE BELOW:

Dim objCon, objRecordSet, strExlFile, colCount, row, i

Set objCon = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")

sPath="c:\1.xlsx"
sSheetname="Sheet1"

objCon.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="& sPath &";Extended Properties=Excel 12.0;Persist Security Info=False"
strSQLStatement = "SELECT * FROM ["& sSheetname &"$]"

objRecordSet.Open strSQLStatement, objCon 'create recordset
colCount = objRecordSet.Fields.count 'Number of columns in the table

While objRecordSet.EOF=false
row=""
For i=0 to colCount-1
row=row &" "& objRecordSet.fields(i)
Next
'Print row 'If you are running this in Qtp you can uncomment this line
msgbox row
objRecordSet.moveNext
Wend

Set objRecordSet = Nothing
objCon.Close
Set objCon = Nothing

Friday, May 10, 2013

Qtp 11 not identifying .NetObjects

Qtp 11 not identifying .NetObjects


Our app was upgraded from existing Infragistics 2009.1 to 12.2 . We needed to make sure app had no bugs after upgrade.Therefore our automation Framework needed to keep up with that.


Here is following upgrades on App
1.Upgrading from 32Bit to  64 Bit
2.Upgrading to Xp sp 3 to 7
3.Upgrading Dot Net FW 3.5 to 4
4.Upgrading to Net Advantage 12.2

Simultaneous Qtp upgrades needed for automation
1. DotNetFW 4.0 which our new app uses does not support our existing Qtp 10 we need 11 or above.
2. Since Dev Team will be getting Infragistics Net Advantage 12.2 , I suggested we must be equipped with Test adv 12.2

Download QTP 11.0 Link
http://www8.hp.com/us/en/software-solutions/software.html?compURI=1172957#
Click on > Trials and Demos >Select Hp QTP Essentials 11.0 English Evaluation (Web Gui testing only)

During my analysis these are the following findings :

1.  Qtp 11.5 or Unified Functional Testing Tool 11.5 is only compatible with ALM (App LifeCycle Managment )   10 or above . Meaning if you are using QC  you are screwed.
2.  Test Advantage 12.2 requires at-least Qtp (Uft) 11 or above.
3. Unlike Qp 11.5 , Qtp 11 is compatible with both QC and Alm.

Sl no
Environment
Vxxxx64xxxx
Dxxxx32
Axxxxxx32
Vxxxx64_2
1
Machine Type
64 Bit
32 Bit
32 Bit
64 Bit
2
Operating System
64 bit  Xp
Xp
Xp
64 Bit Xp
3
Dot Net Framework Version
·         MS Dot Net Framework 2.0
·         MS Dot Net Framework 3.0
·         MS Dot Net Framework 3.5
·         MS Dot Net Framework Full 4.0
Same
Same
Same
4
QTP Version
Qtp 11 Demo
Qtp 11 Demo
Qtp 11 Demo
Qtp 11 Demo
5
Net Advantage Version
12.2
12.2
12.2
12.2
6
Test Advantage
No
12.2  Demo
12.2 Demo
No
7
Object Identification For Current app ( 3.0 ) using  QTP 11.0
Yes
Yes
Yes
Yes
8
Object Identification For New app (1.0)  using QTP 11.0
No
Yes
Yes
No
















Now I chose Qtp 11 as we had our scripts integrated with QC.But  Qtp 11.0 was not able to recognize any objects on the application .

After slogging for 3 days , here are the solutions :-)

Solution 1 :
 
1.Install Qtp 11 , along with dot Net addins (at the start of qtp installation  , installer asks whether to install  .net addin)
2. Install Infragistics Test advantage 12.2 (Demo is free of cost ). (Doing this  triggers the part of Qtp brain which handles DotNet to start working).You can disable infragistics(Desktop>Start>Infragistics) in version settings.
3.Once you have installed go to/ Documents and Settings and search for "Sample" , infragistics provides you with sample DotNet app to test .Try working on it .Qtp should be able to recognize , now start testing on your app.


Solution 2:
1.Install Patch QTP_00699
2.Here unpacking takes more time and looks similar to installation and sometimes installation will overlap unpacking.If is asks "Another installation is in process do you want to continue " Press Yes. I had mistaken this part and paid huge price.
3.Install Patch QTP_00709. (Your qtp will start to identify objects as Winobjects in record mode )
4.Install Patch Qtpnet_0051

Now your Qtp should be able to record objects in good old  " Swf " fashion .


Note :All the patches mentioned above comes with QTP 11 ,yeah that's right even with Demo version.