public void Run() { //*****************Start Scenario 16 - Retech - Returns ****************** Mouse.DefaultMoveTime = 300; Keyboard.DefaultKeyPressTime = 100; Delay.SpeedFactor = 1.0; Ranorex.Unknown element = null; Global.AbortScenario = false; // Uses same SKU and Customer for Scenarios 3, 4, and 5 RanorexRepository repo = new RanorexRepository(); fnTimeMinusOverhead TimeMinusOverhead = new fnTimeMinusOverhead(); fnDumpStatsQ4 DumpStatsQ4 = new fnDumpStatsQ4(); fnWriteToLogFile WriteToLogFile = new fnWriteToLogFile(); fnWriteToErrorFile WriteToErrorFile = new fnWriteToErrorFile(); FnWriteOutStatsQ4Buffer WriteOutStatsQ4Buffer = new FnWriteOutStatsQ4Buffer(); fnUpdatePALStatusMonitor UpdatePALStatusMonitor = new fnUpdatePALStatusMonitor(); FnCheckout Checkout = new FnCheckout(); FnStartTransaction StartTransaction = new FnStartTransaction(); FnEnterSKU EnterSKU = new FnEnterSKU(); Global.CurrentScenario = 16; if (!Global.IndirectCall) { if (!Global.DoScenarioFlag[Global.CurrentScenario]) { return; } } Global.ScenarioExecuted = true; Global.RetechScenariosPerformed++; UpdatePALStatusMonitor.Run(); // Create new stopwatch Stopwatch MystopwatchTT = new Stopwatch(); MystopwatchTT.Reset(); MystopwatchTT.Start(); Stopwatch MystopwatchF1 = new Stopwatch(); Stopwatch MystopwatchTotal = new Stopwatch(); MystopwatchTotal.Reset(); MystopwatchTotal.Start(); Stopwatch MystopwatchQ4 = new Stopwatch(); Stopwatch MystopwatchModuleTotal = new Stopwatch(); Global.LogText = @"---> fnDoScenario16 Iteration: " + Global.CurrentIteration; WriteToLogFile.Run(); Report.Log(ReportLevel.Info, "Scenario 16 IN", "Iteration: " + Global.CurrentIteration, new RecordItemIndex(0)); // Start MystopwatchModuleTotal.Reset(); MystopwatchModuleTotal.Start(); StartTransaction.Run(); MystopwatchModuleTotal.Reset(); MystopwatchModuleTotal.Start(); Global.LogText = @"Add Item"; WriteToLogFile.Run(); MystopwatchQ4.Reset(); MystopwatchQ4.Start(); if (Global.DomesticRegister) { // Press F1 add item Keyboard.Press("{F1}"); MystopwatchF1.Reset(); MystopwatchF1.Start(); while (!Host.Local.TryFindSingle(repo.AddItemTextInfo.AbsolutePath.ToString(), out element)) { Thread.Sleep(100); } TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = "[F1] wait for add item"; Global.Module = "F1 Add Item"; DumpStatsQ4.Run(); Global.CurrentMetricDesciption = "Module Total Time"; DumpStatsQ4.Run(); } else { repo.IPOSScreen.Self.Click(); } Global.CurrentSKU = Global.S17Trade5; EnterSKU.Run(); // 8-1-18 var activityRoot = repo.Retech.ActivityRoot; // Press returns if (Global.DomesticRegister) { // while(!repo.Retech.ReturnsF4.Enabled) // 7-23-18 // { Thread.Sleep(100); } // repo.Retech.ReturnsF4.Click(); Keyboard.Press("{F4}"); Thread.Sleep(100); } else // International { repo.IPOSInternationalEnterSKUField.Text.PressKeys("{F3}"); // Returns // while(!repo.FormPOS1.ReturnSKuField.Enabled) // 3/25/19 while (!repo.CodeF4Password.Enabled) { Thread.Sleep(100); } } MystopwatchQ4.Reset(); MystopwatchQ4.Start(); for (int RetNum = 1; RetNum <= 5; RetNum++) { if (Global.DomesticRegister) { // select add item and add the SKU while (!repo.AddLineItemCommand.Enabled) { Thread.Sleep(100); } Thread.Sleep(100); // repo.AddLineItemCommand.Click(); 1-21-19 Keyboard.Press("{F1}"); Thread.Sleep(100); repo.AddItemText.TextValue = Global.S4Sku1; Keyboard.Press("{Enter}"); // Select Defective for retrun reason //repo.ReturnReason.Click(); 1-21-19 repo.ShellView.Rectangle.Click(); Thread.Sleep(200); //repo.Defective.Click(); 1-21-19 repo.Source.Defective.Click(); Thread.Sleep(100); //Click on Scan or select receipt and select no receipt repo.Retech.SelectReceipt.Click(); Thread.Sleep(100); repo.Retech.NoReceiptAvailableCommand.Click(); Thread.Sleep(200); // Press F5 continue Keyboard.Press("{F5}"); } else // International { while (!repo.CodeF4Password.Visible) { Thread.Sleep(100); } repo.CodeF4Password.Click("72;8"); Delay.Milliseconds(200); repo.CodeF4Password.PressKeys("238325{Return}"); Keyboard.Press("n{Return}"); Keyboard.Press("{F5}"); Keyboard.Press("{F12}"); // repo.InternationalReturnSKUField.TextValue = "238325"; // Enter SKU to return // repo.InternationalReturnSKUField.PressKeys("{Return}"); // // repo.ItemSearch.Self.PressKeys("n"); // no box not opened // while(!repo.ItemSearch.Self.Enabled) Thread.Sleep(100); // repo.ItemSearch.Self.PressKeys("{Return}"); // return defective // while(!repo.ItemSearch.Self.Enabled) Thread.Sleep(100); // repo.ItemSearch.Self.PressKeys("{F5}"); // no receipt // while(!repo.ItemSearch.Self.Enabled) Thread.Sleep(100); // repo.ItemSearch.Self.PressKeys("{F12}"); // OK // while(!repo.ItemSearch.Self.Enabled) Thread.Sleep(100); } } if (!Global.DomesticRegister) // if international to final apply for returns { Keyboard.Press("{F12}"); } TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = "Enter 5 Returns"; Global.Module = "Returns"; DumpStatsQ4.Run(); Global.CurrentMetricDesciption = "Module Total Time"; DumpStatsQ4.Run(); // @#@#@# C H E C K O U T #@#@#@ Global.PayWithMethod = "Cash"; Checkout.Run(); TimeMinusOverhead.Run((float)MystopwatchTT.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = @"Scenario 16"; Global.Module = "Total Time"; DumpStatsQ4.Run(); // Write out metrics buffer WriteOutStatsQ4Buffer.Run(); Global.LogText = "<--- fnDoScenario16 Iteration: " + Global.CurrentIteration; WriteToLogFile.Run(); Report.Log(ReportLevel.Info, "Scenario 16 OUT", "Iteration: " + Global.CurrentIteration, new RecordItemIndex(0)); Thread.Sleep(2000); // ***********End Scenario 16***************** }
public void Run() { //*****************Start Scenario 33 - Retech - Simple One SKU Pay with Cash ****************** Mouse.DefaultMoveTime = 300; Keyboard.DefaultKeyPressTime = 100; Delay.SpeedFactor = 1.0; Ranorex.Unknown element = null; Global.AbortScenario = false; // Uses same SKU and Customer for Scenarios 3, 4, and 5 RanorexRepository repo = new RanorexRepository(); fnTimeMinusOverhead TimeMinusOverhead = new fnTimeMinusOverhead(); fnDumpStatsQ4 DumpStatsQ4 = new fnDumpStatsQ4(); fnWriteToLogFile WriteToLogFile = new fnWriteToLogFile(); fnWriteToErrorFile WriteToErrorFile = new fnWriteToErrorFile(); FnWriteOutStatsQ4Buffer WriteOutStatsQ4Buffer = new FnWriteOutStatsQ4Buffer(); fnUpdatePALStatusMonitor UpdatePALStatusMonitor = new fnUpdatePALStatusMonitor(); FnCheckout Checkout = new FnCheckout(); FnStartTransaction StartTransaction = new FnStartTransaction(); FnEnterSKU EnterSKU = new FnEnterSKU(); Global.CurrentScenario = 33; if (!Global.IndirectCall) { if (!Global.DoScenarioFlag[Global.CurrentScenario]) { return; } } Global.ScenarioExecuted = true; Global.RetechScenariosPerformed++; UpdatePALStatusMonitor.Run(); // Create new stopwatch Stopwatch MystopwatchTT = new Stopwatch(); MystopwatchTT.Reset(); MystopwatchTT.Start(); Stopwatch MystopwatchF1 = new Stopwatch(); Stopwatch MystopwatchTotal = new Stopwatch(); MystopwatchTotal.Reset(); MystopwatchTotal.Start(); Stopwatch MystopwatchQ4 = new Stopwatch(); Stopwatch MystopwatchModuleTotal = new Stopwatch(); Global.LogText = @"---> fnDoScenario33 Iteration: " + Global.CurrentIteration; WriteToLogFile.Run(); Report.Log(ReportLevel.Info, "Scenario 33 IN", "Iteration: " + Global.CurrentIteration, new RecordItemIndex(0)); // Start MystopwatchModuleTotal.Reset(); MystopwatchModuleTotal.Start(); StartTransaction.Run(); MystopwatchModuleTotal.Reset(); MystopwatchModuleTotal.Start(); Global.LogText = @"Add Item"; WriteToLogFile.Run(); MystopwatchQ4.Reset(); MystopwatchQ4.Start(); if (Global.DomesticRegister) { // Press F1 add item Keyboard.Press("{F1}"); MystopwatchF1.Reset(); MystopwatchF1.Start(); while (!Host.Local.TryFindSingle(repo.AddItemTextInfo.AbsolutePath.ToString(), out element)) { Thread.Sleep(100); if (MystopwatchF1.ElapsedMilliseconds > 1000) { Keyboard.Press("{F1}"); Thread.Sleep(100); MystopwatchF1.Reset(); MystopwatchF1.Start(); } } TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = "[F1] wait for add item"; Global.Module = "F1 Add Item"; DumpStatsQ4.Run(); Global.CurrentMetricDesciption = "Module Total Time"; DumpStatsQ4.Run(); } Global.CurrentSKU = Global.S4Sku1; EnterSKU.Run(); // @#@#@# C H E C K O U T #@#@#@ Global.PayWithMethod = "Cash"; Checkout.Run(); TimeMinusOverhead.Run((float)MystopwatchTT.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = @"Scenario 33"; Global.Module = "Total Time"; DumpStatsQ4.Run(); if (!Global.AbortScenario) { // Write out metrics buffer WriteOutStatsQ4Buffer.Run(); } else { Global.Q4StatBuffer = ""; } Global.LogText = "<--- fnDoScenario33 Iteration: " + Global.CurrentIteration; WriteToLogFile.Run(); Report.Log(ReportLevel.Info, "Scenario 33 OUT", "Iteration: " + Global.CurrentIteration, new RecordItemIndex(0)); Thread.Sleep(2000); // ***********End Scenario 33***************** }
public void Run() { Mouse.DefaultMoveTime = 300; Keyboard.DefaultKeyPressTime = 100; Delay.SpeedFactor = 1.0; Ranorex.Unknown element = null; RanorexRepository repo = new RanorexRepository(); fnWriteToLogFile WriteToLogFile = new fnWriteToLogFile(); fnWriteToErrorFile WriteToErrorFile = new fnWriteToErrorFile(); fnWaitForItemSearchToFinish WaitForItemSearchToFinish = new fnWaitForItemSearchToFinish(); fnDumpStatsQ4 DumpStatsQ4 = new fnDumpStatsQ4(); fnTimeMinusOverhead TimeMinusOverhead = new fnTimeMinusOverhead(); fnUpdatePALStatusMonitor UpdatePALStatusMonitor = new fnUpdatePALStatusMonitor(); FnWriteOutStatsQ4Buffer WriteOutStatsQ4Buffer = new FnWriteOutStatsQ4Buffer(); FnCheckout Checkout = new FnCheckout(); FnStartTransaction StartTransaction = new FnStartTransaction(); FnProductionIssueFunctions ProductionIssueFunctions = new FnProductionIssueFunctions(); FnEnterSKU EnterSKU = new FnEnterSKU(); Global.RetechScenariosPerformed++; UpdatePALStatusMonitor.Run(); // Create new stopwatch Stopwatch MystopwatchTT = new Stopwatch(); MystopwatchTT.Reset(); MystopwatchTT.Start(); Stopwatch MystopwatchTotal = new Stopwatch(); MystopwatchTotal.Reset(); MystopwatchTotal.Start(); Stopwatch MystopwatchQ4 = new Stopwatch(); Stopwatch MystopwatchModuleTotal = new Stopwatch(); Stopwatch MystopwatchF1 = new Stopwatch(); Stopwatch MystopwatchTrade = new Stopwatch(); // Start MystopwatchModuleTotal.Reset(); MystopwatchModuleTotal.Start(); MystopwatchQ4.Reset(); MystopwatchQ4.Start(); Global.LogText = @"Start Transaction"; WriteToLogFile.Run(); StartTransaction.Run(); if (Global.DomesticRegister) { Global.LogText = @"Enter Customer Information"; WriteToLogFile.Run(); // Enter customer MystopwatchQ4.Reset(); MystopwatchQ4.Start(); repo.Retech.FindCustomerTextBox.PressKeys("9727651234{Enter}"); Thread.Sleep(100); while (!repo.RetechFindCustomerView.CustomerSearchCriteria.Enabled) { Thread.Sleep(100); } TimeMinusOverhead.Run((float)MystopwatchModuleTotal.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = "Member Card Lookup"; Global.Module = "Member Card Lookup"; DumpStatsQ4.Run(); Global.CurrentMetricDesciption = "Module Total Time"; DumpStatsQ4.Run(); } MystopwatchModuleTotal.Reset(); MystopwatchModuleTotal.Start(); MystopwatchQ4.Reset(); MystopwatchQ4.Start(); if (Global.DomesticRegister) { while (!Host.Local.TryFindSingle(repo.RetechFindCustomerView.ListBoxItemInfo.AbsolutePath.ToString(), out element)) { Thread.Sleep(100); } // change 1/8/17 repo.RetechFindCustomerView.ListBoxItem.Click(); while (Host.Local.TryFindSingle(repo.RetechFindCustomerView.ListBoxItemInfo.AbsolutePath.ToString(), out element)) { Thread.Sleep(100); } } int NumberSKUs = 1; if (Global.NumberOfTradesMinusOne == 4) { NumberSKUs = 1; } else if (Global.NumberOfTradesMinusOne == 99) { NumberSKUs = 4; } for (int x = 1; x <= NumberSKUs; x++) { Global.LogText = @"Add Item"; WriteToLogFile.Run(); if (Global.DomesticRegister) { // Press F1 add item Keyboard.Press("{F1}"); // Add Item F1 MystopwatchF1.Reset(); MystopwatchF1.Start(); while (!Host.Local.TryFindSingle(repo.AddItemTextInfo.AbsolutePath.ToString(), out element)) { Thread.Sleep(100); if (MystopwatchF1.ElapsedMilliseconds > 1000) { Keyboard.Press("{F1}"); Thread.Sleep(100); MystopwatchF1.Reset(); MystopwatchF1.Start(); } } } Global.LogText = @"Enter purchase SKU"; WriteToLogFile.Run(); // Enter SKUs if (Global.DomesticRegister) { if (NumberSKUs == 1) { repo.AddItemText.TextValue = "115571"; } else { repo.AddItemText.TextValue = "883672"; } repo.RetechQuickEntryView.TxtWatermark.PressKeys("{Enter}"); Thread.Sleep(200); while (!Host.Local.TryFindSingle(repo.ContinueButtonCommandInfo.AbsolutePath.ToString(), out element)) { if (Host.Local.TryFindSingle(repo.ShellView.AgeVerifiedCommandWPFInfo.AbsolutePath.ToString(), out element)) { repo.ShellView.AgeVerifiedCommandWPF.Click(); Thread.Sleep(100); } // 11/16/18 } // if(Host.Local.TryFindSingle(repo.ShellView.AgeVerifiedCommandWPFInfo.AbsolutePath.ToString(), out element)) // { repo.ShellView.AgeVerifiedCommandWPF.Click(); // Thread.Sleep(100); // } if (Host.Local.TryFindSingle(repo.ContinueButtonCommandInfo.AbsolutePath.ToString(), out element)) { repo.ContinueButtonCommand.Click(); Thread.Sleep(100); } while (!repo.AddLineItemCommand.Enabled) { if (Host.Local.TryFindSingle(repo.ContinueButtonCommandInfo.AbsolutePath.ToString(), out element)) { repo.ContinueButtonCommand.Click(); } Thread.Sleep(100); } } else // International { EnterSKU.Run(); // Value set in EnterSKU } } // TimeMinusOverhead.Run((float) MystopwatchQ4.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine // Global.CurrentMetricDesciption = "Enter SKUs"; // Global.Module = "Enter SKUs"; // DumpStatsQ4.Run(); // Global.CurrentMetricDesciption = "Module Total Time"; // DumpStatsQ4.Run(); MystopwatchModuleTotal.Reset(); MystopwatchModuleTotal.Start(); MystopwatchQ4.Reset(); MystopwatchQ4.Start(); if (Global.DomesticRegister) { switch (Global.RetechVersion.Substring(0, 3)) { case "5.6": while (!repo.Retech.TradeKey_5_6_0_103.Enabled) { Thread.Sleep(100); } break; case "5.7": while (!repo.Retech.TradesF3_5_7_1_2.Enabled) { Thread.Sleep(100); } break; default: while (!repo.Retech.TradesF3_5_7_1_2.Enabled) { Thread.Sleep(100); } break; } } // Press the Trade Key if (Global.DomesticRegister) { Keyboard.Press("{F3}"); while (!Host.Local.TryFindSingle(repo.Retech.TradesTotalInfo.AbsolutePath.ToString(), out element)) { Thread.Sleep(100); } } else // International { repo.InternationalInsideSKUField.PressKeys("{F6}"); // Trades while (!repo.TradeIn.InternationalTradeSKUFIeld.Enabled) { Thread.Sleep(100); } } string[] TradeInSKUList = new string[100]; TradeInSKUList[0] = Global.S17Trade1; TradeInSKUList[1] = Global.S17Trade2; TradeInSKUList[2] = Global.S17Trade3; TradeInSKUList[3] = Global.S17Trade4; TradeInSKUList[4] = Global.S17Trade6; // 02-20-18 TradeInSKUList[5] = Global.S17Trade6; TradeInSKUList[6] = Global.S17Trade7; TradeInSKUList[7] = Global.S17Trade8; TradeInSKUList[8] = Global.S17Trade9; TradeInSKUList[9] = Global.S17Trade10; TradeInSKUList[10] = Global.S17Trade11; TradeInSKUList[11] = Global.S17Trade12; TradeInSKUList[12] = Global.S17Trade13; TradeInSKUList[13] = Global.S17Trade14; TradeInSKUList[14] = Global.S17Trade15; TradeInSKUList[15] = Global.S17Trade16; TradeInSKUList[16] = Global.S17Trade17; TradeInSKUList[17] = Global.S17Trade18; TradeInSKUList[18] = Global.S17Trade19; TradeInSKUList[19] = Global.S17Trade20; TradeInSKUList[20] = Global.S17Trade21; TradeInSKUList[21] = Global.S17Trade22; TradeInSKUList[22] = Global.S17Trade23; TradeInSKUList[23] = Global.S17Trade24; TradeInSKUList[24] = Global.S17Trade25; TradeInSKUList[25] = Global.S17Trade1; TradeInSKUList[26] = Global.S17Trade2; TradeInSKUList[27] = Global.S17Trade3; TradeInSKUList[28] = Global.S17Trade4; TradeInSKUList[29] = Global.S17Trade5; TradeInSKUList[30] = Global.S17Trade6; TradeInSKUList[31] = Global.S17Trade7; TradeInSKUList[32] = Global.S17Trade8; TradeInSKUList[33] = Global.S17Trade9; TradeInSKUList[34] = Global.S17Trade10; TradeInSKUList[35] = Global.S17Trade11; TradeInSKUList[36] = Global.S17Trade12; TradeInSKUList[37] = Global.S17Trade13; TradeInSKUList[38] = Global.S17Trade14; TradeInSKUList[39] = Global.S17Trade15; TradeInSKUList[40] = Global.S17Trade16; TradeInSKUList[41] = Global.S17Trade17; TradeInSKUList[42] = Global.S17Trade18; TradeInSKUList[43] = Global.S17Trade19; TradeInSKUList[44] = Global.S17Trade20; TradeInSKUList[45] = Global.S17Trade21; TradeInSKUList[46] = Global.S17Trade22; TradeInSKUList[47] = Global.S17Trade23; TradeInSKUList[48] = Global.S17Trade24; TradeInSKUList[49] = Global.S17Trade25; TradeInSKUList[50] = Global.S17Trade1; TradeInSKUList[51] = Global.S17Trade2; TradeInSKUList[52] = Global.S17Trade3; TradeInSKUList[53] = Global.S17Trade4; TradeInSKUList[54] = Global.S17Trade5; TradeInSKUList[55] = Global.S17Trade6; TradeInSKUList[56] = Global.S17Trade7; TradeInSKUList[57] = Global.S17Trade8; TradeInSKUList[58] = Global.S17Trade9; TradeInSKUList[59] = Global.S17Trade10; TradeInSKUList[60] = Global.S17Trade11; TradeInSKUList[61] = Global.S17Trade12; TradeInSKUList[62] = Global.S17Trade13; TradeInSKUList[63] = Global.S17Trade14; TradeInSKUList[64] = Global.S17Trade15; TradeInSKUList[65] = Global.S17Trade16; TradeInSKUList[66] = Global.S17Trade17; TradeInSKUList[67] = Global.S17Trade18; TradeInSKUList[68] = Global.S17Trade19; TradeInSKUList[69] = Global.S17Trade20; TradeInSKUList[70] = Global.S17Trade21; TradeInSKUList[71] = Global.S17Trade22; TradeInSKUList[72] = Global.S17Trade23; TradeInSKUList[73] = Global.S17Trade24; TradeInSKUList[74] = Global.S17Trade25; TradeInSKUList[75] = Global.S17Trade1; TradeInSKUList[76] = Global.S17Trade2; TradeInSKUList[77] = Global.S17Trade3; TradeInSKUList[78] = Global.S17Trade4; TradeInSKUList[79] = Global.S17Trade5; TradeInSKUList[80] = Global.S17Trade6; TradeInSKUList[81] = Global.S17Trade7; TradeInSKUList[82] = Global.S17Trade8; TradeInSKUList[83] = Global.S17Trade9; TradeInSKUList[84] = Global.S17Trade10; TradeInSKUList[85] = Global.S17Trade11; TradeInSKUList[86] = Global.S17Trade12; TradeInSKUList[87] = Global.S17Trade13; TradeInSKUList[88] = Global.S17Trade14; TradeInSKUList[89] = Global.S17Trade15; TradeInSKUList[90] = Global.S17Trade16; TradeInSKUList[91] = Global.S17Trade17; TradeInSKUList[92] = Global.S17Trade18; TradeInSKUList[93] = Global.S17Trade19; TradeInSKUList[94] = Global.S17Trade20; TradeInSKUList[95] = Global.S17Trade21; TradeInSKUList[96] = Global.S17Trade22; TradeInSKUList[97] = Global.S17Trade23; TradeInSKUList[98] = Global.S17Trade24; TradeInSKUList[99] = Global.S17Trade25; Global.LogText = @"Enter Trade SKUs"; WriteToLogFile.Run(); for (int soff = 0; soff <= Global.NumberOfTradesMinusOne; soff++) { if (Global.DomesticRegister) { // Press F1 add item Keyboard.Press("{F1}"); // Add Item F1 MystopwatchF1.Reset(); MystopwatchF1.Start(); while (!Host.Local.TryFindSingle(repo.AddItemTextInfo.AbsolutePath.ToString(), out element)) { Thread.Sleep(100); if (MystopwatchF1.ElapsedMilliseconds > 1000) { Keyboard.Press("{F1}"); // Add Item F1 Thread.Sleep(100); MystopwatchF1.Reset(); MystopwatchF1.Start(); } } // Enter SKUs repo.AddItemText.TextValue = TradeInSKUList[soff]; repo.RetechQuickEntryView.TxtWatermark.PressKeys("{Enter}"); } else // International { // for International SKU search for staring with PO in description // select * from SKU // Where Price >= 1 and description like 'PO%' // order by Price repo.TradeIn.InternationalTradeSKUFIeld.PressKeys("703620{Enter}"); } } if (!Global.DomesticRegister) { while (!repo.TradeIn.InternationalTradeSKUFIeld.Enabled) { Thread.Sleep(100); } repo.TradeIn.InternationalTradeSKUFIeld.PressKeys("{F12}"); // complete tradces } TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = "Enter Trades"; Global.Module = "Enter Trades"; DumpStatsQ4.Run(); Global.CurrentMetricDesciption = "Module Total Time"; DumpStatsQ4.Run(); if (Global.DomesticRegister) { MystopwatchModuleTotal.Reset(); MystopwatchModuleTotal.Start(); MystopwatchQ4.Reset(); MystopwatchQ4.Start(); switch (Global.RetechVersion.Substring(0, 3)) { case "5.6": Global.LogText = @"Clicking on Purchase Mode F2"; WriteToLogFile.Run(); repo.Retech.Self.Focus(); Keyboard.Press("{F2}"); // Purchase Mode F2 Thread.Sleep(100); Global.LogText = @"Clicking Cointinue in Purchase Mode F6"; WriteToLogFile.Run(); repo.Retech.Self.Focus(); Keyboard.Press("{F6}"); // Continue in Purchase Mode F6 // repo.Retech.ContinueToPurchaseMode.Click(); // Continue in Purchase Mode F6 Thread.Sleep(100); Global.LogText = @"Waiting on CustomerInfoEditProfileIcon"; WriteToLogFile.Run(); while (!Host.Local.TryFindSingle(repo.LineItemCustomerEditorView.CustomerInfoEditProfileIcon_5_6_0_103Info.AbsolutePath.ToString(), out element)) { Thread.Sleep(100); } break; case "5.7": Global.LogText = @"Clicking on Trades F3 Continue F5 button"; WriteToLogFile.Run(); repo.Retech.ContinueButtonCommandTrade_5_7_1_2.Click(); Global.LogText = @"Waiting on CustomerInfoEditProfileIcon"; WriteToLogFile.Run(); while (!Host.Local.TryFindSingle(repo.EditProfileCommandInfo.AbsolutePath.ToString(), out element)) { Thread.Sleep(100); } break; default: Global.LogText = @"Clicking on Trades F3 Continue F5 button"; WriteToLogFile.Run(); repo.Retech.ContinueButtonCommandTrade_5_7_1_2.Click(); // Global.LogText = @"Waiting on CustomerInfoEditProfileIcon"; // WriteToLogFile.Run(); // while(!Host.Local.TryFindSingle(repo.CustomerEditorView.EditProfileCommand_5_7_1_2Info.AbsolutePath.ToString(), out element)) // { Thread.Sleep(100); } break; } TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = "Select Purchase Mode"; Global.Module = "Select Purchase Mode"; DumpStatsQ4.Run(); Global.CurrentMetricDesciption = "Module Total Time"; DumpStatsQ4.Run(); // Start block comment for program flow change MystopwatchModuleTotal.Reset(); MystopwatchModuleTotal.Start(); MystopwatchQ4.Reset(); MystopwatchQ4.Start(); // ##### Start edit customer Global.LogText = @"F8 edit customer info"; WriteToLogFile.Run(); MystopwatchQ4.Reset(); MystopwatchQ4.Start(); // Edit the customer information // Keyboard.Press("{F8}"); // edit F8 while (!repo.EditProfileCommand.Enabled) { Thread.Sleep(100); } repo.EditProfileCommand.Click(); while (!repo.Gender.Enabled) { Thread.Sleep(100); } if (repo.Gender.SelectedItemText == null) { repo.Gender.SelectedItemText = "Female"; } if (repo.EyeColor.SelectedItemText == null) { repo.EyeColor.SelectedItemText = "Brown"; } if (repo.HairColor.SelectedItemText == null) { repo.HairColor.SelectedItemText = "Brown"; } Thread.Sleep(200); if (repo.CustomerEditorView1.DateOfBirth.TextValue == "") { repo.CustomerEditorView1.DateOfBirth.TextValue = "01/01/1940"; } if (repo.AlternatePhoneValue.TextValue == "") { repo.AlternatePhoneValue.TextValue = "5555555555"; } if (repo.StreetTwoValue.TextValue == "") { repo.StreetTwoValue.TextValue = "10 St"; } if (repo.CustInfoEmail.TextValue == "") { repo.CustInfoEmail.PressKeys("*****@*****.**"); } // ##### End edit customer Global.LogText = @"Save Customer F6"; WriteToLogFile.Run(); Keyboard.Press("{F6}"); // Save Thread.Sleep(200); TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = "Edit Customer Information"; Global.Module = "Edit Customer Information"; DumpStatsQ4.Run(); Global.CurrentMetricDesciption = "Module Total Time"; DumpStatsQ4.Run(); // End block comment MystopwatchModuleTotal.Reset(); MystopwatchModuleTotal.Start(); MystopwatchQ4.Reset(); MystopwatchQ4.Start(); Global.LogText = @"F6 Continue to Purchase & Contine to pin pad"; WriteToLogFile.Run(); while (!Host.Local.TryFindSingle(repo.DialogShellView.WaitingForSignatureInfo.AbsolutePath.ToString(), out element)) { Keyboard.Press("{F6}"); // Continue in Purchase Mode F6 & Continue to Pin Pad F6 Thread.Sleep(500); } Global.LogText = @"Sign on Pin Pad"; WriteToLogFile.Run(); Thread.Sleep(50); repo.RetechPeripheralHostWindow.SignOnPinPad.Click(); Thread.Sleep(50); repo.RetechPeripheralHostWindow.AcceptOnPinPad.Click(); Thread.Sleep(50); repo.RetechPeripheralHostWindow.MinimizePinPad.Click(); // minimize cause always on top!!!! Thread.Sleep(50); repo.DialogShellView.SignatureAcceptedCommand.Click(); Thread.Sleep(100); if (Host.Local.TryFindSingle(repo.ContinueButtonCommandInfo.AbsolutePath.ToString(), out element)) { repo.ContinueButtonCommand.Click(); Thread.Sleep(100); } // Global.LogText = @"SpecialPriceOverride"; // WriteToLogFile.Run(); // ProductionIssueFunctions.SpecialPriceOverride(12.00m); TimeMinusOverhead.Run((float)MystopwatchModuleTotal.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.NowCustomerLookup = Global.AdjustedTime; Global.CurrentMetricDesciption = "Sign on Pin Pad"; Global.Module = "Sign on Pin Pad"; DumpStatsQ4.Run(); Global.CurrentMetricDesciption = "Module Total Time"; DumpStatsQ4.Run(); } // @#@#@# C H E C K O U T #@#@#@ Global.PayWithMethod = "Cash"; Checkout.Run(); TimeMinusOverhead.Run((float)MystopwatchTT.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = @"Scenario 47"; Global.Module = "Total Time"; DumpStatsQ4.Run(); // Write out metrics buffer WriteOutStatsQ4Buffer.Run(); Thread.Sleep(2000); }
public void Run() { //*****************Start Scenario 40 - Retech - Card Balance ****************** Mouse.DefaultMoveTime = 300; Keyboard.DefaultKeyPressTime = 100; Delay.SpeedFactor = 1.0; //Ranorex.Unknown element = null; Global.AbortScenario = false; // Uses same SKU and Customer for Scenarios 3, 4, and 5 RanorexRepository repo = new RanorexRepository(); fnTimeMinusOverhead TimeMinusOverhead = new fnTimeMinusOverhead(); fnDumpStatsQ4 DumpStatsQ4 = new fnDumpStatsQ4(); fnWriteToLogFile WriteToLogFile = new fnWriteToLogFile(); fnWriteToErrorFile WriteToErrorFile = new fnWriteToErrorFile(); FnWriteOutStatsQ4Buffer WriteOutStatsQ4Buffer = new FnWriteOutStatsQ4Buffer(); fnUpdatePALStatusMonitor UpdatePALStatusMonitor = new fnUpdatePALStatusMonitor(); FnCheckout Checkout = new FnCheckout(); FnStartTransaction StartTransaction = new FnStartTransaction(); FnEnterSKU EnterSKU = new FnEnterSKU(); FnProductionIssueFunctions ProductionIssueFunctions = new FnProductionIssueFunctions(); Global.CurrentScenario = 43; if (!Global.IndirectCall) { if (!Global.DoScenarioFlag[Global.CurrentScenario]) { return; } } Global.ScenarioExecuted = true; Global.RetechScenariosPerformed++; UpdatePALStatusMonitor.Run(); // Create new stopwatch Stopwatch MystopwatchTT = new Stopwatch(); MystopwatchTT.Reset(); MystopwatchTT.Start(); Stopwatch MystopwatchF1 = new Stopwatch(); Stopwatch MystopwatchTotal = new Stopwatch(); MystopwatchTotal.Reset(); MystopwatchTotal.Start(); Stopwatch MystopwatchQ4 = new Stopwatch(); Stopwatch MystopwatchModuleTotal = new Stopwatch(); Global.LogText = @"---> fnDoScenario43 Iteration: " + Global.CurrentIteration; WriteToLogFile.Run(); Report.Log(ReportLevel.Info, "Scenario 40 IN", "Iteration: " + Global.CurrentIteration, new RecordItemIndex(0)); // Start // Check card balance MystopwatchQ4.Reset(); MystopwatchQ4.Start(); repo.ShellView.CardBalanceButton.Click(); Thread.Sleep(100); repo.CardBalanceInquiryView.AccountNumber.TextValue = "3876608052056"; repo.CardBalanceInquiryView.AccountNumber.PressKeys("{Enter}"); while (!repo.CardBalanceInquiryView.PowerUpRewardsCardBalanceText.Visible) { Thread.Sleep(1000); } TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = "Check Card Balance"; Global.Module = "Check Card Balance"; DumpStatsQ4.Run(); Global.CurrentMetricDesciption = "Module Total Time"; DumpStatsQ4.Run(); Thread.Sleep(2000); Keyboard.Press("{Escape}"); TimeMinusOverhead.Run((float)MystopwatchTT.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = @"Scenario 43"; Global.Module = "Total Time"; DumpStatsQ4.Run(); if (!Global.AbortScenario) { // Write out metrics buffer WriteOutStatsQ4Buffer.Run(); } else { Global.Q4StatBuffer = ""; } Global.LogText = "<--- fnDoScenario43 Iteration: " + Global.CurrentIteration; WriteToLogFile.Run(); Report.Log(ReportLevel.Info, "Scenario 43 OUT", "Iteration: " + Global.CurrentIteration, new RecordItemIndex(0)); Thread.Sleep(2000); // ***********End Scenario 43***************** }
public void Run() { //*****************Start Scenario 38 - Retech - Suspend Resume ****************** Mouse.DefaultMoveTime = 300; Keyboard.DefaultKeyPressTime = 100; Delay.SpeedFactor = 1.0; Ranorex.Unknown element = null; Global.AbortScenario = false; // Uses same SKU and Customer for Scenarios 3, 4, and 5 RanorexRepository repo = new RanorexRepository(); fnTimeMinusOverhead TimeMinusOverhead = new fnTimeMinusOverhead(); fnDumpStatsQ4 DumpStatsQ4 = new fnDumpStatsQ4(); fnWriteToLogFile WriteToLogFile = new fnWriteToLogFile(); fnWriteToErrorFile WriteToErrorFile = new fnWriteToErrorFile(); FnWriteOutStatsQ4Buffer WriteOutStatsQ4Buffer = new FnWriteOutStatsQ4Buffer(); fnUpdatePALStatusMonitor UpdatePALStatusMonitor = new fnUpdatePALStatusMonitor(); FnCheckout Checkout = new FnCheckout(); FnStartTransaction StartTransaction = new FnStartTransaction(); FnEnterSKU EnterSKU = new FnEnterSKU(); Global.CurrentScenario = 38; // Get current register allowed to run Scenario 38 - Suspend/Resume string FileToUse = "AllowedSuspendResumeRegister.txt"; string AllowedRegister = "1"; try { // Read in the allowed register using (System.IO.StreamReader RegisterScenarioFileGet = new System.IO.StreamReader(Global.Register1DriveLetter + @":\" + Global.AutomationFileDirectory + @"\" + FileToUse)) { AllowedRegister = RegisterScenarioFileGet.ReadLine(); RegisterScenarioFileGet.Close(); } } catch { // Write out new allowed register using (System.IO.StreamWriter RegisterScenarioFilePut = new System.IO.StreamWriter(Global.Register1DriveLetter + @":\" + Global.AutomationFileDirectory + @"\" + FileToUse)) { RegisterScenarioFilePut.WriteLine(AllowedRegister); RegisterScenarioFilePut.Close(); } } bool OkForThisRegisterToRun = true; if (AllowedRegister != Global.RegisterNumber) { OkForThisRegisterToRun = false; } if (!Global.IndirectCall) { if (!Global.DoScenarioFlag[Global.CurrentScenario] || !OkForThisRegisterToRun) { return; } } Global.ScenarioExecuted = true; Global.RetechScenariosPerformed++; UpdatePALStatusMonitor.Run(); // Create new stopwatch Stopwatch MystopwatchTT = new Stopwatch(); MystopwatchTT.Reset(); MystopwatchTT.Start(); Stopwatch MystopwatchF1 = new Stopwatch(); Stopwatch MystopwatchTotal = new Stopwatch(); MystopwatchTotal.Reset(); MystopwatchTotal.Start(); Stopwatch MystopwatchQ4 = new Stopwatch(); Stopwatch MystopwatchModuleTotal = new Stopwatch(); Stopwatch MystopwatchSusRes = new Stopwatch(); Global.LogText = @"---> fnDoScenario38 Iteration: " + Global.CurrentIteration; WriteToLogFile.Run(); Report.Log(ReportLevel.Info, "Scenario 38 IN", "Iteration: " + Global.CurrentIteration, new RecordItemIndex(0)); // Start MystopwatchModuleTotal.Reset(); MystopwatchModuleTotal.Start(); StartTransaction.Run(); MystopwatchModuleTotal.Reset(); MystopwatchModuleTotal.Start(); Global.LogText = @"Add Item"; WriteToLogFile.Run(); MystopwatchQ4.Reset(); MystopwatchQ4.Start(); if (Global.DomesticRegister) { // Press F1 add item Keyboard.Press("{F1}"); MystopwatchF1.Reset(); MystopwatchF1.Start(); while (!Host.Local.TryFindSingle(repo.AddItemTextInfo.AbsolutePath.ToString(), out element)) { Thread.Sleep(100); if (MystopwatchF1.ElapsedMilliseconds > 1000) { Keyboard.Press("{F1}"); Thread.Sleep(100); MystopwatchF1.Reset(); MystopwatchF1.Start(); } } TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = "[F1] wait for add item"; Global.Module = "F1 Add Item"; DumpStatsQ4.Run(); Global.CurrentMetricDesciption = "Module Total Time"; DumpStatsQ4.Run(); } Global.CurrentSKU = Global.S4Sku1; EnterSKU.Run(); Thread.Sleep(100); // Suspend Transaction --------------------------------------------------------------- MystopwatchSusRes.Reset(); MystopwatchSusRes.Start(); //repo.Retech.DataContextSuspendOrderCommand.Click(); Thread.Sleep(100); Keyboard.Press(System.Windows.Forms.Keys.F11 | System.Windows.Forms.Keys.Control, 87, Keyboard.DefaultKeyPressTime, 1, true); repo.UserConfirmationView.ConfirSuspend.Click(); Thread.Sleep(100); while (!repo.RetechLoginView.TxtPassword.Enabled) { Thread.Sleep(100); } Keyboard.Press("{Escape}"); TimeMinusOverhead.Run((float)MystopwatchSusRes.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = "Suspend"; Global.Module = "Suspend"; DumpStatsQ4.Run(); Global.CurrentMetricDesciption = "Module Total Time"; DumpStatsQ4.Run(); Global.LogText = "Pausing after supend " + Global.CurrentIteration; WriteToLogFile.Run(); Thread.Sleep(4000); // give some time for processkng // Resume Transaction ----------------------------------------------------------------------- MystopwatchSusRes.Reset(); MystopwatchSusRes.Start(); Global.AbortScenario = false; ResumeTransaction(); TimeMinusOverhead.Run((float)MystopwatchSusRes.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = "Resume"; Global.Module = "Resume"; DumpStatsQ4.Run(); Global.CurrentMetricDesciption = "Module Total Time"; DumpStatsQ4.Run(); if (!Global.AbortScenario) { // @#@#@# C H E C K O U T #@#@#@ ---------------------------------- Global.PayWithMethod = "Cash"; Checkout.Run(); TimeMinusOverhead.Run((float)MystopwatchTT.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = @"Scenario 38"; Global.Module = "Total Time"; DumpStatsQ4.Run(); if (!Global.AbortScenario) { // Write out metrics buffer WriteOutStatsQ4Buffer.Run(); } else { Global.Q4StatBuffer = ""; } Global.LogText = "<--- fnDoScenario38 Iteration: " + Global.CurrentIteration; WriteToLogFile.Run(); Report.Log(ReportLevel.Info, "Scenario 38 OUT", "Iteration: " + Global.CurrentIteration, new RecordItemIndex(0)); } // When Suspend/Resume done allow next register to run it string StoreName = Global.RegisterName.Substring(0, 8); int MaxAllowed = 0; switch (StoreName) { case "USA00414": MaxAllowed = 3; break; case "USA04285": MaxAllowed = 3; break; case "USA01763": MaxAllowed = 6; break; case "USA02157": MaxAllowed = 2; break; } decimal DecAllowed = Convert.ToDecimal(AllowedRegister); if (DecAllowed + 1 > MaxAllowed) { DecAllowed = 1; } else { DecAllowed = DecAllowed + 1; } AllowedRegister = DecAllowed.ToString(); // Write out new allowed register using (System.IO.StreamWriter RegisterScenarioFilePut = new System.IO.StreamWriter(Global.Register1DriveLetter + @":\" + Global.AutomationFileDirectory + @"\" + FileToUse)) { RegisterScenarioFilePut.WriteLine(AllowedRegister); RegisterScenarioFilePut.Close(); } Thread.Sleep(2000); // ***********End Scenario 38***************** }
public void Run() { //*****************Start Scenario 40 - Retech - PRP ****************** Mouse.DefaultMoveTime = 300; Keyboard.DefaultKeyPressTime = 100; Delay.SpeedFactor = 1.0; //Ranorex.Unknown element = null; Global.AbortScenario = false; // Uses same SKU and Customer for Scenarios 3, 4, and 5 RanorexRepository repo = new RanorexRepository(); fnTimeMinusOverhead TimeMinusOverhead = new fnTimeMinusOverhead(); fnDumpStatsQ4 DumpStatsQ4 = new fnDumpStatsQ4(); fnWriteToLogFile WriteToLogFile = new fnWriteToLogFile(); fnWriteToErrorFile WriteToErrorFile = new fnWriteToErrorFile(); FnWriteOutStatsQ4Buffer WriteOutStatsQ4Buffer = new FnWriteOutStatsQ4Buffer(); fnUpdatePALStatusMonitor UpdatePALStatusMonitor = new fnUpdatePALStatusMonitor(); FnCheckout Checkout = new FnCheckout(); FnStartTransaction StartTransaction = new FnStartTransaction(); FnEnterSKU EnterSKU = new FnEnterSKU(); FnProductionIssueFunctions ProductionIssueFunctions = new FnProductionIssueFunctions(); Global.CurrentScenario = 42; if (!Global.IndirectCall) { if (!Global.DoScenarioFlag[Global.CurrentScenario]) { return; } } Global.ScenarioExecuted = true; Global.RetechScenariosPerformed++; UpdatePALStatusMonitor.Run(); // Create new stopwatch Stopwatch MystopwatchTT = new Stopwatch(); MystopwatchTT.Reset(); MystopwatchTT.Start(); Stopwatch MystopwatchF1 = new Stopwatch(); Stopwatch MystopwatchTotal = new Stopwatch(); MystopwatchTotal.Reset(); MystopwatchTotal.Start(); Stopwatch MystopwatchQ4 = new Stopwatch(); Stopwatch MystopwatchModuleTotal = new Stopwatch(); Global.LogText = @"---> fnDoScenario42 Iteration: " + Global.CurrentIteration; WriteToLogFile.Run(); Report.Log(ReportLevel.Info, "Scenario 40 IN", "Iteration: " + Global.CurrentIteration, new RecordItemIndex(0)); // Start MystopwatchModuleTotal.Reset(); MystopwatchModuleTotal.Start(); StartTransaction.Run(); MystopwatchModuleTotal.Reset(); MystopwatchModuleTotal.Start(); Global.LogText = @"Add Item"; WriteToLogFile.Run(); MystopwatchQ4.Reset(); MystopwatchQ4.Start(); // Add PRP EnterPRPSKU(); /* * // Price override * MystopwatchQ4.Reset(); * MystopwatchQ4.Start(); * * string TextAmt = repo.Retech.NetTotal.TextValue.Substring(1,repo.Retech.NetTotal.TextValue.Length - 1); * string TextTotAmt = repo.Retech.TotalPurchases.TextValue.Substring(1,repo.Retech.TotalPurchases.TextValue.Length - 1); * decimal DecAmt = Convert.ToDecimal(TextAmt); * decimal DecTotAmt = Convert.ToDecimal(TextTotAmt); * decimal UseAmt = DecTotAmt - DecAmt + 1.00m; * Global.SpecialPayThisAmount = Convert.ToString(UseAmt); * * ProductionIssueFunctions.SpecialPriceOverride(1.00m); // lower the price so not so many code F4 alerts * * TimeMinusOverhead.Run((float) MystopwatchQ4.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine * Global.CurrentMetricDesciption = "Price Overide"; * Global.Module = "Price Overide"; * DumpStatsQ4.Run(); * Global.CurrentMetricDesciption = "Module Total Time"; * DumpStatsQ4.Run(); */ // @#@#@# C H E C K O U T #@#@#@ Global.PayWithMethod = "Cash"; Checkout.Run(); TimeMinusOverhead.Run((float)MystopwatchTT.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = @"Scenario 42"; Global.Module = "Total Time"; DumpStatsQ4.Run(); if (!Global.AbortScenario) { // Write out metrics buffer WriteOutStatsQ4Buffer.Run(); } else { Global.Q4StatBuffer = ""; } Global.LogText = "<--- fnDoScenario42 Iteration: " + Global.CurrentIteration; WriteToLogFile.Run(); Report.Log(ReportLevel.Info, "Scenario 42 OUT", "Iteration: " + Global.CurrentIteration, new RecordItemIndex(0)); Thread.Sleep(2000); // ***********End Scenario 42***************** }
public void Run() { //*****************Start Scenario 37 - Retech - Reserve Pickup ****************** Mouse.DefaultMoveTime = 300; Keyboard.DefaultKeyPressTime = 100; Delay.SpeedFactor = 1.0; Ranorex.Unknown element = null; Global.AbortScenario = false; // Uses same SKU and Customer for Scenarios 3, 4, and 5 RanorexRepository repo = new RanorexRepository(); fnTimeMinusOverhead TimeMinusOverhead = new fnTimeMinusOverhead(); fnDumpStatsQ4 DumpStatsQ4 = new fnDumpStatsQ4(); fnWriteToLogFile WriteToLogFile = new fnWriteToLogFile(); fnWriteToErrorFile WriteToErrorFile = new fnWriteToErrorFile(); FnWriteOutStatsQ4Buffer WriteOutStatsQ4Buffer = new FnWriteOutStatsQ4Buffer(); fnUpdatePALStatusMonitor UpdatePALStatusMonitor = new fnUpdatePALStatusMonitor(); FnCheckout Checkout = new FnCheckout(); FnStartTransaction StartTransaction = new FnStartTransaction(); FnEnterSKU EnterSKU = new FnEnterSKU(); FnProductionIssueFunctions ProductionIssueFunctions = new FnProductionIssueFunctions(); Global.CurrentScenario = 37; if (!Global.IndirectCall) { if (!Global.DoScenarioFlag[Global.CurrentScenario]) { return; } } Global.ScenarioExecuted = true; //string ReservePickupPhoneNumber = "9727651234"; string ReservePickupPhoneNumber = "406254111" + Global.RegisterNumber; Global.RetechScenariosPerformed++; UpdatePALStatusMonitor.Run(); // Create new stopwatch Stopwatch MystopwatchTT = new Stopwatch(); MystopwatchTT.Reset(); MystopwatchTT.Start(); Stopwatch MystopwatchF1 = new Stopwatch(); Stopwatch MystopwatchTotal = new Stopwatch(); MystopwatchTotal.Reset(); MystopwatchTotal.Start(); Stopwatch MystopwatchQ4 = new Stopwatch(); Stopwatch MystopwatchModuleTotal = new Stopwatch(); Global.LogText = @"---> fnDoScenario37 Iteration: " + Global.CurrentIteration; WriteToLogFile.Run(); Report.Log(ReportLevel.Info, "Scenario 37 IN", "Iteration: " + Global.CurrentIteration, new RecordItemIndex(0)); // Start MystopwatchModuleTotal.Reset(); MystopwatchModuleTotal.Start(); //#### Reserve the item StartTransaction.Run(); MystopwatchQ4.Reset(); MystopwatchQ4.Start(); TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = "Start Transaction"; Global.Module = "Reserve:"; DumpStatsQ4.Run(); MystopwatchQ4.Reset(); MystopwatchQ4.Start(); Global.LogText = @"Reserve Item"; WriteToLogFile.Run(); repo.Retech.FindAProductCtrlPlusS.Click("19;5"); // click in search box Thread.Sleep(100); Keyboard.Press("{F2}"); // Upcoming Thread.Sleep(100); // ######################################################## // Line item: repo.RetechQuickSearchView.SearchResultsView.ListBoxItem; // Price: repo.RetechQuickSearchView.SearchResultsView.NewPrice; // PreOrder: repo.RetechQuickSearchView.SearchResultsView.PreOrder; // SKU: repo.RetechQuickSearchView.SearchResultsView.NewSku; // Number of items in list: repo.RetechQuickSearchView.DisplayedCount; // string SearchCount = repo.RetechQuickSearchView.DisplayedCount.TextValue; // NumberRecordsFound = Convert.ToInt32(SearchCount.Substring(0,SearchCount.IndexOf(" "))); //repo.RetechQuickSearchView.FirstPreOrderItem.Click(); // Click on first pre-order item bool PreOrderFound = false; Global.LogText = @"Searching for PreOrder item in list"; WriteToLogFile.Run(); while (!PreOrderFound) { // Search for and select the first PRE-ORDER item > $10.00 List list = "/form[@automationid='QuickSearchView']/?/?/list[@automationid='SearchResultsView']"; IList <ListItem> items = list.Items; foreach (ListItem EachItem in list.Items) { string TextAmt = EachItem.Children[1].Children[0].GetAttributeValue <string>("Caption"); // Price TextAmt = TextAmt.Substring(1, TextAmt.Length - 1); // remove $ decimal DecAmt = Convert.ToDecimal(TextAmt); // convert to decimal string TheCaption = EachItem.Children[1].Children[1].GetAttributeValue <string>("Caption"); // Item type looking for PRE-ORDER if (DecAmt > 10.00m && TheCaption == "PRE-ORDER") { EachItem.Click(); PreOrderFound = true; break; } } if (!PreOrderFound) { // page down on list of items repo.ShellView.SearchResultsView.Click("627;44"); Delay.Milliseconds(200); Keyboard.Press("{Next}"); } } Thread.Sleep(100); Keyboard.Press("{Escape}"); // Escape from search box Thread.Sleep(100); // Process age verification if exists if (Host.Local.TryFindSingle(repo.Retech.AgeVerifiedCommand1Info.AbsolutePath.ToString(), out element)) { repo.Retech.AgeVerifiedCommand1.Click(); Thread.Sleep(100); } // Get the Initial Deposit amout from the screen Global.SpecialPayThisAmount = repo.Retech.DepositText.TextValue.Substring(1); TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = "Reserve Item"; Global.Module = "Reserve:"; DumpStatsQ4.Run(); // Select Customer MystopwatchQ4.Reset(); MystopwatchQ4.Start(); repo.Retech.SelectCustomer.Click(); Thread.Sleep(100); repo.Retech.ButtonContent.Click("105;10"); // Search for Customer Thread.Sleep(100); // repo.RetechFindCustomerView.CustomerLookupTxt.PressKeys("9727651234{Enter}"); 12-13-18 repo.RetechFindCustomerView.CustomerLookupTxt.TextValue = ReservePickupPhoneNumber; repo.RetechFindCustomerView.Self.PressKeys("{Enter}"); while (!Host.Local.TryFindSingle(repo.RetechFindCustomerView.ListBoxItemInfo.AbsolutePath.ToString(), out element)) { Thread.Sleep(100); } repo.RetechFindCustomerView.ListBoxItem.Click(); // accept customer Thread.Sleep(500); while (Host.Local.TryFindSingle(repo.RetechFindCustomerView.ListBoxItemInfo.AbsolutePath.ToString(), out element)) { Thread.Sleep(100); } // Process continue 1 if (Host.Local.TryFindSingle(repo.Retech.ContinueButtonCommand1Info.AbsolutePath.ToString(), out element)) { repo.Retech.ContinueButtonCommand1.Click(); Thread.Sleep(200); } // Process continue 2 if (Host.Local.TryFindSingle(repo.ContinueButtonCommandInfo.AbsolutePath.ToString(), out element)) { repo.ContinueButtonCommand.Click(); Thread.Sleep(200); } // Process SMS text message - not interested if (Host.Local.TryFindSingle(repo.Retech.NotInterestedCommandInfo.AbsolutePath.ToString(), out element)) { repo.Retech.NotInterestedCommand.Click(); Thread.Sleep(200); } TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = "Select Customer"; Global.Module = "Reserve:"; DumpStatsQ4.Run(); // Check for Product Replacement Plan if (Host.Local.TryFindSingle(repo.Retech.ProductReplacementContinueInfo.AbsolutePath.ToString(), out element)) { repo.Retech.ProductReplacementContinue.Click(); Thread.Sleep(200); } if (Host.Local.TryFindSingle(repo.Retech.ContinueButtonCommand1Info.AbsolutePath.ToString(), out element)) { repo.Retech.ContinueButtonCommand1.Click(); Thread.Sleep(100); } if (Host.Local.TryFindSingle(repo.ContinueButtonCommandInfo.AbsolutePath.ToString(), out element)) { repo.ContinueButtonCommand.Click(); Thread.Sleep(100); } // Checkout and pay required deposit MystopwatchQ4.Reset(); MystopwatchQ4.Start(); Global.SpecialCheckingOut = false; Global.PayWithMethod = "Cash"; ProductionIssueFunctions.SpecialPreCheckOut(); ProductionIssueFunctions.SpecialCheckForCodeF4Alert(); repo.RetechLoginView.TxtPassword.PressKeys("{Escape}"); // initial sign on screen TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = "Pay deposit and checkout"; Global.Module = "Reserve:"; DumpStatsQ4.Run(); TimeMinusOverhead.Run((float)MystopwatchModuleTotal.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.NowCustomerLookup = Global.AdjustedTime; Global.CurrentMetricDesciption = "Module Total Time"; Global.Module = "Reserve:"; DumpStatsQ4.Run(); MystopwatchModuleTotal.Reset(); MystopwatchModuleTotal.Start(); // ##### Now do the pickup MystopwatchQ4.Reset(); MystopwatchQ4.Start(); StartTransaction.Run(); TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = "Start Transaction 2"; Global.Module = "Pick Up:"; DumpStatsQ4.Run(); MystopwatchQ4.Reset(); MystopwatchQ4.Start(); // repo.Retech.FindCustomerTextBox.PressKeys("9727651234{Enter}"); // get the customer 12-13-18 repo.Retech.FindCustomerTextBox.TextValue = ReservePickupPhoneNumber; repo.Retech.FindCustomerTextBox.PressKeys("{Enter}"); while (!Host.Local.TryFindSingle(repo.RetechFindCustomerView.ListBoxItemInfo.AbsolutePath.ToString(), out element)) { Thread.Sleep(100); } repo.RetechFindCustomerView.ListBoxItem.Click(); // accept customer while (Host.Local.TryFindSingle(repo.RetechFindCustomerView.ListBoxItemInfo.AbsolutePath.ToString(), out element)) { Thread.Sleep(100); } // View customer details to get reserve item repo.Retech.ShowCustomerDetails.Click(); while (!Host.Local.TryFindSingle(repo.CustomerDetailsView.OpenReservationListItemControlInfo.AbsolutePath.ToString(), out element)) { Thread.Sleep(100); } // Get the reserved item repo.CustomerDetailsView.OpenReservationListItemControl.Click(); // Click on first reserved item repo.CustomerDetailsView.PickupReservation.Click(); Thread.Sleep(100); repo.OptionSelectorView.StreetDatedProductConfirm.Click(); // Yes sell this street dated itme Thread.Sleep(100); Keyboard.Press("{Escape}"); if (Host.Local.TryFindSingle(repo.ContinueButtonCommandInfo.AbsolutePath.ToString(), out element)) { repo.ContinueButtonCommand.Click(); Thread.Sleep(200); } TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = "Get customer and pick up item"; Global.Module = "Pick Up:"; DumpStatsQ4.Run(); /* * // Price override * MystopwatchQ4.Reset(); * MystopwatchQ4.Start(); * * ProductionIssueFunctions.SpecialPriceOverride(1.00m); // lower the price so not so many code F4 alerts * * TimeMinusOverhead.Run((float) MystopwatchQ4.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine * Global.CurrentMetricDesciption = "Price Overide"; * Global.Module = "Pick Up:"; * DumpStatsQ4.Run(); */ // Process age verification if exists if (Host.Local.TryFindSingle(repo.Retech.AgeVerifiedCommand1Info.AbsolutePath.ToString(), out element)) { repo.Retech.AgeVerifiedCommand1.Click(); Thread.Sleep(100); } // Process continue 2 if (Host.Local.TryFindSingle(repo.ContinueButtonCommandInfo.AbsolutePath.ToString(), out element)) { repo.ContinueButtonCommand.Click(); Thread.Sleep(200); } // Now pickup and pay total for item MystopwatchQ4.Reset(); MystopwatchQ4.Start(); Global.SpecialCheckingOut = false; Global.PayWithMethod = "Cash"; Global.SpecialPayThisAmount = "All"; repo.Retech.DataContextShowCheckoutViewCommand.Click(); ProductionIssueFunctions.SpecialPreCheckOut(); ProductionIssueFunctions.SpecialCheckForCodeF4Alert(); repo.RetechLoginView.TxtPassword.PressKeys("{Escape}"); // initial sign on screen TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = "Pay for picked up item"; Global.Module = "Pick Up:"; DumpStatsQ4.Run(); TimeMinusOverhead.Run((float)MystopwatchModuleTotal.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.NowCustomerLookup = Global.AdjustedTime; Global.CurrentMetricDesciption = "Module Total Time"; Global.Module = "Pick Up:"; DumpStatsQ4.Run(); TimeMinusOverhead.Run((float)MystopwatchTT.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = @"Scenario 37"; Global.Module = "Total Time"; DumpStatsQ4.Run(); // Write out metrics buffer WriteOutStatsQ4Buffer.Run(); Global.LogText = "<--- fnDoScenario37 Iteration: " + Global.CurrentIteration; WriteToLogFile.Run(); Report.Log(ReportLevel.Info, "Scenario 37 OUT", "Iteration: " + Global.CurrentIteration, new RecordItemIndex(0)); Thread.Sleep(2000); // ***********End Scenario 37***************** }
public void Run() { //*****************Start Scenario 35 - Retech - Simple One SKU pay with PURCC ****************** Mouse.DefaultMoveTime = 300; Keyboard.DefaultKeyPressTime = 100; Delay.SpeedFactor = 1.0; Ranorex.Unknown element = null; Global.AbortScenario = false; // Uses same SKU and Customer for Scenarios 3, 4, and 5 RanorexRepository repo = new RanorexRepository(); fnTimeMinusOverhead TimeMinusOverhead = new fnTimeMinusOverhead(); fnDumpStatsQ4 DumpStatsQ4 = new fnDumpStatsQ4(); fnWriteToLogFile WriteToLogFile = new fnWriteToLogFile(); FnWriteOutStatsQ4Buffer WriteOutStatsQ4Buffer = new FnWriteOutStatsQ4Buffer(); fnUpdatePALStatusMonitor UpdatePALStatusMonitor = new fnUpdatePALStatusMonitor(); FnCheckout Checkout = new FnCheckout(); fnWriteToErrorFile WriteToErrorFile = new fnWriteToErrorFile(); FnEnterSKU EnterSKU = new FnEnterSKU(); Global.CurrentScenario = 35; if (!Global.DoScenarioFlag[Global.CurrentScenario]) // if(Global.CurrentScenario != 9999) { return; } Global.RetechScenariosPerformed++; UpdatePALStatusMonitor.Run(); // Create new stopwatch Stopwatch MystopwatchTT = new Stopwatch(); MystopwatchTT.Reset(); MystopwatchTT.Start(); Stopwatch MystopwatchTotal = new Stopwatch(); MystopwatchTotal.Reset(); MystopwatchTotal.Start(); Stopwatch MystopwatchQ4 = new Stopwatch(); Stopwatch MystopwatchModuleTotal = new Stopwatch(); Stopwatch MystopwatchF1 = new Stopwatch(); Global.LogText = @"---> fnDoScenario35 Iteration: " + Global.CurrentIteration; WriteToLogFile.Run(); Report.Log(ReportLevel.Info, "Scenario 35 IN", "Iteration: " + Global.CurrentIteration, new RecordItemIndex(0)); // Start MystopwatchModuleTotal.Reset(); MystopwatchModuleTotal.Start(); MystopwatchQ4.Reset(); MystopwatchQ4.Start(); Global.LogText = @"Start Transaction"; WriteToLogFile.Run(); // Click on start a transaction while (!Host.Local.TryFindSingle(repo.Retech.StartATransactionInfo.AbsolutePath.ToString(), out element)) { Thread.Sleep(100); } repo.Retech.StartATransaction.Click(); if (Host.Local.TryFindSingle(repo.GenericDialogView.CriticalErrorSavingTransactionCallHInfo.AbsolutePath.ToString(), out element)) { repo.GenericDialogView.ErrorSavingButtonOK.Click(); Thread.Sleep(200); Global.TempErrorString = "Error Saving Transaction"; WriteToErrorFile.Run(); Global.LogText = Global.TempErrorString; WriteToLogFile.Run(); } MystopwatchF1.Reset(); MystopwatchF1.Start(); while (!Host.Local.TryFindSingle(repo.RetechLoginView.TxtPasswordInfo.AbsolutePath.ToString(), out element)) { Thread.Sleep(100); if (MystopwatchF1.ElapsedMilliseconds > 1500) { repo.Retech.StartATransaction.Click(); MystopwatchF1.Reset(); MystopwatchF1.Start(); } } Global.TempFloat = (float)MystopwatchQ4.ElapsedMilliseconds / 1000; TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = @"[F5] Start Transaction"; Global.Module = "Log On"; DumpStatsQ4.Run(); // Enter Password MystopwatchQ4.Reset(); MystopwatchQ4.Start(); // if(repo.RetechLoginView.UserId.TextValue == "") // { // repo.RetechLoginView.UserId.TextValue = "PSU"; // } repo.RetechLoginView.TxtPassword.PressKeys("advanced{Return}"); switch (Global.RetechVersion.Substring(0, 3)) { case "5.6": while (!repo.Retech.LetsGetStarted_5_6_0_103.Visible) { Thread.Sleep(100); } break; case "5.7": while (!repo.AddLineItemCommand.Enabled) { Thread.Sleep(100); } break; default: while (!repo.AddLineItemCommand.Enabled) { if (Host.Local.TryFindSingle(repo.ContinueButtonCommandInfo.AbsolutePath.ToString(), out element)) { repo.ContinueButtonCommand.Click(); } Thread.Sleep(100); } break; } TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = "Enter Password"; Global.Module = "Log On"; DumpStatsQ4.Run(); TimeMinusOverhead.Run((float)MystopwatchModuleTotal.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = "Module Total Time"; Global.Module = "Log On"; DumpStatsQ4.Run(); MystopwatchModuleTotal.Reset(); MystopwatchModuleTotal.Start(); Global.LogText = @"Add Item"; WriteToLogFile.Run(); // Press F1 add item Keyboard.Press("{F1}"); while (!repo.AddItemText.Enabled) { Thread.Sleep(100); } // Enter SKU Global.CurrentSKU = Global.S4Sku1; EnterSKU.Run(); // Press F1 add item Keyboard.Press("{F1}"); while (!repo.AddItemText.Enabled) { Thread.Sleep(100); } // Enter SKU cost 1 penny Global.CurrentSKU = "644917"; EnterSKU.Run(); // Return the SKU MystopwatchQ4.Reset(); MystopwatchQ4.Start(); // Press returns repo.Retech.ReturnsF4.Click(); Thread.Sleep(100); // select add item and add the SKU repo.AddLineItemCommand.Click(); //Thread.Sleep(100); repo.AddItemText.TextValue = Global.S4Sku1; Keyboard.Press("{Enter}"); // Select Defective for retrun reason repo.ReturnReason.Click("246;16"); repo.Retech.ListItemGameStopOESOrdersItemsRetur.Click("153;6"); repo.ReturnReason.PressKeys("{LControlKey down}{LMenu down}"); repo.ReturnReason.PressKeys("{LMenu up}{LControlKey up}"); repo.Retech.DataContextShowCheckoutViewCommand.Click("93;62"); repo.Retech.DataContextShowCheckoutViewCommand.Click("95;56"); //Click on Scan or select receipt and select no receipt repo.Retech.SelectReceipt.Click("369;20"); repo.Retech.NoReceiptAvailableCommand.Click("265;11"); repo.Retech.SelectReceipt.PressKeys("{LControlKey down}{LMenu down}"); repo.Retech.SelectReceipt.PressKeys("{LControlKey up}{LMenu up}"); // Press F5 continue Keyboard.Press("{F5}"); TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = "Enter Return"; Global.Module = "Add Return"; DumpStatsQ4.Run(); // @#@#@# C H E C K O U T #@#@#@ Global.PayWithMethod = "PURCC"; Checkout.Run(); TimeMinusOverhead.Run((float)MystopwatchTT.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine Global.CurrentMetricDesciption = @"Scenario 35"; Global.Module = "Total Time"; DumpStatsQ4.Run(); // Write out metrics buffer WriteOutStatsQ4Buffer.Run(); Global.LogText = "<--- fnDoScenario35 Iteration: " + Global.CurrentIteration; WriteToLogFile.Run(); Report.Log(ReportLevel.Info, "Scenario 35 OUT", "Iteration: " + Global.CurrentIteration, new RecordItemIndex(0)); Thread.Sleep(2000); // ***********End Scenario 35***************** }