Saturday, 1 November 2014

Learn QTP Core Concepts

Hello there - On this Page, you will find all concepts of QTP (UFT).

QTP (UFT) Specific Concepts
  1. Object Repository in QTP
  2. Descriptive Programming
  3. QTP Test Settings
  4. Recovery Scenario in QTP
  5. Datatable in QTP
  6. Utility Objects in QTP
  7. Taking a screenshot in QTP
  8. Adding Standard Checkpoints in QTP
  9. Understanding Output Value in QTP
  10. Transactions in QTP
  11. Regular Expression Evaluator in QTP
  12. Code to view associated library file in QTP
  13. How to open website in any browser in QTP
  14. Loading ini file in QTP
  15. Folder structure and File extensions in QTP
  16. Difference between QTP 10 and QTP 11

QTP, VBScript, WSH and Windows PowerShell
  1. Error Handling in QTP
  2. File System Object
  3. Dictionary Object
  4. Defining Arrays in QTP
  5. Array and Dictionary in QTP
  6. Regular Expressions in QTP
  7. QTP and Databases
  8. Web Application Testing using HTML DOM in QTP
  9. String handling in QTP
  10. Date and Time in QTP
  11. Maths functions in QTP
  12. Classes in Vbscript and QTP
  13. Data Type Conversions in VBScript
  14. Msgbox function in VBScript
  15. Round, int and fix in VBScript
Miscellaneous Topics
You may also be interested in
  1. Selenium + Java Tutorial
  2. Selenium + C#.Net Tutorial
You may also like non-technical stuff :)

  1. How to double your money

Please give your inputs, suggestions, feedback to Us about above QTP topic. We value your thoughts. You can write to me at reply2sagar@gmail.com

QTP and Date Time functions

Hello there - Please find below various questions related to date and time manipulation in QTP.
  1. How to extract date part from timestamp in QTP?
  2. How to find the name of month of given date in QTP?
  3. How to extract time part from given date in QTP?
  4. How to extract the second part from given time stamp in QTP?
  5. Explain dateadd function in qtp with Example.
  6. How to find future date in qtp?
  7. How to get the system date in qtp?
  8. How to verify the date format in qtp?
  9. How to find the yesterday's date in qtp
  10. How to find the date difference in qtp
  11. How to get the current system date in qtp?
  12. How to get the current year in qtp?
  13. How to find the name of week day for given date in QTP?
  14. Explain now function in qtp.
  15. Explain the datediff function in qtp.
Please give your inputs, suggestions, feedback to Us about above QTP topic. We value your thoughts. You can write to me at reply2sagar@gmail.com

QTP and Database Testing

We can verify values from any data bases like Microsoft Access, Excel, SQL Server using QTP.
Please follow below links to see the examples.

  1. Connecting to MS Access DB
  2. Connecting to Excel
  3. Connecting to SQL Server
  4. Insert the data into database in QTP.
  5. SQL-QTP questions.

I will be adding more examples here soon.

Please give your inputs, suggestions, feedback to Us about above QTP topic. We value your thoughts. You can write to me at reply2sagar@gmail.com

Sunday, 5 October 2014

What is the difference between QTP (UFT) and Selenium?

QTP and Selenium are the most popular automation testing tools in the testing industry.

Please find below the difference between QTP and Selenium below.

  1. QTP can be used to automate desktop and web applications developed in .Net, Java, VB.Net, Siebel, Peoplesoft etc. But Selenium can be used to automate only web applications.
  2. QTP is a licensed tool developed by HP. While Selenium is an open source tool.
  3. QTP only supports vb scripting. Selenium automation can be done using Java, .Net, PHP, Python, Ruby.
  4. In QTP, there is a concept of object repository to store the objects in the application. In selenium there is no such concept. In Selenium we can identify elements in the web page using xpath, css selectors etc.

Please give your inputs, suggestions, feedback to Us about above QTP topic. We value your thoughts. You can write to me at reply2sagar@gmail.com

Sunday, 6 July 2014

How to click on the buttons in table cells in QTP?

In software testing projects, many times we come across situations where we have to perform the operation on the objects relative to other objects. For example - in below table we have three view buttons. So to click on the view button for given emp id, you will have to first find the row number in which that emp id exists and then click on the view button in that row.
                     Emp Id                                Action                     
78989
7777
9999

We can use HTML DOM concept to handle such situations.
We can find the TD element which contains employee id say 7777. After this, we can use nextSibling property of the TD element to get the Next TD element and then find the child object (Button) of that TD using getElementsByName method.

In windows based applications, we can use relative identifier (Supported in QTP 11.5 onwards and UFT).

Please give your inputs, suggestions, feedback to Us about above QTP topic. We value your thoughts. You can write to me at reply2sagar@gmail.com

How to connect to sql server in QTP

Connecting to sql server is easy in QTP. In below example, we have connected to sql server.
The name of database is empdb. We have created a DSN called sqlserver.

'fetch data from database
Set db = createobject("ADODB.Connection")
'open the connection to empdb database.

db.Open "DSN=sqlserver;Database=empdb"
'create record set object

Set rst = createobject("ADODB.Recordset")
'fire the query

rst.Open "select * from emp", db,3
id = rst.RecordCount
For i=0 to id-1
'read data from table

print rst.fields(0) & rst.fields(1)
rst.Movenext
Next

Please give your inputs, suggestions, feedback to Us about above QTP topic. We value your thoughts. You can write to me at reply2sagar@gmail.com

Tuesday, 24 June 2014

Online Training for QTP in India, USA, UK, Europe, Australia, New Zealand

Hello friends,
                    If you want to learn QTP quickly, you can attend the online classes/tutions. Please find more details about online training of QTP.

QTP Online Training features
  1. We will have interactive sessions via online meetings with video conferencing.
  2. To register for the online course, you have to send an email to reply2sagar@gmail.com
  3. Further details will be sent to you after your registration is confirmed.
  4. You can ask questions during the session and clarify your doubts.
  5. You should have a headset and computer with Internet Connection.
  6. Live training will be given on QTP.
  7. Cost of the training will be $250
QTP Syllabus
There will be 8 sessions of 1 hour each as mentioned below
  1. QTP Basics, GUI, Record and Playback, Actions and Tests, Test Settings in QTP. 
  2. Object Spy, Object Identification Mechanism, Object Repository (Local and Shared). 
  3. QC - QTP - Connection, Checkpoints and output values, OR Manager, Recovery Scenarios.
  4. Description Programming in QTP - Static and Dynamic, Datatable object, Debugging in QTP. 
  5. Excel Programming in QTP, Working with Databases in QTP.
  6. QTP and VB Scripting, Utility Objects in QTP.
  7. File Handling in QTP, Sending mails, Regular Expression in QTP, Other automation tools
  8. Frameworks in QTP.
Timings and Duration
  1. New batch starts every Saturday.
  2. Each class will be of 1 hour.
  3. Timing is 9 PM India time everyday except Monday.
  4. There will be total 8 sessions.
Get In touch with me by Gmail, Facebook, What's app, Skype.

Gmail                reply2sagar@gmail.com
Skype               revert2sagar
Facebook         https://www.facebook.com/sagar.salunke.186
What's app       +919850182384

Cities which we cover are given below
  1. India - Pune, Bangalore, Chennai, Delhi, Mumbai, Hyderabad, Kolkata
  2. USA - New York, New Jersey,Boston, Chicago, Houston, Philadelphia, Phoenix, San Antonio, San Diego, Dallas, San Jose, Austin, Indianapolis, San Francisco, Detroit, El Paso, Memphis, Seattle, Denver, Washington, Nashville, Baltimore,Louisville, Portland, Las Vegas, Milwaukee, Albuquerque, Tucson, Fresno, Sacramento, Long Beach, Kansas City, Mesa, Virginia Beach, Atlanta, Colorado Springs, Omaha, Raleigh, Miami, Oakland, Minneapolis, Tulsa, Cleveland, Wichita, Arlington, New Orleans, Bakersfield, Tampa, Honolulu, Aurora, Anaheim, Santa Ana, St. Louis, Riverside, Corpus Christi, Lexington, Pittsburgh, Anchorage, Stockton, Cincinnati, Saint Paul, Toledo, Greensboro Newark, Plano, Henderson, Lincoln, Buffalo, Jersey City, Chula Vista, Fort Wayne, Orlando, St. Petersburg, Chandler, Laredo, Norfolk, Durham, Madison, Lubbock, Irvine, Winston–Salem, Glendale, Garland, Hialeah, Reno, Chesapeake, Gilbert, Baton Rouge, Irving, Scottsdale, North Las Vegas, Fremont, Boise, Richmond, San Bernardino, Birmingham, Spokane Rochester, Des Moines, Modesto, Fayetteville, Tacoma, Oxnard, Fontana, Columbus, Montgomery, Moreno Valley, Shreveport, Aurora, Yonkers, Akron, Huntington Beach, Little Rock, Augusta, Amarillo, Glendale, Mobile, Grand Rapids, Salt Lake City, Tallahassee, Huntsville, Grand Prairie, Knoxville, Worcester, Newport News, Brownsville, Overland Park, Santa Clarita, Providence, Garden Grove, Chattanooga, Oceanside, Jackson, Fort Lauderdale, Santa Rosa, Rancho Cucamonga, Port St. Lucie, Tempe, Ontario, Vancouver, Cape Coral, Sioux Falls, Springfield, Peoria, Pembroke Pines, Elk Grove, Salem, Lancaster, Corona, Eugene, Palmdale, Salinas, Springfield, Pasadena, Fort Collins, Hayward, Pomona, Cary, Rockford, Alexandria Escondido, McKinney, Kansas City, Joliet, Sunnyvale, Torrance, Bridgeport, Lakewood, Hollywood, Paterson, Naperville, Syracuse Mesquite, Dayton, Savannah, Clarksville, Orange, Pasadena, Fullerton, Killeen, Frisco, Hampton, McAllen, Warren Bellevue, West Valley City, Columbia, Olathe, Sterling Heights, New Haven, Miramar, Waco, Thousand Oaks, Cedar Rapids, Charleston, Visalia, Topeka, Elizabeth, Gainesville, Thornton,Roseville, Carrollton, Coral Springs, Stamford,Simi Valley,Concord,Hartford, Kent, Lafayette,Midland,Surprise,Denton,Victorville,Evansville, Santa Clara,Abilene,Athens,Vallejo,Allentown,Norman,Beaumont, Independence,Murfreesboro,Ann Arbor,Springfield,Berkeley, Peoria,Provo,El Monte,Columbia,Lansing,Fargo,Downey,Costa Mesa Wilmington, Arvada,Inglewood, Miami Gardens, Carlsbad, Westminster, Rochester, Odessa,Manchester,Elgin, West Jordan,Round Rock, Clearwater, Waterbury, Gresham,Fairfield,Billings,Lowell,Ventura,Pueblo,High Point, West Covina,Richmond,Murrieta,Cambridge,Antioch,Temecula,Norwalk,Centennial, Everett,Palm Bay,Wichita Falls,Green Bay,Daly City,Burbank,Richardson, Pompano Beach,North Charleston,Broken Arrow,Boulder,West Palm Beach, Santa Maria,El Cajon,Davenport,Rialto,Las Cruces,San Mateo,Lewisville, South Bend,Lakeland,Erie,Tyler,Pearland,College Station
  3. UK - London, Bath, Birmingham, Bradford, Bristol, Sheffield, Nottingham, Liverpool, Tyneside, Hampshire, Glasgow, Yorkshire, Midlands, Manchester, Bristol, Belfast, Edinburgh, Brighton, Dorset, Leicester, Portsmouth, Reading, Teesside, Potteries.
  4. Australia - Sydney, Melbourne, Perth, Brisbane, Perth, Adelaide, Gold Coast, New Castle, Canberra, Sunshine Coast,Wollongong, Hobart, Geelong, Townsville, Cairns, Darwin, Toowoomba, Ballarat, Bendigo, Launceston, Albury-Wodonga, Mackay, Rockhampton, Bundaberg, Bunbury, Coffs Harbour, Wagga Wagga, Hervey Bay, Mildura-Wentworth, Shepparton-Mooroopna, Gladstone-Tannum Sands,  Port Macquarie, Tamworth, Traralgon-Morwell, Orange, Geraldton, Bowral-Mittagong, Dubbo, Nowra-Bomaderry, Bathurst, Warrnambool, Kalgoorlie-Boulder, Busselton, Albany, Warragul-Drouin, Devonport
  5. New Zealand - Auckland, Wellington, Hamilton, Tauranga, Christchurch, Napier-Hastings, Dunedin, Palmerston North, Nelson, Rotorua, New Plymouth, Whangarei
  6. Singapore - South West, Central, North West
  7. Canada - Toronto, Montreal, Vancouver, Edmonton, Winnipeg, Calgary, Ottawa–Gatineau, Quebec
  8. Germany- Berlin, Hamburg, Munich, Cologne, Frankfurt, Stuttgart, Dusseldorf, Dortmund, Essen, Bremen, Dresden, Leipzig, Hannover, Nuremberg, Duisburg, Bochum, Wuppertal, Bonn, Bielefeld, Mannheim, Karlsruhe, Munster, Warragul-Drouin, Wiesbaden, Augsburg, Aachen, Mönchengladbach, Gelsenkirchen, Braunschweig, Chemnitz, Kiel, Krefeld, Halle, Freiburg, Magdeburg, Oberhausen, Lubeck, Erfurt, Rostock, Mainz, Kassel, Hagen, Hamm, Mulheim-an-der-Ruhr, Saarbrucken, Herne, Ludwigshafen-am-Rhein, Osnabruck, Oldenburg, Leverkusen, Solingen, Potsdam, Neuss, Heidelberg, Paderborn, Darmstadt, Regensburg, Wurzburg, Ingolstadt,  Heilbronn, Ulm, Gottingen, Wolfsburg, Offenbach-am-Main, Pforzheim, Recklinghausen, Bottrop,  Furth,Bremerhaven,Reutlingen,Remscheid,Koblenz,Bergisch-Gladbach,Trier, Erlangen, Moers, Jena, Salzgitter, Siegen, Cottbus, Hildesheim.
  9. France- Paris, Marseille, Lyon, Toulouse, Nice, Nantes, Strasbourg, Montpellier, Bordeaux, Lille, Rennes, LeHavre, Reims, Saint-Etienne, Toulon, Grenoble, Angers, Dijon, Brest, Le-Mans, Clermont-Ferrand, Amiens, Aix-en-Provence, Limoges, Nîmes, Tours, Saint-Denis, Villeurbanne, Metz, Besancon, Caen, Orleans, Mulhouse, Rouen, Boulogne-Billancourt, Perpignan, Nancy, Roubaix, Fort-de-France, Argenteuil, Tourcoing, Montreuil, Saint-Paul, Avignon, Saint-Denis, Versailles, Nanterre, Poitiers, Creteil, Aulnay-sous-Bois, Vitry-sur-Seine, Pau, Calais, Colombes, La-Rochelle, Asnieres-sur-Seine.
  10. Spain-Madrid, Barcelona, Valencia, Seville, Bilbao, Malaga, Oviedo–Gijon–Aviles, Alicante–Elche, Las-Palmas, Zaragoza, Murcia–Orihuela, Palma, Vigo, Cartagena, Cadiz, San-Sebastian, Valladolid, Tarragona, Cordoba, Pamplona, Alzira–Xativa, Vitoria-Gasteiz, Huelva, Almería, Salamanca, León, Albacete, Jaen–Martos, Burgos, Logrono, Ferrol–Narón, Lleida, Girona–Salt, Badajoz, Ourense, Benidorm, Gandia, Blanes, Manresa, Marbella, Torrelavega, Vic–Manlleu, Guadalajara, Lugo, Palencia,Toledo.
  11. Russia - Moscow, Saint, Petersburg, Novosibirsk, Yekaterinburg, NizhnyNovgorod, Samara, Kazan, Omsk, Chelyabinsk, Rostov-na-Donu, Ufa, Volgograd, Perm, Krasnoyarsk, Voronezh, Saratov, Tolyatti, Krasnodar, Izhevsk, Yaroslavl.
  12. Sweden - Stockholm, Gothenburg, Malmo,Uppsala, Linkoping, Vasteras, Orebro, Norrkoping, Helsingborg, Jonkoping, Lund, Umea, Gavle, Boras, Eskilstuna, Sodertalje, Karlstad, Taby, Vaxjo, Halmstad.
  13. Belgium - Antwerp, Ghent, Charleroi, Liege, Brussels, Bruges, Schaerbeek, Anderlecht, Namur, Leuven, Mons, Mechelen, Ixelles, Aalst, Uccle, La-Louviere, Hasselt, Kortrijk, Sint-Niklaas, Ostend, Tournai, Genk, Seraing, Roeselare, Mouscron, Verviers, Forest, Saint-Gilles, Jette, Beveren, Etterbeek, Dendermonde, Beringen, Turnhout, Vilvoorde, Dilbeek, Lokeren, Sint-Truiden, Herstal, Geel, Ninove, Maasmechelen, Brasschaat, Halle, Waregem, Chatelet, Grimbergen, MolYpres, Lier, Evergem, Schoten, Knokke-Heist, Lommel, Wavre, Tienen, Binche, Geraardsbergen, Menen, Bilzen, Wevelgem.
  14. Switzerland - Zurich, Geneva, Basel, Lausanne, Bern, Lucerne, Winterthur, St-Gallen, Lugano, Biel, Thun, Köniz, La-Chaux-de-Fonds, Schaffhausen, Fribourg, Vernier, Chur, Neuchâtel, Uster, Sion, Kriens.
  15. Denmark - Copenhagena, Aarhus, Odense, Aalborgb, Frederiksberga, Esbjerg, Gentoftea, Gladsaxea, Randers, Kolding, Horsens, Lyngby-Taarbæka, Vejle, Hvidovrea, Roskilde, Helsingor, Herning, Silkeborg, Naestved, Greve-Stranda, Tarnbya, Fredericia, Ballerupa, Rodovrea, Viborg, Koge, Holstebro, Brondbya, Taastrupa, Slagelse, Hillerød, Albertslunda, Sonderborg, Svendborg, Herleva, Holbaek, Hjorring, Horsholm, Frederikshavn, Glostrupa, Haderslev, Norresundbyb, Ringsted, Skive.
  16. Greece - Athens, Thessaloniki, Patras, Piraeus, Larissa, Heraklion, Peristeri, Kallithea, Acharnes, Kalamaria, Nikaia, Glyfada, Volos, Ilio, Ilioupoli, Keratsini, Evosmos, Chalandri, Nea-Smyrni, Marousi, Agios-Dimitrios, Zografou, Egaleo, Nea-Ionia, Ioannina, Palaio-Faliro, Korydallos, Trikala, Vyronas, Agia-Paraskevi , Galatsi, Chalcis, Petroupoli, Serres, Alexandroupoli, Xanthi, Katerini, Kalamata, Kavala, Chania, Lamia , Komotini, Irakleio, Rhodes, Kifissia, Agrinio, Stavroupoli, Chaidari, Drama.
  17. Georgia - Tbilisi, Kutaisi, Batumi, Rustavi, Zugdidi, Gori, Poti, Samtredia, Khashuri, Senaki, Zestafoni,Marneuli, Telavi, Akhaltsikhe, Kobuleti, Ozurgeti, Tsqaltubo, Kaspi, Gardabani, Chiatura, Tqibuli, Borjomi, Sagarejo, Bolnisi, Khoni, Gurjaani, Akhalkalaki .
  18. Italy - Rome, Milan, Naples, Turin, Palermo, Genoa, Bologna, Florence, Bari, Catania, Venice, Verona, Messina, Padua, Trieste, Taranto, Brescia, Prato, Reggio-Calabria, Modena, Parma, Perugia, Reggio, Livorno, Ravenna, Cagliari, Foggia, Rimini, Salerno, Ferrara, Sassari, Syracuse, Pescara, Monza, Latina, Bergamo, Forlì, Trento, Vicenza, Terni, Novara, Bolzano, Piacenza, Ancona, Arezzo, Andria, Udine, Cesena, Lecce, La-Spezia, Pesaro, Alessandria, Barletta, Catanzaro, Pistoia, Brindisi, Pisa, Torre-del-Greco, Como, Lucca, Guidonia-Montecelio, Pozzuoli, Treviso, Marsala, Grosseto, Busto.
  19. Turkey - Istanbul, Ankara, Izmir, Bursa, Adana, Gaziantep, Konya, Antalya, Kayseri, Mersin, Eskişehir, Diyarbakır, Samsun, Denizli, Şanlıurfa, Adapazarı, Malatya, Kahramanmaraş, Erzurum, Van, Batman,  Elazıg, Izmit, Manisa, Sivas, Gebze, Balıkesir, Tarsus, Kutahya, Trabzon, Corum, Corlu, Adıyaman, Osmaniye, Antakya, Aydın, Iskenderun, Usak, Aksaray, Afyon, Isparta, Inegol, Tekirdag, Edirne, Darıca, Ordu, Karaman.
  20. Iceland - Reykjavík, Kopavogur, Hafnarfjorour, Akureyri, Keflavík, Garoabær, Mosfellsbær, Akranes, Selfoss, Njarovík, Seltjarnarnes, Vestmannaeyjar, Grindavík, Sauoarkrokur, Ísafjorour, Alftanes, Hverageroi, Egilsstaoir, Husavík, Borgarnes, Sandgeroi, Hofn, Porlakshofn, Dalvík, Garour, Neskaupstaour, Siglufjorour, Reyoarfjorour, Vogar, Stykkisholmur, Eskifjorour, Olafsvik.
  21. Ireland - Dublin, Ennis, Cork, Kilkenny, Limerick, Tralee, Galway, Carlow, Waterford, Newbridge, Drogheda, Naas, Dundalk, Athlone, Swords, Portlaoise, Bray, Mullingar, Navan, Wexford.
  22. Ukraine - Kyiv, Kharkiv, Dnipropetrovsk, Odesa, Donetsk, Zaporizhia, Lviv, Kryvyi Rih, Mykolaiv, Mariupol, Luhansk, Makiivka, Vinnytsia, Simferopol, Sevastopol, Kherson, Poltava, Chernihiv, Cherkasy, Sumy, Horlivka, Zhytomyr, Dniprodzerzhynsk, Kirovohrad, Khmelnytskyi, Rivne, Chernivtsi, Kremenchuk, Ternopil, Ivano-Frankivsk, Lutsk, Bila Tserkva, Kramatorsk, Melitopol, Kerch, Nikopol, Sloviansk, Berdiansk, Sieverodonetsk, Alchevsk, Pavlohrad, Uzhhorod, Lysychansk, Yevpatoria, Yenakiieve, Kamianets-Podilskyi, Kostiantynivka, Krasnyi-Luch, Oleksandriia.
  23. Poland - Warszawa, Krakow, Lodz, Wroclaw, Poznan, Gdansk, Szczecin, Bydgoszcz, Lublin, Katowice, Białystok, Gdynia, Czestochowa, Radom, Sosnowiec, Toruń, Kielce, Gliwice, Zabrze, Bytom, Olsztyn, Bielsko-Biala, Rzeszow, Ruda-Sląska, Rybnik, Tychy, Dąbrowa-Gornicza, Plock, Opole, Elbląg, Gorzow-Wielkopolski, Walbrzych, Wlocławek, Zielona-Gora, Tarnow, Chorzow, Kalisz, Koszalin, Legnica, Grudziądz, Slupsk, Jaworzno, Jelenia Gora, Nowy Sącz, Konin, Siedlce, Lubinm, Inowroclaw, Myslowice, Pila, Pabianice, Gniezno, Suwalki, Glogow, Chelm, Przemysl, Zamosc, Leszno, Lomza, Zory, Belchatow, Mielec, Tarnowskie-Gory, Tczew, Swidnica, Bedzin, Zgierz, Biala-Podlaska, Raciborz, Elk, Pruszkow, Swietochlowice, Ostroleka, Starachowice, Zawiercie, Legionowo, Tarnobrzeg, Pulawy, Wodzislaw-Sląski, Radomsko
  24. Netherlands - Amsterdam, Enschede, Rotterdam, Apeldoorn, The Hague, Haarlem, Utrecht, Amersfoort, Eindhoven, Zaanstad, Tilburg, Arnhem, Groningen, Haarlemmermeer, Almere, Breda, Zoetermeer, Nijmegen, Zwolle.
  25. Romania - Bucharest, Cluj-Napoca, Timișoara, Iasi, Constanța, Craiova, Brașov, Galați, Ploiesti, Oradea, Braila, Arad, Pitesti, Sibiu, Bacau, Targu-Mureș, Baia-Mare, Buzau, Botosani, Satu-Mare, Ramnicu-Valcea, Drobeta-Turnu-Severin, Suceava, Piatra-Neamț, Targu-Jiu, Targoviste, Focsani, Bistrița, Tulcea, Resița, Slatina, Calarasi, Alba-Iulia, Giurgiu, Deva, Hunedoara, Zalau, Sfantu-Gheorghe, Barlad, Vaslui, Roman, Turda, Medias, Slobozia, Alexandria, Voluntari, Lugoj, Medgidia, Onesti, Miercurea-Ciuc, Sighetu-Marmatiei.
  26. Kazakhstan - Aktau, Aktobe, Almaty, Arkalyk,Astana, Atyrau, Baikonur, Balqash, Zhezkazgan, Karagandy, Kentau,  Kyzylorda, Kokshetau, Kostanay, Zhanaozen, Pavlodar, Petropavl, Ridder, Saran, Satpayev, Semey, Stepnogorsk, Taldykorgan, Taraz, Temirtau, Turkistan, Oral, Oskemen, Shymkent, Shahtinsk, Shuchinsk, Ekibastuz.
  27. Hungary  - Budapest, Debrecen, Miskolc, Szeged, Pecs, Gyor, Nyíregyhaza, Kecskemet, Szekesfeharvar, Szombathely, Szolnok, Tatabanya, Kaposvar, Erd, Veszprem, Bekescsaba, Zalaegerszeg, Sopron, Eger, Nagykanizsa. 
  28. Portugal  - Lisbon, Agualva-Cacem, Sintra, Queluz, Vila-Nova-de-Gaia, Guimaraes, Porto, Viseu, Braga, Rio-Tinto, Amadora, Aveiro, Funchal, Odivelas, Coimbra, Matosinhos, Setubal, Amora, Almada, Ponta-Delgada.
  29. Bulgaria - Sofia, Plovdiv, Varna, Burgas, Ruse, Stara-Zagora, Pleven, Sliven, Dobrich, Pernik, Shumen, Haskovo, Yambol, Pazardzhik, Blagoevgrad, Veliko-Tarnovo, Vratsa, Gabrovo, Asenovgrad, Vidin.
  30. Azerbaijan  - Baku, Khachmaz, Sumqayit, Agdam, Ganja, Jalilabad, Mingachevir, Khankandi, Lankaran, Shirvan, Nakhchivan, Shamkir, Shaki, Yevlakh.
  31. Belarus - Minsk, Barysaw, Salihorsk, Maladzyechna, Vitsyebsk, Orsha, Navapolatsk, Polatsk, Mahilyow, Babruysk, Homyel, Mazyr, Zhlobin, Brest, Baranavichy, Pinsk, Hrodna, Lida.
  32. Slovakia - Bratislava, Prievidza, Kosice, Zvolen, Presov, Povazska-Bystrica, Zilina, Banska-Bystrica, Nitra, Trnava, Martin, Trencín, Poprad.
  33. Croatia - Zagreb, Split, Rijeka, Osijek, Zadar, Pula, Slavonski-Brod, Karlovac, Varazdin, Sibenik, Sisak, Vinkovci, Velika-Gorica.
  34. Moldova - Chisinau, Tiraspol, Balti, Bender, Ribnita, Cahul, Ungheni.
  35. Serbia  - Belgrade, Novi-Sad, Nis, Kragujevac, Subotica, Zrenjanin, Pancevo, Cacak, Novi -Pazar, Kraljevo, Smederevo, Leskovac, Valjevo, Krusevac, Vranje, Sabac, Uzice, Sombor, Pozarevac, Pirot.
  36. Macedonia - Skopje, Bitola, Kumanovo, Prilep, Tetovo, Veles, Stip, Ohrid, Gostivar, Strumica.
  37. Finland - Helsinki, Espoo, Tampere, Vantaa, Oulu, Turku, Jyvaskyla, Kuopio, Lahti, Kouvola, Pori, Joensuu, Lappeenranta, Hameenlinna, Vaasa, Rovaniemi, Seinajoki, Salo, Kotka.
  38. Armenia - Yerevan, Charentsavan, Gyumri, Vanadzor, Vagharshapat, Hrazdan, Abovyan, Kapan, Armavir, Gavar, Artashat.
  39. Norway - Oslo, Bergen, Stavanger, Trondheim, Kristiansand, Sarpsborg, Drammen, Skien, Tromso.
  40. Montenegro - Podgorica, Niksic, Pljevlja, Bijelo-Polje.
  41. Latvia - Riga, Vilnius, Tallinn, Kaunas, Klaipėda, Siauliai, Tartu, Panevezys, Daugavpils.
  42. Albania - Tirana, Durres, Vlore, Elbasan, Shkoder, Fier, Korce, Gjirokaster.
  43. Slovenia -  Ljubljana, Celje, Kranj, Velenje, Koper.
  44. Estonia - Tallinn, Tartu, Narva, Parnu, Kohtla-Jarve.
  45. Lithuania - Vilnius, Kaunas, Klaipeda, Siauliai, Panevezys.
  46. Cyprus - Nicosia, Limassol, Larnaca, Paphos, Kyrenia, Famagusta.
  47. Kosovo - Pristina, Prizren, Ferizaj, Pec, Gjakova, Gnjilane, Podujevo, Mitrovica, Vucitrn, Suva-Reka, Glogovac, Lipljan, Orahovac, Malisevo, Skenderaj, Vitina, Decan.
  48. Luxembourg - Luxembourg-City, Esch-sur-Alzette, Dudelange.
  49. Northern-Cyprus - North-Nicosia, Famagusta, Kyrenia.
Many Professionals have found this online course very useful to learn the important concepts of QTP. So if you wanna add extra skill to your resume, you can join this class. You have to just send an email to reply2sagar@gmail.com

Please give your inputs, suggestions, feedback to Us about above QTP topic. We value your thoughts. You can write to me at reply2sagar@gmail.com

Thursday, 15 May 2014

QTP job openings in Pune

If you are looking for QTP/Selenium job in pune, you can contact me at reply2sagar@gmail.com.

Job Location-
    Pune/Bangalore/Delhi

Job Description -
  1. Good understanding of Testing Concepts.
  2. Should be able to develop QTP framework.
  3. Banking and Finance experience is preferred.
  4. Should know QC and other test management tools.
  5. Should be good at test design and execution.
  6. Should know about test reporting.
Experience Level 
2-8 years of experience is required.

Companies having job openings.
  1. Wipro
  2. Cognizant
  3. Sungard
  4. Infosys
  5. Tech Mahindra.
QTP Interview and Selection Process-

Please make sure that you read all the topics on this blog before you forward your resume to me. I have covered all QTP concepts on this blog. Once you are confident about QTP, then you can send me your resume. Please make sure that resume file name should be in the below format.

Name_TotalExp_Skill_Domain_currentlocation   E.g. Sagar_3.2years_QTP_Banking_Pune.
  1. I will send your resume to recruitment team. 
  2. I will also upload your resume in the company database.
  3. You will get the mail asking you to upload your resume.
  4. Then you will get an interview call.
Please give your inputs, suggestions, feedback to Us about above QTP topic. We value your thoughts. You can write to me at reply2sagar@gmail.com

Friday, 18 April 2014

What is UFT?

UFT stands for unified functional testing.
UFT is the product from HP which was earlier known as  Quick Test Professional (QTP).
UFT 12.0 is the latest stable version which was released in march 2014.

All concepts of QTP are same.

Some additional features of UFT 12.0 are given below.

  1. Stylish GUI
  2. Built-In support for Internet Explorer 8, 9, 10 and 11
  3. Built in Support for Chrome and Firefox
  4. Installation is very fast as compared to earlier versions of QTP.
  5. QC connectivity is renamed as ALM (Application Lifecycle Management) connectivity.
  6. Print statement generates the log in embedded log window instead of separate window. 

If you are preparing for an UFT interview , you can visit below links.

  1. UFT interview Questions and Answers -Advanced-1
  2. UFT interview Questions and Answers -Advanced-2
  3. Keyword Driven Framework in UFT
  4. UFT Tutorial
Remember that all basic concepts of QTP are same in UFT as well. It is just another new version of QTP tool by HP.


Please give your inputs, suggestions, feedback to Us about above QTP topic. We value your thoughts. You can write to me at reply2sagar@gmail.com

Thursday, 20 February 2014

How to find the column number for given column name in webtable in QTP?

Below QTP example shows how we can find out the column position/number for the given column name in the webtable using QTP.

Suppose you know the column name as "Quantity", then you can get it's position using below line of code.
Below function will return the position of the given column in the table. If the column is not found in the table, -1 is returned.

print GetColumnNumber(ObjParent.Webtable("mytable"), "Quantity")


Function GetColumnNumber(byval table, byval columnName)


Result = false

intColumnCount = table.ColumnCount(1)
print "row count " & intColumnCount

For j = 1 to intColumnCount
curColumn =table.GetCellData (1, j)
print curColumn

'It is important to remove the extra spaces using trim function to match the column name properly  
If ucase(trim(columnName)) = ucase(trim(curColumn)) Then
GetColumnNumber=j
Exit Function
        end if
next

GetColumnNumber = -1 

End Function


Please give your inputs, suggestions, feedback to Us about above QTP topic. We value your thoughts. You can write to me at reply2sagar@gmail.com

How to create random strings in QTP?

Sometimes we need to create the test data randomly  in the form of strings (numerical, alphanumerical and alphabetical) at run time. I have created one function that will give you random strings.

'to get only alphabetical strings, pass 1 as input
print getRandomString(1)

'to get only alphanumerical strings , pass 2 as input
print getRandomString(2)

'to get only numerical strings , pass 3 as input
print getRandomString(3)

Function getRandomString(byval intType)

stamp = replace(replace(formatdatetime(now),":","-"),"/","")
stamp = replace(stamp,"-","")
stamp = replace(stamp," ","")

If intType = 1 Then
'only alphbetical
For i=1 to 8
Randomize 
x = x & chr( Int((90-65+1)*Rnd+65))
Next

elseIf intType = 2 Then
' alphanumeric
x = "AN" + stamp

elseIf intType = 3 Then
' only digits
x  = stamp

End If
        getRandomString = x

End Function

All the strings will be unique as they are based on time stamp.
Some of the testing scenarios where you will need such function are given below.

  1. Some times users are allowed to save the profile settings which can be loaded later on. In this case, we need to create such profile names that are unique. 
  2. Some times we need to create the entity names which are unique. For example - creating the group Ids, User Ids etc.


Please give your inputs, suggestions, feedback to Us about above QTP topic. We value your thoughts. You can write to me at reply2sagar@gmail.com

How to close all processes with given name in QTP?

While testing the applications with automation, we need to close existing applications and then start new one to avoid a clash.

Below example demonstrates how we can close all processes with given name.

Suppose if you want to close all excel processes, then you can use below code.
Call closeProcessByName("excel.exe")

Suppose if you want to close all internet explorer browser processes, then you can use below code.
Call closeProcessByName("iexplore.exe")

In similar way you can close any process given that you know the name of process

Sub closeProcessByName(byval process_name)

sComp = "."

'Get the WMI object
Set WMI = GetObject("winmgmts:\\" &  sComp &  "\root\cimv2")

'Get collection of processes with process_name like excel.exe, iexplore.exe

 Set allp = WMI.ExecQuery("Select * from Win32_Process Where Name = '" & process_name & "'")

'terminate each process
For Each p  in allp
p.Terminate()
Next 

End Sub


Please give your inputs, suggestions, feedback to Us about above QTP topic. We value your thoughts. You can write to me at reply2sagar@gmail.com

How to find the total number of rows in the webtable in QTP?

We can find the count of rows in the table in QTP using 3 ways as mentioned below.

  1. using rowcount property of QTP webtable object
  2. using GetROProperty of QTP
  3. using HTML DOM + QTP

using rowcount property of QTP webtable object
print  objParent.webtable("html id:=myTable").RowCount

using GetROProperty of QTP
print  objParent.webtable("html id:=myTable").GetROProperty("rows")

using html DOM + QTP
print  objParent.webtable("html id:=myTable").Object.rows.length

This is how you can get the total number of rows in the given table in QTP.

Please give your inputs, suggestions, feedback to Us about above QTP topic. We value your thoughts. You can write to me at reply2sagar@gmail.com

How to find all items from the weblist in QTP?

Below example illustrates how We can get the all items from the drop down in QTP.

arrWeblistItems = split(objParent.weblist("name:=listType").GetROProperty("all items"),";")

'print total number of items in the listbox
print arrWeblistItems.count

For itemCounter =0 to ubound(arrWeblistItems)
'print the value in the dropdown
print arrWeblistItems(itemCounter )
Next                                                

This is how we can print the all items in the list box in QTP.

We can also get all items in the combo box using HTML DOM + QTP as shown in below code.

Set col = ObjParent.weblist("name:=tranType").object.getElementsByTagName("option")
For i=0 to col.length-1
              'print the value in each option inside combobox
             print col(i).innerText
Next


Please give your inputs, suggestions, feedback to Us about above QTP topic. We value your thoughts. You can write to me at reply2sagar@gmail.com

How to verify if the edit box is enabled or disabled in QTP?

We can easily check if the given web object like edit box, listbox, weblist, webbutton, webcheckbox is enabled or disabled using 2 ways in QTP 

1. Example - Using getROProperty method of QTP
Below example uses the GetROProperty method to find the checkbox status

status = Browser("ABC").Page("Mypage").WebEditBox("myedit").GetROProperty("Disabled")

If the webeditbox is disabled then status will have a value - 1

If the webeditbox is enabled then status will have a value - 0

This is how we can validate if the editbox is enabled or not using QTP.

2. Example - Using HTML DOM (applies to only web applications)

status = Browser("ABC").Page("Mypage").WebEditBox("myedit").object.disabled

If the editbox is disabled then status will have a value - true

If the editbox is disabled then status will have a value - false

Please give your inputs, suggestions, feedback to Us about above QTP topic. We value your thoughts. You can write to me at reply2sagar@gmail.com

How to verify if the webcheckbox is selected or not in QTP?

Verifying if the web checkbox is selected or not is very easy in QTP.

Example - Using getROProperty method of QTP
Below example uses the GetROProperty method to find the checkbox status

status = Browser("ABC").Page("Mypage").WebCheckBox("mycheck").GetROProperty("Value")

If the checkbox is selected then status will have a value - ON

If the checkbox is not selected then status will have a value - OFF

This is how we can validate if the checkbox is selected or not using QTP.

Example - Using HTML DOM (applies to only web applications)

status = Browser("ABC").Page("Mypage").WebCheckBox("mycheck").object.checked

If the checkbox is selected then status will have a value - true

If the checkbox is not selected then status will have a value - false


Please give your inputs, suggestions, feedback to Us about above QTP topic. We value your thoughts. You can write to me at reply2sagar@gmail.com

How to Select an item from the weblist in QTP?

Selecting an item from the weblist is tricky in QTP. We have a method - select to select a specific item from the weblist.

But the item value is case sensitive. That means if you have 2 items in the list say Buy and Sell , then below code will throw an error saying can not identify the specified item of type - listType.

objParent.weblist("name:=listType").Select "BUY"  'and not Buy

But if you use below code, it will work like a charm.

objParent.weblist("name:=listType").Select "Buy"  ' and not BUY

To make the code more reliable we can use more improved code as shown below


itemToSelect = "BUY"

arrWeblistItems = split(objParent.weblist("name:=listType").GetROProperty("all items"),";")

For itemCounter =0 to ubound(arrWeblistItems)

If trim(ucase(arrWeblistItems(itemCounter))) = ucase((trim(itemToSelect))) Then
objParent.weblist("name:=listType").Select arrWeblistItems(itemCounter)
Exit for
End If

Next                                                

This is how we can select the item from the combo box in QTP regardless of case-sensitivity.

Please give your inputs, suggestions, feedback to Us about above QTP topic. We value your thoughts. You can write to me at reply2sagar@gmail.com

How to schedule QTP script execution at night?

Well - Many a times you need to schedule the test execution with QTP at night.

I am going to explain how you can write a vbscript to run QTP test at specific period of time. You can copy below code and store it in sample vbscript file say qtptask.vbs Please do not forget to change the path of the test to execute at the first line in below code.

Now go to windows scheduler through control panel and create a new task. Give the path of the vbs file you created and set the specific time at which you want to execute the QTP scripts.

That's it. Now you can go home and relax. Your QTP scripts will run automatically at the time you specified in task.

Example to launch QTP automatically

testpath = "C:\sample-scheduled-test"

'Create the QTP Application object
Set qtApp = CreateObject("QuickTest.Application") 
qtApp.Launch 

'Make the qtp application visible
qtApp.Visible = True

'open the test you want to run 
qtApp.Open testpath , True 

'start executing the test
qtApp.Test.Run

'close the test
qtApp.Test.Close

'quit the QTP application
qtApp.quit

Please give your inputs, suggestions, feedback to Us about above QTP topic. We value your thoughts.

How to find all check boxes on the webpage in QTP?

In web applications, we can find the web checkbox objects in 2 ways.
  1. using QTP childobjects method
  2. using html DOM
using QTP childobjects method

Set oDesc = Description.Create()
oDesc("micclass").Value = "Webcheckbox"

'identify objects inside parent page having micclass as Webcheckbox
set col = ObjParent.childobjects(oDesc)

'print the count of checkboxes on the page.
msgbox col.count


using HTML DOM

set col = Browser("index:=0").page("index:=0").object.getElementsByTagName("input")
msgbox col.length

'Above code will give all objects starting with input tag. You can filter those having type = checkbox using below code.


For i=0 to col.length-1
If  col(i).getAttribute("type")  = "checkbox" Then
cnt = cnt +1
End If
Next


print cnt


'above code print the type attribute value. If it is checkbox , that means given control is web checkbox.

Please give your inputs, suggestions, feedback to Us about above QTP topic. We value your thoughts. You can write to me at reply2sagar@gmail.com

How to find all web list objects on the web page in QTP?

In web applications, we can find the weblist objects in 2 ways.
  1. using QTP childobjects method
  2. using html DOM
using QTP childobjects method

Set oDesc = Description.Create()
oDesc("micclass").Value = "WebList"

'identify objects inside parent page having micclass as Weblist
set col = ObjParent.childobjects(oDesc)

'print the count of web list boxes on the page.
msgbox col.count


using HTML DOM

set col = Browser("index:=0").page("index:=0").object.getElementsByTagName("Select")
msgbox col.length


'Above code will give all objects starting with select tag - list boxes ( Drop downs) . 


Please give your inputs, suggestions, feedback to Us about above QTP topic. We value your thoughts. You can write to me at reply2sagar@gmail.com



Please give your inputs, suggestions, feedback to Us about above QTP topic. We value your thoughts. You can write to me at reply2sagar@gmail.com

Best QTP Books

Everything About QTP

Hello Friends,
You can find QTP study material, Multiple choice questions (mcq), QTP question bank, QTP question papers, QTP notes, QTP questionnaire, scenario based QTP interview questions, QTP tutorial and QTP training on this site.

If you are a fresher or experienced QTP professional with (1/2/3/4) years of experience, this blog is just for you.