I woked on a test tool with AutoIt (automation of terminal emulator and some basic IE automation), friendly interface for the test in current project more important. I was able to develop tools which can be installed on any computer, need no license. But the ability of Autoit limited, now I need extend the test to testing more data and functionality (mostly not GUI related), I moved the datafrom Excel to SQLite (it reduced half of the code), and I am changing the test to run it remotely by Apache web server, so it is mix of Python, Autoit (and HTML, JavaScript /Ajax for GUI).
On Sun, Jan 30, 2011 at 10:44 PM, <[email protected]> wrote: > What are you now using instead of QTP? Selinium, Silk Test....? Hmmmm? > > In a message dated 1/28/11 9:46:06 P.M. Eastern Standard Time, > [email protected] writes: > > I don't work right now with QTP, but when I did, I defined to myself > number of rules, here are three of them: > > 1. if you can, don't use build in QTP Excel support, use COM Excel > Automation instead > http://www.google.ca/search?q=vbscript+Excel+Automation > 2. if you can, don't use actions, use functions libraries > 3. don't use QTP report > > There are many arguments why to do that way :) I only don't want to > start holy wars. > Now I wouldn't use Excel at all, some simple DB, as SQLite, can serve > the purpose better. > > On Fri, Jan 28, 2011 at 1:41 PM, Jimmie Parson <[email protected]> wrote: >> To all, >> >> A few days ago I posted about some issues I had with returning the >> values from the runtime datatable. With some assistance I was able to >> resolve one of my issues I am hoping with your help I can resolve the >> last issue I have right now. I will setup what I have tried so far: >> >> 1. I am connecting to an Oracle DB with an ADOB connection and running >> a SQL query to return the results back to the runtime datatable. This >> was the first issue I had trouble with that is now working. >> >> 2. As long as I only need one query ran and a single output sheet >> added to the datatable everything is fine. The problem arises when >> running 2 or more queries that add more sheets to the datatable. When >> I try to return the value of a cell in any of those sheets with this >> code: >> >> OracleFormWindow("Advanced Pricing").OracleTabbedRegion("List >> Lines").OracleTable("LIST_LINES").EnterField 1, "Product Value", >> DataTable.GetSheet("output1").GetParameter("Segment1").Value >> >> >> I get the following error: >> >> The Sheet.GetParameter operation failed. The <Segment1> column does >> not exist. >> >> I have ran some scripts and figured out that the sheets have been >> created and they have the correct number of parameters. I added my >> variables to the debug "add to watch" and I get the same error. >> >> If I run the following code: >> >> Sheetname = DataTable.LocalSheet.Name >> ' >> 'Reporter.ReportEvent 1, "The Active Sheet is", Sheetname >> >> I get a return of the active sheet is "Action1" >> >> My question is: >> >> 1. Is there a way to change the active runtime datatable sheet to the >> sheet I need to return the values from? >> >> 2. If not does anyone have any advice as to how to proceed. >> >> >> I will include the code for the script below: >> >> >> 'Connect to Oracle DB and execute a SQL Query, then write the data to >> 'the QTP runtime datatable. >> >> 'Variables for the database connection >> Dim adocon,adorecordset >> 'Create the Connection object >> Set adocon=CreateObject("ADODB.Connection") >> constr="Provider=OraOLEDB.Oracle.1;Password=xxxx;Persist Security >> Info=True;User ID=xxxx;Data Source=Dev" >> adocon.Open constr >> 'Execute the SQL query >> Set adorecordset=CreateObject("ADODB.Recordset") >> Set adorecordset.ActiveConnection=adocon >> Strsql="Select 'TEST PRICE LIST:' || to_char(sysdate,' MM-DD-YY >> HH:MM:SS') as PRICE_LST_NAME from Dual" >> adorecordset.Source=Strsql >> adorecordset.Open >> 'Create the datatable to export the data >> 'Create an output sheet >> Set outsheet=Datatable.Addsheet("output") >> 'Loop through each field to get the name to >> 'create the datable parameters >> For each fld in adoRecordset.Fields >> outsheet.AddParameter fld.name,"" >> Next >> i=1 >> Do while Not adorecordset.EOF >> DataTable.GetSheet(outsheet.name).SetCurrentRow(i) >> For each fld in adorecordset.Fields >> outsheet.GetParameter(fld.name).value=fld.value >> Next >> adorecordset.MoveNext >> i=i+1 >> Loop >> >> >> 'close the recordset object >> adorecordset.close >> 'Destroy the recordset object >> Set adorecordset = nothing >> >> >> 'close the database connection >> adoCon.close >> 'Destroy the connection object >> Set adoCon = nothing >> >> 'Connect to Oracle DB and execute a SQL Query, then write the data to >> 'the QTP runtime datatable. >> >> 'Create the Connection object >> Set adocon=CreateObject("ADODB.Connection") >> constr="Provider=OraOLEDB.Oracle.1;Password=xxxx;Persist Security >> Info=True;User ID=xxxx;Data Source=Dev" >> adocon.Open constr >> 'Execute the SQL query >> Set adorecordset=CreateObject("ADODB.Recordset") >> Set adorecordset.ActiveConnection=adocon >> Strsql="SELECT Segment1, Quantity FROM (Select Description, >> Enabled_Flag, A.Inventory_Item_Id, B.Inventory_Item_Id, >> Inventory_Item_Status_Code, Organization_Id, Segment1, >> Primary_Uom_Code, Primary_Unit_Of_Measure,(Case When B.Conversion_Rate >> Is Null Then 1 Else B.Conversion_Rate End) Quantity, B.Uom_Code, >> B.Unit_Of_Measure From Mtl_System_Items_B A Left Outer Join >> Mtl_Uom_Conversions B On (A.Inventory_Item_Id = B.Inventory_Item_Id) >> Where -1= -1 And (Organization_Id = 356 Or Organization_Id = 359 >> Or Organization_Id = 591) AND (ITEM_TYPE =('LNV_FGM') OR ITEM_TYPE >> =('LNV_FGB'))And Enabled_Flag = 'Y' And Inventory_Item_Status_Code = >> 'Active' ORDER BY dbms_random.value ) WHERE rownum = 1" >> adorecordset.Source=Strsql >> adorecordset.Open >> 'Create the datatable to export the data >> 'Create an output sheet >> Set outsheet=Datatable.Addsheet("output1") >> 'Loop through each field to get the name to >> 'create the datable parameters >> For each fld in adoRecordset.Fields >> outsheet.AddParameter fld.name,"" >> Next >> i=1 >> Do while Not adorecordset.EOF >> DataTable.GetSheet(outsheet.name).SetCurrentRow(i) >> For each fld in adorecordset.Fields >> outsheet.GetParameter(fld.name).value=fld.value >> Next >> adorecordset.MoveNext >> i=i+1 >> Loop >> >> >> 'close the recordset object >> adorecordset.close >> 'Destroy the recordset object >> Set adorecordset = nothing >> >> 'close the database connection >> adoCon.close >> 'Destroy the connection object >> Set adoCon = nothing >> >> Dim objIE >> Set objIE = CreateObject("InternetExplorer.Application") >> objIE.visible = True >> objIE.navigate "http://devap1.linvatec.com:8030/OA_HTML/ >> AppsLocalLogin.jsp?requestUrl=APPSHOMEPAGE&cancelUrl=http%3A%2F >> %2Fdevap1.linvatec.com%3A8030%2Foa_servlets >> >> %2Foracle.apps.fnd.sso.AppsLogin&s2=CCC48C9F7A462B6500680579CCCFEB46A1937E84A75CCEAC13471DA4D4E81AB9" >> objIE.statusbar = 1 >> Wait 3 >> Browser("Oracle Applications >> Home").Page("Login").WebEdit("username").Set "xxxx" >> Browser("Oracle Applications >> Home").Page("Login").WebEdit("password").SetSecure "xxxxx" >> Browser("Oracle Applications Home").Page("Login").Image("Login").Click >> Browser("Oracle Applications Home").Page("Oracle Applications >> Home_4").Link("LNV Pricing Super User").Click >> Browser("Oracle Applications Home").Page("Oracle Applications >> Home_5").Link("Price List Setup").Click >> Browser("Oracle Applications 11i").Page("Oracle Applications >> 11i_2").Sync >> Browser("Oracle Applications Home").Page("Oracle Applications >> Home_5").Sync >> OracleFormWindow("Advanced >> Pricing").OracleTabbedRegion("Main").OracleTextField("Name").Enter >> "ADV ALL BLADES & BURS" >> OracleNotification("Note").Approve >> OracleFormWindow("Advanced Pricing").PressToolbarButton "Clear Record" >> DataTable.GetSheet("output").SetCurrentRow(1) >> OracleFormWindow("Advanced >> Pricing").OracleTabbedRegion("Main").OracleTextField("Name").Enter >> DataTable.GetSheet("output").GetParameter("PRICE_LST_NAME").Value >> OracleFormWindow("Advanced >> Pricing").OracleTabbedRegion("Main").OracleTextField("Description").Enter >> "QTP Test" >> OracleFormWindow("Advanced >> Pricing").OracleTabbedRegion("Main").OracleTextField("Effective >> Dates").OpenDialog >> OracleCalendar("Calendar").Enter "15-NOV-2010" >> OracleFormWindow("Advanced >> Pricing").OracleTabbedRegion("Main").OracleTextField("-").OpenDialog >> OracleCalendar("Calendar").Enter "15-APR-2011" >> OracleFormWindow("Advanced >> Pricing").OracleTabbedRegion("Main").OracleTextField("Multi-Currency >> Conversion").OpenDialog >> OracleListOfValues("Multi Currency Conversion").Select "Generated >> Currency Conversion For USD 2002" >> OracleFormWindow("Advanced Pricing").OracleTabbedRegion("List >> Lines").OracleTable("LIST_LINES").OpenDialog 1,"Product Context" >> OracleFormWindow("Advanced Pricing").OracleTabbedRegion("List >> Lines").OracleTable("LIST_LINES").OpenDialog 1,"Product Attribute" >> OracleListOfValues("Product Attributes").Select "Item Number" >> DataTable.GetSheet("output1").SetCurrentRow(1) >> OracleFormWindow("Advanced Pricing").OracleTabbedRegion("List >> Lines").OracleTable("LIST_LINES").EnterField 1, "Product Value", >> DataTable.GetSheet("output1").GetParameter("Segment1").Value >> OracleFormWindow("Advanced Pricing").OracleTabbedRegion("List >> Lines").OracleTable("LIST_LINES").EnterField 1, "Value", "35.00" >> OracleFormWindow("Advanced Pricing").OracleTabbedRegion("List >> Lines").OracleTable("LIST_LINES").OpenDialog 1,"Start Date" >> OracleCalendar("Calendar").Enter "15-NOV-2010" >> OracleFormWindow("Advanced Pricing").OracleTabbedRegion("List >> Lines").OracleTable("LIST_LINES").OpenDialog 1,"End Date" >> OracleCalendar("Calendar").Enter "15-APR-2011" >> OracleFormWindow("Advanced Pricing").OracleTabbedRegion("List >> Lines").OracleTable("LIST_LINES").SetFocus 1,"[ ]" >> OracleFlexWindow("Additional Info for List").OracleTextField("DM >> FLOOR").Enter "1" >> OracleFlexWindow("Additional Info for List").Approve >> OracleFormWindow("Advanced Pricing").SelectMenu "File->Save" >> OracleFormWindow("Advanced Pricing").SelectMenu "File->Exit Oracle >> Applications" >> OracleNotification("Caution").Approve >> Browser("Oracle Applications 11i").Page("Oracle Applications >> 11i_2").Sync >> Browser("Oracle Applications 11i").CloseAllTabs >> Browser("Oracle Applications Home").Page("Oracle Applications >> Home_5").Link("Logout").Click >> Browser("Oracle Applications Home").Page("Login_2").Sync >> Browser("Oracle Applications Home").CloseAllTabs >> >> >> >> >> Any help is appreciated >> >> -- >> You received this message because you are subscribed to the Google >> "QTP - HP Quick Test Professional - Automated Software Testing" >> group. >> To post to this group, send email to [email protected] >> To unsubscribe from this group, send email to >> [email protected] >> For more options, visit this group at >> http://groups.google.com/group/MercuryQTP?hl=en > > -- > You received this message because you are subscribed to the Google > "QTP - HP Quick Test Professional - Automated Software Testing" > group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/MercuryQTP?hl=en > > -- > You received this message because you are subscribed to the Google > "QTP - HP Quick Test Professional - Automated Software Testing" > group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/MercuryQTP?hl=en -- You received this message because you are subscribed to the Google "QTP - HP Quick Test Professional - Automated Software Testing" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/MercuryQTP?hl=en
