//this is the test code generated by selenium
        //****Paste test script here*****
        public override void RunTest()
        {
            selenium.Open(base.baseURL);
            quality.AreEqual("Garmin Product Updates for Kenwood", quality.GetTitle());
            quality.Click("css=a.button > span");
            quality.WaitForPageToLoad("30000");

            ken.DeviceSelectionPage();

            quality.Select("id=headUnitRegionFilter", "label=All");
            quality.WaitForPageToLoad("30000");
            quality.Select("id=headUnitRegionFilter", "label=Europe");
            quality.WaitForPageToLoad("30000");
            quality.AreEqual("Select a Model", quality.GetTitle());

            //comment: Select the same device like the one from the XML
            quality.Click("link=DNX5220");
            quality.WaitForPageToLoad("30000");

            ken.ProductUpdatesPage(true);

            // comment: Click on "Real-Time Traffic" button
            quality.Click("//div[@id='productUpdates']/a[2]/div/div/div");
            quality.WaitForPageToLoad("30000");

            //comment: Check the "Latest Map for Kenwood"
            ken.TrafficSubscriptionPage();

            //comment: Click on the first traffic subscription (North America)
            quality.Click("css=div.text");
            quality.WaitForPageToLoad("30000");

            ken.TrafficServicesForkenwoodPage();

            //comment: Click "Add to Cart" button without beeing logged-in
            quality.Click("css=a.button.left > span");
            quality.WaitForPageToLoad("30000");

            ken.SignInPage();

            ken.SignIn(username, password);

            /*
             * quality.Type("id=username", username);
             * quality.Type("id=password", password);
             * quality.Click("css=a.button");
             * quality.WaitForPageToLoad("30000");
             */
            //comment: Validate the "Add to Cart: Traffic Subscription" page
            ken.AddToCartTrafficVerification(true);

            // comment: Click the "Cancel" button from the "Add to Cart: Traffic Subscription"
            quality.Click("css=a.button > span");
            quality.WaitForPageToLoad("30000");

            ken.TrafficServicesForkenwoodPage();

            ken.Logout();
        }
        //this is the test code generated by selenium
        //****Paste test script here*****
        public override void RunTest()
        {
            selenium.Open(base.baseURL);
            quality.AreEqual("Garmin Product Updates for Kenwood", quality.GetTitle());
            quality.Click("css=a.button > span");
            quality.WaitForPageToLoad("30000");

            ken.DeviceSelectionPage();

            quality.Select("id=headUnitRegionFilter", "label=All");
            quality.WaitForPageToLoad("30000");
            quality.Select("id=headUnitRegionFilter", "label=Europe");
            quality.WaitForPageToLoad("30000");
            quality.AreEqual("Select a Model", quality.GetTitle());

            //comment: Select a device
            quality.Click("link=DNX7220");
            quality.WaitForPageToLoad("30000");

            ken.ProductUpdatesPage(true);

            // comment: Click on "Real-Time Traffic" button
            quality.Click("//div[@id='productUpdates']/a[2]/div/div/div");
            quality.WaitForPageToLoad("30000");

            //comment: Check the "Latest Map for Kenwood"
            ken.TrafficSubscriptionPage();

            //comment: Click on the first traffic subscription (North America)
            quality.Click("css=div.text");
            quality.WaitForPageToLoad("30000");

            ken.TrafficServicesForkenwoodPage();

            //comment: Click "Add to Cart" button without beeing logged-in
            quality.Click("css=a.button.left > span");
            quality.WaitForPageToLoad("30000");

            ken.SignInPage();

            quality.Type("id=username", username);
            quality.Type("id=password", password);
            quality.Click("css=a.button");
            quality.WaitForPageToLoad("30000");

            //comment: Validate the "Add to Cart: Traffic Subscription" page
            ken.AddToCartTrafficVerification(true);

            // comment: Type a Valid Unit ID
            quality.Type("id=unitId", "");
            quality.Type("id=unitId", "3422110080");
            quality.Click("//form[@id='verifyTrafficForm']/table/tbody/tr[5]/td/a[2]/span");
            quality.WaitForPageToLoad("30000");

            ken.ShoppingCartWithTrafficSubscriptionToBuy(true);

            // comment: Click the "Continue Shopping" button
            quality.Click("//form[@id='shoppingCartForm']/div[2]/div[4]/a/span");
            quality.WaitForPageToLoad("30000");

            ken.ProductUpdatesPage(true);

            // comment: Click on "Real-Time Traffic" button
            quality.Click("//div[@id='productUpdates']/a[2]/div/div/div");
            quality.WaitForPageToLoad("30000");

            //comment: Check the "Real traffic Subscription"
            ken.TrafficSubscriptionPage();

            //comment: Click on the first traffic subscription
            quality.Click("css=div.text");
            quality.WaitForPageToLoad("30000");

            ken.TrafficServicesForkenwoodPage();

            //comment: Click "Add to Cart" button without beeing logged-in
            quality.Click("css=a.button.left > span");
            quality.WaitForPageToLoad("30000");

            //comment: Validate the "Add to Cart: Traffic Subscription" page
            ken.AddToCartTrafficVerification(true);

            // comment: Type a Valid Unit ID
            quality.Type("id=unitId", "");
            quality.Type("id=unitId", "3422110080");
            quality.Click("//form[@id='verifyTrafficForm']/table/tbody/tr[5]/td/a[2]/span");
            quality.WaitForPageToLoad("30000");

            ken.ShoppingCartWithTrafficSubscriptionToBuy(false);

            ken.Logout();
        }
        //this is the test code generated by selenium
        //****Paste test script here*****
        public override void RunTest()
        {
            selenium.Open(base.baseURL);
            quality.AreEqual("Garmin Product Updates for Kenwood", quality.GetTitle());
            quality.Click("css=a.button > span");
            quality.WaitForPageToLoad("30000");

            ken.DeviceSelectionPage();

            quality.Select("id=headUnitRegionFilter", "label=All");
            quality.WaitForPageToLoad("30000");
            quality.Select("id=headUnitRegionFilter", "label=Europe");
            quality.WaitForPageToLoad("30000");
            quality.AreEqual("Select a Model", quality.GetTitle());

            //comment: Select the same device like the one from the XML
            quality.Click("link=DNX5220");
            try
            {
                selenium.Click("link=DNX5220");
            }
            catch (Exception)
            {
            }

            quality.WaitForPageToLoad("30000");


            ken.ProductUpdatesPage(true);

            // comment: Click on "Real-Time Traffic" button
            quality.Click("//div[@id='productUpdates']/a[2]/div/div/div");
            quality.WaitForPageToLoad("30000");

            ken.TrafficSubscriptionPage();

            //comment: Click on the first traffic subscription (North America)
            quality.Click("css=div.text");
            quality.WaitForPageToLoad("30000");

            ken.TrafficServicesForkenwoodPage();

            //comment: Click "Add to Cart" button without beeing logged-in
            quality.Click("css=a.button.left > span");
            quality.WaitForPageToLoad("30000");

            ken.SignInPage();

            quality.Type("id=username", username);
            quality.Type("id=password", password);
            quality.Click("css=a.button");
            quality.WaitForPageToLoad("30000");

            //comment: Validate the "Add to Cart: Traffic Subscription" page
            ken.AddToCartTrafficVerification(false);

            //comment: Validate the "Add to Cart: Traffic Subscription" - do not enter any value and press the Continue btn
            quality.Click("link=Continue");
            quality.WaitForPageToLoad("30000");

            //quality.IsTextPresent("Traffic Receiver ID is required");
            quality.IsTextPresent("Unit ID is required");

            //comment: special characters for Unit ID
            quality.Type("id=unitId", "!@#$%@@%$$#@!$%#@!!$%$");
            quality.Click("link=Continue");
            quality.WaitForPageToLoad("30000");
            //quality.AreEqual("Add to Cart: Traffic Verification", quality.GetTitle());
            //quality.IsTextPresent("Traffic Receiver ID is required");
            quality.IsTextPresent("Please enter a valid Unit ID");

            //comment: special caracters for unit Id and traffic receivcer ID
            quality.Type("id=unitId", "!@#$%@@%$$#@!$%#@!!$%$");
            //quality.Type("id=trafficReceiverId", "!@#$%@@%$$#@!$%#@!!$%$");
            quality.Click("link=Continue");
            quality.WaitForPageToLoad("30000");
            //quality.AreEqual("Add to Cart: Traffic Verification", quality.GetTitle());
            //quality.IsTextPresent("Please enter a valid Traffic Receiver ID");
            quality.IsTextPresent("Please enter a valid Unit ID");

            //comment: Type special characters for traffic receiver id
            quality.Type("id=unitId", "");
            //quality.Type("id=trafficReceiverId", "!@#$%@@%$$#@!$%#@!!$%$");
            quality.Click("link=Continue");
            quality.WaitForPageToLoad("30000");
            //quality.AreEqual("Add to Cart: Traffic Verification", quality.GetTitle());
            //quality.IsTextPresent("Please enter a valid Traffic Receiver ID");
            quality.IsTextPresent("Unit ID is required");

            //comment: Type string characters for Unit ID
            quality.Type("id=unitId", "qweqrrqwerewqrwerweqrqwrwqrwrwq");
            //quality.Type("id=trafficReceiverId", "qweqrrqwerewqrwerweqrqwrwqrwrwq");
            quality.Click("link=Continue");
            quality.WaitForPageToLoad("30000");
            //quality.AreEqual("Add to Cart: Traffic Verification", quality.GetTitle());
            //quality.IsTextPresent("Please enter a valid Traffic Receiver ID");
            quality.IsTextPresent("Please enter a valid Unit ID");

            //comment: Type invalid values for Unit ID and Traffic Receiver ID
            quality.Type("id=unitId", "-1");
            //quality.Type("id=trafficReceiverId", "-1");
            quality.Click("link=Continue");
            quality.WaitForPageToLoad("30000");
            // quality.AreEqual("Add to Cart: Traffic Verification", quality.GetTitle());
            quality.IsTextPresent("The Unit ID you entered is not valid");
            //quality.AreEqual("The Traffic Receiver ID you entered is not valid", quality.GetText("//div[@id='bd']/ul/li[2]"));

            //comment: Type a valid a Traffic Receiver ID and press "Continue" without a Unit ID
            quality.Type("id=unitId", "");
            //quality.Type("id=trafficReceiverId", unitIdNotRegistered);
            quality.Click("link=Continue");
            quality.WaitForPageToLoad("30000");
            // quality.AreEqual("Add to Cart: Traffic Verification", quality.GetTitle());
            quality.IsTextPresent("Unit ID is required");

            //comment: Type a valid Unit Id and a valid traffic receiver id which is registered to another user account
            quality.Type("id=unitId", "");
            //quality.Type("id=trafficReceiverId", "");
            quality.Type("id=unitId", unitIdRegistered);
            //quality.Type("id=trafficReceiverId", unitIdRegistered);
            quality.Click("link=Continue");
            quality.WaitForPageToLoad("30000");
            //quality.AreEqual("Add to Cart: Traffic Verification", quality.GetTitle());
            quality.IsTextPresent("This device is currently registered to another user account");
            //quality.AreEqual("This traffic receiver is currently registered to another user account", quality.GetText("//div[@id='bd']/ul/li[2]"));

            //comment: Type a valid Unit ID and leave empty the Traffic Receiver ID
            quality.Type("id=unitId", unitIdNotRegistered);
            //quality.Type("id=trafficReceiverId", "");
            quality.Click("link=Continue");
            quality.WaitForPageToLoad("30000");
            //quality.AreEqual("Add to Cart: Traffic Verification", quality.GetTitle());
            //quality.IsTextPresent("Traffic Receiver ID is required");



            //ken.AddToCartTrafficVerification(quality, false);
            //ken.ShoppingCartWithTrafficSubscriptionToBuy(true);

            ken.Logout();
        }
示例#4
0
        //this is the test code generated by selenium
        //****Paste test script here*****
        public override void RunTest()
        {
            selenium.Open(base.baseURL);
            quality.AreEqual("Garmin Product Updates for Kenwood", quality.GetTitle());
            quality.Click("css=a.button > span");
            quality.WaitForPageToLoad("30000");

            ken.DeviceSelectionPage();

            quality.Select("id=headUnitRegionFilter", "label=All");
            quality.WaitForPageToLoad("30000");
            quality.Select("id=headUnitRegionFilter", "label=Europe");
            quality.WaitForPageToLoad("30000");
            quality.AreEqual("Select a Model", quality.GetTitle());

            //comment: Select the same device like the one from the XML
            quality.Click("link=DNX7220");
            quality.WaitForPageToLoad("30000");

            ken.ProductUpdatesPage(true);

            // comment: Click on "Real-Time Traffic" button
            quality.Click("//div[@id='productUpdates']/a[2]/div/div/div");
            quality.WaitForPageToLoad("30000");

            //comment: Check the "Real Traffic for Kenwood"
            ken.TrafficSubscriptionPage();

            //comment: Click on the first traffic subscription (North America)
            quality.Click("css=div.text");
            quality.WaitForPageToLoad("30000");

            ken.TrafficServicesForkenwoodPage();

            //comment: Click "Add to Cart" button without beeing logged-in
            quality.Click("css=a.button.left > span");
            quality.WaitForPageToLoad("30000");

            ken.SignInPage();

            quality.Type("id=username", username);
            quality.Type("id=password", password);
            quality.Click("css=a.button");
            quality.WaitForPageToLoad("30000");

            //comment: Validate the "Add to Cart: Traffic Subscription" page
            ken.AddToCartTrafficVerification(true);

            // comment: Type a Valid Unit ID
            quality.Type("id=unitId", "");
            quality.Type("id=unitId", "3422110080");
            quality.Click("//form[@id='verifyTrafficForm']/table/tbody/tr[5]/td/a[2]/span");

            quality.WaitForPageToLoad("30000");

            ken.ShoppingCartWithTrafficSubscriptionToBuy(true);

            // comment: Click "Update" button even if the QTY is disabled to be changed
            try
            {
                if (selenium.IsEditable("id=quantityDisabled") == false)
                {
                    quality.ErrorReport("Quantity Cannot be changed", CheckType.Element);
                }
            }
            catch (Exception)
            {
            }



            quality.Click("css=a.button > span");
            quality.WaitForPageToLoad("30000");

            ken.ShoppingCartWithTrafficSubscriptionToBuy(true);
            ken.Logout();
        }
        //this is the test code generated by selenium
        //****Paste test script here*****
        public override void RunTest()
        {
            Update_XML.XMLEdit("Id", "3422110115");

            selenium.Open(base.baseURL);
            quality.AreEqual("Garmin Product Updates for Kenwood", quality.GetTitle());
            quality.Click("link=Sign In");
            quality.WaitForPageToLoad("30000");

            quality.AreEqual("Sign In", quality.GetTitle());

            ken.Login(username, password, fullname, false);

            //comment: Click on "Update" button from the "Product Updates" panel
            quality.Click("css=a.button > span");
            quality.WaitForPageToLoad("30000");

            ken.DeviceSelectionPage();

            //comment: Select the same device like the one from the XML
            quality.Select("id=headUnitRegionFilter", "label=All");
            quality.WaitForPageToLoad("30000");
            quality.Select("id=headUnitRegionFilter", "label=Europe");
            quality.WaitForPageToLoad("30000");
            quality.Click("link=DNX7220");
            quality.WaitForPageToLoad("30000");

            /*
             * ken.ModelIdentificationPage(quality);
             *
             * //comment: click on "Read Media" button
             * quality.Click("css=a.button > span");
             * quality.WaitForPageToLoad("30000");
             * quality.AreEqual("Scan Portable Media", quality.GetTitle());
             *
             * for (int second = 0; ; second++)
             * {
             *  if (second >= 60) quality.Fail("timeout");
             *  try
             *  {
             *      if ("Media Scan" == quality.GetText("css=div.titleHeader-text")) break;
             *  }
             *  catch (Exception)
             *  { }
             *  Thread.Sleep(1000);
             * }
             *
             * quality.AreEqual("Media Scan", quality.GetText("css=div.titleHeader-text"));
             * quality.AreEqual("Scanning Your Portable Storage Device... Please wait", quality.GetText("id=messageText"));
             *
             * ken.DeviceInformationFoundPage(quality, true);
             *
             * // comment: Click on the "Continue" button
             * quality.Click("css=a.button > span");
             * quality.WaitForPageToLoad("30000");
             */

            ken.ProductUpdatesPage(true);

            /*
             * // comment: Click on "Latest Map" button
             * quality.Click("css=div.description > span");
             * quality.WaitForPageToLoad("30000");
             *
             * //comment: Check the "Latest Map for Kenwood"
             * ken.LatestMapForKenwoodPage(quality);
             */

            // comment: Click on "Real-Time Traffic" button
            quality.Click("//div[@id='productUpdates']/a[2]/div/div/div");
            quality.WaitForPageToLoad("30000");

            //comment: Check the "Traffic subscription for Kenwood"
            ken.TrafficSubscriptionPage();

            //comment: Click on the first traffic subscription (North America)
            quality.Click("css=div.text");
            quality.WaitForPageToLoad("30000");

            ken.TrafficServicesForkenwoodPage();

            //comment: Click "Add to Cart" button without beeing logged-in
            quality.Click("css=a.button.left > span");
            quality.WaitForPageToLoad("30000");

            //comment: Validate the "Add to Cart: Traffic Subscription" page
            ken.AddToCartTrafficVerification(true);

            quality.Type("id=unitId", "3422110115");
            quality.Click("//form[@id='verifyTrafficForm']/table/tbody/tr[5]/td/a[2]/span");

            quality.WaitForPageToLoad("30000");

            //ken.ShoppingCartWithLatestMapToBuy(quality);
            ken.ShoppingCartWithTrafficSubscriptionToBuy(true);

            // comment: Click the "Checkout" button
            quality.Click("//form[@id='shoppingCartForm']/div[2]/div[4]/a[2]/span");
            quality.WaitForPageToLoad("30000");

            ken.CheckOutPage();

            // comment: Update the Shipping address fields

            ken.Checkout("FirstName Tester", "LastName Tester", "label=United States",
                         "AddressLine1 tester's address", "AddressLine2 tester's address", "HILO",
                         "label=Hawaii", "96720", "000-555-1212");

            // comment: Check that the "Billing Address" page is displayed

            /*
             * if (ken.CheckForTimeOut("Edit","link=Edit", 61))
             * {
             *  failedcheck++;
             * }
             */

            ken.BillingAddressSection();

            ken.PaymentInformationSection();

            DateTime time = DateTime.Now;

            //string current_year = time.Year.ToString();
            string year_builder = "";

            for (int i = 0; i < 16; i++)
            {
                if (i <= 14)
                {
                    year_builder += time.AddYears(i).Year.ToString() + " ";
                }
                else
                {
                    year_builder += time.AddYears(i).Year.ToString();
                }
            }

            quality.AreEqual(year_builder, quality.GetText("id=expYear"));

            //decrease speed of execution
            selenium.SetSpeed("1000");

            quality.Select("name=cardType", "label=Master Card");
            quality.Select("name=cardType", "label=Visa");

            // comment: Complete Purchase workflow
            quality.Select("name=cardType", "label=Discover");
            quality.Type("id=cardHolderName", "holder name");
            quality.Type("id=cardNumber", "6011111111111117");
            quality.Type("id=cardSecurityCode", "123");
            quality.Select("id=expMonth", "label=03");
            quality.Select("id=expYear", "label=2021");

            //comment: Click on "Place Secure Order" button
            quality.Click("id=submitOrder");

            quality.WaitForPageToLoad("30000");
            Thread.Sleep(10000);
            // comment: Validate the Purchase Details

            /*
             * for (int second = 0; second < 61 ; second++)
             * {
             *  if (second >= 60) quality.ErrorReport("timeout" , CheckType.Warning);
             *  try
             *  {
             *      if (quality.IsTextPresent("Order Summary")) break;
             *  }
             *  catch (Exception)
             *  { }
             *  Thread.Sleep(1000);
             * }
             */

            quality.AreEqual("Order Summary", quality.GetTitle());
            quality.AreEqual("Order Summary", quality.GetText("css=div.titleHeader-text"));
            quality.AreEqual("Order Receipt:", quality.GetText("css=div.header"));

            string inputString = quality.GetText("css=strong");

            /*
             * Match match = Regex.Match(inputString, @"Order\s\#\:\s\d{12}", RegexOptions.IgnoreCase);
             *
             * if (match.Success)
             * {
             *  quality.True(true);
             * }
             */
            //quality.IsTrue(quality.IsTextPresent("Order Date: February 6, 2012 8:06:48 AM EST"));
            //quality.IsTrue(quality.IsTextPresent("Total: $69.99"));
            quality.IsTrue(quality.IsTextPresent("Status: Order Placed"));
            quality.AreEqual("Payment Method:", quality.GetText("//div[@id='bd']/div[3]/div/div[2]/div"));

            string cardName_number = quality.GetText("//div[@id='bd']/div[3]/div/div[2]/div[2]");

            /*
             * Match match1 = Regex.Match(cardName_number, @"\w{4}\s*.*\d{4}", RegexOptions.IgnoreCase);
             *
             * if (match1.Success)
             * {
             *  quality.True(true);
             * }
             */

            //quality.IsTrue(Regex.IsMatch(quality.GetText("//div[@id='bd']/div[3]/div/div[2]/div[2]"), "^VISA ************1111$"));
            quality.AreEqual("Billed To:", quality.GetText("//div[@id='bd']/div[3]/div[2]/div/div"));
            quality.IsTrue(quality.IsTextPresent("FirstName Tester LastName Tester"));
            quality.IsTrue(quality.IsTextPresent("AddressLine1 tester's address"));
            quality.IsTrue(quality.IsTextPresent("AddressLine2 tester's address"));
            quality.IsTrue(quality.IsTextPresent("HILO, HI"));
            quality.IsTrue(quality.IsTextPresent("US"));
            quality.IsTrue(quality.IsTextPresent("96720"));
            quality.IsTrue(quality.IsTextPresent("000-555-1212"));
            quality.AreEqual("Shipped To:", quality.GetText("//div[@id='bd']/div[3]/div[2]/div[2]/div"));
            quality.IsTrue(quality.IsTextPresent("FirstName Tester LastName Tester"));
            quality.IsTrue(quality.IsTextPresent("AddressLine1 tester's address"));
            quality.IsTrue(quality.IsTextPresent("AddressLine2 tester's address"));
            quality.IsTrue(quality.IsTextPresent("HILO, HI"));
            quality.IsTrue(quality.IsTextPresent("US"));
            quality.IsTrue(quality.IsTextPresent("96720"));
            quality.IsTrue(quality.IsTextPresent("000-555-1212"));
            quality.AreEqual("My Order:", quality.GetText("css=div.orderDetails > div.header"));
            quality.AreEqual("Item Description", quality.GetText("css=div.text"));
            quality.AreEqual("Unit Price", quality.GetText("css=#price-hd > div.text"));
            quality.AreEqual("Qty", quality.GetText("css=#quantity-hd > div.text"));
            quality.AreEqual("Total", quality.GetText("css=#total-hd > div.text"));

            //quality.AreEqual("City Navigator® North America NT 2012 Map Update for Kenwood Download", quality.GetText("css=span.name"));
            quality.AreEqual("Premium Traffic Subscription - Belgium", quality.GetText("css=span.name"));
            //quality.AreEqual("Item #010-D1207-00", quality.GetText("css=div.partNumber"));
            quality.AreEqual("Item #010-11356-10", quality.GetText("css=div.partNumber"));
            quality.AreEqual("", quality.GetText("css=img.margin-r20"));
            //quality.AreEqual("$69.99", quality.GetText("id=price"));
            //quality.IsTrue(Regex.IsMatch(quality.GetText("id=price"), ".*"));
            //quality.AreEqual("$69.99", quality.GetText("id=total"));
            //quality.IsTrue(Regex.IsMatch(quality.GetText("id=total"), ".*"));
            quality.AreEqual("Subtotal:", quality.GetText("css=div.labels"));
            //quality.AreEqual("$69.99", quality.GetText("css=div.prices.right > div.right"));
            //quality.IsTrue(Regex.IsMatch(quality.GetText("css=div.prices.right > div.right"), ".*"));
            quality.AreEqual("Total Charged:", quality.GetText("css=b"));
            //quality.AreEqual("$69.99", quality.GetText("css=div.right > b"));
            //quality.IsTrue(Regex.IsMatch(quality.GetText("css=div.right > b"), ".*"));

            // comment: Sign Out
            ken.Logout();
        }
        //this is the test code generated by selenium
        //****Paste test script here*****
        public override void RunTest()
        {
            selenium.Open(base.baseURL);
            quality.AreEqual("Garmin Product Updates for Kenwood", quality.GetTitle());
            quality.Click("link=Sign In");
            quality.WaitForPageToLoad("30000");

            quality.AreEqual("Sign In", quality.GetTitle());

            ken.Login(username, password, fullname, false);

            //comment: Click on "Update" button from the "Product Updates" panel
            quality.Click("css=a.button > span");
            quality.WaitForPageToLoad("30000");

            ken.DeviceSelectionPage();

            quality.Select("id=headUnitRegionFilter", "label=All");
            quality.WaitForPageToLoad("30000");
            quality.Select("id=headUnitRegionFilter", "label=Europe");
            quality.WaitForPageToLoad("30000");
            quality.AreEqual("Select a Model", quality.GetTitle());

            //comment: Select a device
            quality.Click("link=DNX7220");
            quality.WaitForPageToLoad("30000");

            ken.ProductUpdatesPage(true);

            // comment: Click on "Real-Time Traffic" button
            quality.Click("//div[@id='productUpdates']/a[2]/div/div/div");
            quality.WaitForPageToLoad("30000");

            //comment: Check the "Real traffic Subscription"
            ken.TrafficSubscriptionPage();

            //comment: Click on the first traffic subscription (North America)
            quality.Click("css=div.text");
            quality.WaitForPageToLoad("30000");

            ken.TrafficServicesForkenwoodPage();

            //comment: Click "Add to Cart" button without beeing logged-in
            quality.Click("css=a.button.left > span");
            quality.WaitForPageToLoad("30000");

            //comment: Validate the "Add to Cart: Traffic Subscription" page
            ken.AddToCartTrafficVerification(true);

            // comment: Type a Valid Unit ID
            quality.Type("id=unitId", "");
            quality.Type("id=unitId", "3422110080");
            quality.Click("//form[@id='verifyTrafficForm']/table/tbody/tr[5]/td/a[2]/span");
            quality.WaitForPageToLoad("30000");

            ken.ShoppingCartWithTrafficSubscriptionToBuy(true);

            // comment: Click the "Checkout" button
            quality.Click("//form[@id='shoppingCartForm']/div[2]/div[4]/a[2]/span");
            quality.WaitForPageToLoad("30000");
            quality.Select("id=shippingAddresscountry", "label=United States");

            ken.CheckOutPage();

            //comment: Empty all the requiered fields and press the "Continue" button
            quality.Type("id=shippingAddressfirstName", "");
            quality.Type("id=shippingAddresslastName", "");
            quality.Select("id=shippingAddresscountry", "label=Select a Country/Region");
            quality.Type("id=shippingAddressaddress1", "");
            quality.Type("id=shippingAddressaddress2", "");
            quality.Type("id=shippingAddresscity", "");
            quality.Select("id=shippingAddressstate", "label=Select a State/Province");
            quality.Type("id=shippingAddresszipPostal", "");
            quality.Type("id=shippingAddresszipPostal", "");
            quality.Type("id=shippingAddressphone", "");
            quality.Type("id=shippingAddressphone", "");

            quality.Click("id=continueBtn");

            if (ken.CheckForTimeOut("This field is required.", "css=div.alert > span", 61))
            {
                failedcheck++;
            }


            quality.AreEqual("This field is required.", quality.GetText("css=div.alert > span"));
            quality.AreEqual("This field is required.", quality.GetText("css=#shippingAddress-last-name > div.formAlert > div.alert > span"));
            quality.AreEqual("This field is required.", quality.GetText("css=#shippingAddress-country-region > div.formAlert > div.alert > span"));
            quality.AreEqual("This field is required.", quality.GetText("css=#shippingAddress-address-line-1 > div.formAlert > div.alert > span"));
            quality.AreEqual("This field is required.", quality.GetText("css=#shippingAddress-city > div.formAlert > div.alert > span"));
            quality.AreEqual("This field is required.", quality.GetText("css=#shippingAddress-state-province > div.formAlert > div.alert > span"));
            quality.AreEqual("This field is required.", quality.GetText("css=#shippingAddress-zip-postal-code > div.formAlert > div.alert > span"));
            quality.AreEqual("This field is required.", quality.GetText("css=#shippingAddress-phone > div.formAlert > div.alert > span"));

            // comment: State doesn't match the the zip code
            quality.Type("id=shippingAddressfirstName", "ABC Tester");
            quality.Type("id=shippingAddresslastName", "EFG Tester");
            quality.Select("id=shippingAddresscountry", "label=Select a Country/Region");
            quality.Select("id=shippingAddresscountry", "label=United States");
            quality.Type("id=shippingAddressaddress1", "lololol tester's address");
            quality.Type("id=shippingAddressaddress2", "qwerty tester's address");
            quality.Type("id=shippingAddresscity", "HILO");
            quality.Select("id=shippingAddressstate", "label=Idaho");
            quality.Type("id=shippingAddresszipPostal", "");
            quality.Type("id=shippingAddresszipPostal", "96720");
            quality.Type("id=shippingAddressphone", "");
            quality.Type("id=shippingAddressphone", "789-555-888824");

            quality.Click("id=continueBtn");

            if (ken.CheckForTimeOut("State does not match zip/postal code.", "css=#shippingAddress-state-province > div.formAlert > div.alert > span", 61))
            {
                failedcheck++;
            }

            quality.AreEqual("State does not match zip/postal code.", quality.GetText("css=#shippingAddress-state-province > div.formAlert > div.alert > span"));

            // comment: Zip code is not valid
            quality.Type("id=shippingAddressfirstName", "ABC Tester");
            quality.Type("id=shippingAddresslastName", "EFG Tester");
            quality.Select("id=shippingAddresscountry", "label=Select a Country/Region");
            quality.Select("id=shippingAddresscountry", "label=United States");
            quality.Type("id=shippingAddressaddress1", "lololol tester's address");
            quality.Type("id=shippingAddressaddress2", "qwerty tester's address");
            quality.Type("id=shippingAddresscity", "");
            quality.Type("id=shippingAddresscity", "HILO");
            quality.Select("id=shippingAddressstate", "label=Hawaii");
            quality.Type("id=shippingAddresszipPostal", "");
            quality.Type("id=shippingAddresszipPostal", "12356");
            quality.Type("id=shippingAddressphone", "");
            quality.Type("id=shippingAddressphone", "789-555-888824");

            quality.Click("id=continueBtn");

            if (ken.CheckForTimeOut("Zip/postal code is not valid.", "css=#shippingAddress-zip-postal-code > div.formAlert > div.alert > span", 61))
            {
                failedcheck++;
            }

            quality.AreEqual("Zip/postal code is not valid.", quality.GetText("css=#shippingAddress-zip-postal-code > div.formAlert > div.alert > span"));

            //comment: Type the maximum values for First Name, Last Name (100 characters) & Address1, Address2(200 characters) & Phone (20 characters) & City (100 characters)
            quality.Type("id=shippingAddressfirstName", "FirstName TesterFirstName TesterFirstName TesterFirstName TesterFirstName TesterFirstName TesterFirs");
            quality.Type("id=shippingAddresslastName", "FirstName TesterFirstName TesterFirstName TesterFirstName TesterFirstName TesterFirstName TesterFirs");
            quality.Select("id=shippingAddresscountry", "label=Select a Country/Region");
            quality.Select("id=shippingAddresscountry", "label=Hong Kong");
            quality.Type("id=shippingAddressaddress1", "AddressLine1 tester's addressAddressLine1 tester's addressAddressLine1 tester's addressAddressLine1 tester's addressAddressLine1 tester's addressAddressLine1 tester's addressAddressLine1 tester's addr");
            quality.Type("id=shippingAddressaddress2", "AddressLine1 tester's addressAddressLine1 tester's addressAddressLine1 tester's addressAddressLine1 tester's addressAddressLine1 tester's addressAddressLine1 tester's addressAddressLine1 tester's addr");

            quality.IsTrue(quality.IsElementPresent("id=shippingAddressstate"));

            quality.Type("id=shippingAddresscity", "HILOHILOHILOHILOHILOHILOHILOHILOHILOHILOHILOHILOHILOHILOHILOHILOHILOHILOHILOHILOHILOHILOHILOHILOHILO");
            quality.Type("id=shippingAddresszipPostal", "12351235498456564546163112316984565645461631123163");
            quality.Type("id=shippingAddressphone", "000-555-1212000-555-");

            // comment: City doesn't match the the zip code
            quality.Type("id=shippingAddressfirstName", "ABC Tester");
            quality.Type("id=shippingAddresslastName", "EFG Tester");
            quality.Select("id=shippingAddresscountry", "label=Select a Country/Region");
            quality.Select("id=shippingAddresscountry", "label=United States");
            quality.Type("id=shippingAddressaddress1", "lololol tester's address");
            quality.Type("id=shippingAddressaddress2", "qwerty tester's address");
            quality.Type("id=shippingAddresscity", "Cluj");
            quality.Select("id=shippingAddressstate", "label=Alaska");
            quality.Type("id=shippingAddresszipPostal", "");
            quality.Type("id=shippingAddresszipPostal", "99515");
            quality.Type("id=shippingAddressphone", "");
            quality.Type("id=shippingAddressphone", "789-555-888824");

            quality.Click("id=continueBtn");

            if (ken.CheckForTimeOut("City does not match zip/postal code. Please select a city from the list, or continue with the city you entered.", "css=#shippingAddress-city > div.formAlert > div.alert > span", 61))
            {
                failedcheck++;
            }



            quality.AreEqual("City does not match zip/postal code. Please select a city from the list, or continue with the city you entered.", quality.GetText("css=#shippingAddress-city > div.formAlert > div.alert > span"));

            // comment: Go back to Cart and remove the product
            quality.AreEqual("Back to Cart", quality.GetText("id=cancelBtn"));
            quality.Click("css=a.margin-l5");
            quality.WaitForPageToLoad("30000");
            quality.AreEqual("Shopping Cart", quality.GetTitle());
            try
            {
                quality.IsTrue(quality.IsTextPresent("remove"));
            }
            catch (Exception)
            {
                failedcheck++;
            }
            quality.Click("link=remove");
            quality.WaitForPageToLoad("30000");
            quality.AreEqual("Shopping Cart", quality.GetTitle());
            quality.AreEqual("Your Shopping Cart is currently empty", quality.GetText("css=div.cartEmpty"));

            ken.Logout();
        }
        //this is the test code generated by selenium
        //****Paste test script here*****
        public override void RunTest()
        {
            selenium.Open(base.baseURL);

            quality.AreEqual("Garmin Product Updates for Kenwood", quality.GetTitle());

            //comment: Login
            quality.Click("link=Sign In");
            quality.WaitForPageToLoad("30000");

            quality.AreEqual("Sign In", quality.GetTitle());

            ken.Login(username, password, fullname, false);

            //comment: Click on Product Updates
            quality.Click("css=a.button > span");
            quality.WaitForPageToLoad("30000");
            quality.ErrorReport("Ping 1", CheckType.Warning);
            ken.DeviceSelectionPage();

            quality.Select("id=headUnitRegionFilter", "label=All");
            quality.WaitForPageToLoad("30000");
            Thread.Sleep(1000);
            quality.Select("id=headUnitRegionFilter", "label=Europe");
            quality.WaitForPageToLoad("30000");
            quality.AreEqual("Select a Model", quality.GetTitle());
            Thread.Sleep(1000);
            //comment: Select the same device like the one from the XML
            quality.Click("link=DNX5220");
            quality.WaitForPageToLoad("30000");
            quality.ErrorReport("Ping 2", CheckType.Warning);
            ken.ProductUpdatesPage(true);

            // comment: Click on "Real-Time Traffic" button
            quality.Click("//div[@id='productUpdates']/a[2]/div/div/div");
            quality.WaitForPageToLoad("30000");
            quality.ErrorReport("Ping 3", CheckType.Warning);
            ken.TrafficSubscriptionPage();

            //comment: Click on the first traffic subscription (North America)
            quality.Click("css=div.text");
            quality.WaitForPageToLoad("30000");
            quality.ErrorReport("Ping 4", CheckType.Warning);
            ken.TrafficServicesForkenwoodPage();

            //comment: Click "Add to Cart" button without beeing logged-in
            quality.Click("css=a.button.left > span");
            quality.WaitForPageToLoad("30000");
            quality.ErrorReport("Ping 5", CheckType.Warning);
            //comment: Validate the "Add to Cart: Traffic Subscription" page
            ken.AddToCartTrafficVerification(false);

            // comment: Type a Valid Unit ID and A valid Traffic Receiver ID
            quality.Type("id=unitId", "");
            //quality.Type("id=trafficReceiverId", "");
            quality.Type("id=unitId", unitId);
            //quality.Type("id=trafficReceiverId", unitId);
            quality.Click("link=Continue");
            quality.WaitForPageToLoad("30000");

            // ken.ShoppingCartWithTrafficSubscriptionToBuy(true);

            // comment: Click the "Checkout" button
            quality.Click("//form[@id='shoppingCartForm']/div[2]/div[4]/a[2]/span");
            quality.WaitForPageToLoad("30000");
            quality.ErrorReport("Ping 6", CheckType.Warning);
            //ken.CheckOutPage();

            // comment: Update the Shipping address fields
            quality.Type("id=shippingAddressfirstName", "FirstName Tester");
            quality.Type("id=shippingAddresslastName", "LastName Tester");
            quality.Select("id=shippingAddresscountry", "label=Select a Country/Region");
            quality.Select("id=shippingAddresscountry", "label=United States");
            quality.Type("id=shippingAddressaddress1", "24285 Main");
            quality.Type("id=shippingAddressaddress2", "AddressLine2 tester's address");
            quality.Type("id=shippingAddresscity", "");
            quality.Type("id=shippingAddresscity", "E PALO ALTO");
            quality.Select("id=shippingAddressstate", "label=California");
            quality.Type("id=shippingAddresszipPostal", "");
            quality.Type("id=shippingAddresszipPostal", "94303");
            quality.Type("id=shippingAddressphone", "");
            quality.Type("id=shippingAddressphone", "000-555-1212");

            quality.Click("id=continueBtn");
            quality.ErrorReport("Ping 7", CheckType.Warning);

            if (ken.CheckForTimeOut("Edit", "link=Edit", 61))
            {
                failedcheck++;
            }
            // comment: Check that the "Billing Address" page is displayed

            quality.AreEqual("Edit", quality.GetText("link=Edit"));
            quality.IsTextPresent("Shipping Address");
            quality.AreEqual("Delivery Options", quality.GetText("css=fieldset > div.formHead > h2"));
            quality.AreEqual("Billing Address", quality.GetText("css=#billing-address > fieldset > div.formHead > h2"));
            quality.AreEqual("Payment Information", quality.GetText("css=#payment-information > fieldset > div.formHead > h2"));
            quality.AreEqual("Place Secure Order", quality.GetText("id=submitOrder"));

            //ken.DeliveryOptionsSection("FF");
            ken.Logout();
        }