//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();

            // comment: select different device from the one from garmin device xml
            quality.Click("link=DNX6040EX");
            quality.WaitForPageToLoad("30000");

            ken.ModelIdentificationPage();

            //comment: click on "Read Media" button
            quality.Click("css=a.button > span");
            quality.WaitForPageToLoad("30000");
            quality.AreEqual("Scan Portable Media", quality.GetTitle());

            if (ken.CheckForTimeOut("Media Scan", "css=div.titleHeader-text", 61))
            {
                failedcheck++;
            }

            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(false);

            // comment: Click on "Start Over" button
            quality.Select("id=device", "Forerunner 910XT");
            quality.Click("xpath=(//button[@type='button'])[2]");
            //quality.Click("//div[@id='modelIdentificationConfirm']/a[3]/span");
            quality.WaitForPageToLoad("30000");

            ken.DeviceSelectionPage();
            //quality.AreEqual("Select a Model", quality.GetTitle());

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

            ken.ModelIdentificationPage();

            //comment: click on "Read Media" button
            quality.Click("css=a.button > span");
            quality.WaitForPageToLoad("30000");
            quality.AreEqual("Scan Portable Media", quality.GetTitle());

            if (ken.CheckForTimeOut("Media Scan", "css=div.titleHeader-text", 61))
            {
                failedcheck++;
            }


            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(true);

            // comment: Click on the "Continue" button
            quality.Click("css=a.button > span");
            quality.WaitForPageToLoad("30000");

            ken.ProductUpdatesPage(true);

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

            ken.SoftwareUpdatePage();

            // comment: Click on "Back To Updates" button
            quality.Click("css=a.button > span");
            quality.WaitForPageToLoad("30000");
            quality.AreEqual("Product Updates for Kenwood DNX6980", quality.GetTitle());

            //comment: Click on "Software Updates" button
            quality.Click("css=div.description.padding-top-10 > div.header");
            quality.WaitForPageToLoad("30000");

            ken.SoftwareUpdatePage();

            // comment: CLick on "Get Latest Navigation Software" button - first cancel the pop up and then click OK
            selenium.ChooseCancelOnNextConfirmation();
            quality.Click("css=div.softwareUpdate > a.button > span");
            //quality.AreEqual("You are being redirected to the software center to complete your request", quality.GetConfirmation());
            quality.Click("css=div.softwareUpdate > a.button > span");
            //quality.AreEqual("You are being redirected to the software center to complete your request", quality.GetConfirmation());
            selenium.WaitForPopUp("", "30000");

            // comment: Validate the "Firmware" page
            ken.ValidateFirmwarePage();

            //// comment: Go back to Updates
            //quality.Click("css=a.button > span");
            //quality.WaitForPageToLoad("30000");
            //quality.AreEqual("Product Updates for Kenwood DNX6980", quality.GetTitle());
            //// comment: Click on the "Real-Tme Traffic" button
            //quality.Click("css=a.updatesLink > div.productUpdate > div.description > div.header");
            //quality.WaitForPageToLoad("30000");

            //quality.AreEqual("Traffic Subscriptions", quality.GetTitle());
            //quality.AreEqual("Traffic Subscriptions for Your Device", quality.GetText("css=div.titleHeader-text"));
            //quality.AreEqual("", quality.GetText("css=img.margin-rb10.left"));
            //quality.AreEqual("DNX6980", quality.GetText("css=div.header"));
            //quality.AreEqual("North America", quality.GetText("css=div.region"));
            //quality.AreEqual("Premium Traffic Subscription by Navteq – North America", quality.GetText("css=div.text"));
            //quality.AreEqual("", quality.GetText("css=img.margin-10.left"));

            //// comment: Click on the first traffic subscription (North America)
            //quality.Click("css=div.text");
            //quality.WaitForPageToLoad("30000");
            //// comment: Validate the Traffic Services for Kenwood page
            //quality.AreEqual("Traffic Services for Kenwood", quality.GetTitle());
            //quality.AreEqual("Traffic Services for Kenwood", quality.GetText("css=div.titleHeader-text"));
            //quality.AreEqual("« Back to Updates", quality.GetText("css=a.button > span"));
            //quality.AreEqual("Download", quality.GetText("css=div.format.left"));
            //quality.AreEqual("Add to Cart", quality.GetText("css=a.button.left > span"));
            //quality.AreEqual("$49.99", quality.GetText("css=div.price"));
            //quality.AreEqual("Premium Traffic Subscription by Navteq – North America", quality.GetText("css=div.header"));
            //quality.AreEqual("", quality.GetText("css=img.left.margin-rb10"));
            //quality.AreEqual("Receive Real-time Traffic for North America", quality.GetText("css=h3"));
            //quality.AreEqual("Avoid traffic tie-ups in North America with a lifetime traffic subscription. Garmin, in partnership with NAVTEQ, delivers real-time traffic news and updates for all major routes directly to your compatible Garmin device.", quality.GetText("css=p"));
            //quality.AreEqual("Route Around Tie-ups. Avoid Delays", quality.GetText("//div[@id='bd']/div[4]/div[2]/h3[2]"));
            //quality.AreEqual("With a traffic subscription for North America and a traffic receiver, you’ll get the latest information on construction, accidents, lane closings and other obstructions that lie ahead on your route. Using your compatible Garmin, you can conveniently route around traffic to avoid delays — saving you drive time, gas and money!", quality.GetText("//div[@id='bd']/div[4]/div[2]/p[2]"));
            //quality.AreEqual("Requirements", quality.GetText("css=div.product > h3"));
            //quality.AreEqual("Terms and Conditions", quality.GetText("css=strong"));
            //quality.AreEqual("Lifetime traffic extends for the useful life of your Garmin traffic receiver (as long as you own a compatible Garmin GPS) or as long as Garmin receives traffic data from its traffic supplier, whichever is shorter. Traffic content not available for all areas.", quality.GetText("//div[@id='bd']/div[4]/p[2]"));
            //quality.AreEqual("About Coverage", quality.GetText("//div[@id='bd']/div[4]/h3[2]"));
            //quality.AreEqual("This lifetime subscription by NAVTEQ delivers real-time traffic news and updates for 98 metropolitan markets in North America, including Canada, directly to your compatible Garmin device.", quality.GetText("//div[@id='bd']/div[4]/p[3]"));
            //quality.AreEqual("View NAVTEQ's coverage map.", quality.GetText("//div[@id='bd']/div[4]/p[4]"));
            //quality.AreEqual("", quality.GetText("css=img[alt=\"Navteq Traffic\"]"));
            //quality.AreEqual("Add to Cart: Traffic Verification", quality.GetTitle());
            //// comment: Click "Add to Cart" button without beeing logged-in
            //quality.Click("css=a.button.left > span");
            //quality.WaitForPageToLoad("30000");
            //quality.AreEqual("Sign In", quality.GetTitle());
            //quality.Type("id=username", "testuser2012");
            //quality.Type("id=password", "password");
            //quality.Click("css=a.button");
            //quality.WaitForPageToLoad("30000");
            //// comment: Validate the "Add to Cart: Traffic Subscription" page
            //quality.AreEqual("Add to Cart: Traffic Subscription", quality.GetText("css=div.titleHeader-text"));
            //quality.AreEqual("To add this item to your cart, please complete the following", quality.GetText("id=verifyTrafficInstructions"));
            //quality.AreEqual("Unit ID", quality.GetText("css=div.inputIndicator-text"));
            //quality.AreEqual("", quality.GetText("id=unitId"));
            //quality.AreEqual("Your Unit ID is a 10-digit number located on your device under Settings > System > About.", quality.GetText("css=div.instructions"));
            //quality.AreEqual("", quality.GetText("id=trafficReceiverId"));
            //quality.AreEqual("Traffic Receiver ID", quality.GetText("//form[@id='verifyTrafficForm']/table/tbody/tr[4]/td/div/div[2]/div"));
            //quality.AreEqual("Your Traffic Receiver ID is a 10-digit number located on your device under Settings > Traffic > Subscriptions > Add.", quality.GetText("//form[@id='verifyTrafficForm']/table/tbody/tr[6]/td/div"));
            //quality.AreEqual("Cancel", quality.GetText("css=a.button > span"));
            //quality.AreEqual("Continue", quality.GetText("//form[@id='verifyTrafficForm']/table/tbody/tr[7]/td/a[2]/span"));
            //// comment: Validate the "Add to Cart: Traffic Subscription" - do not enter any value and press the Continue btn
            //quality.Click("//form[@id='verifyTrafficForm']/table/tbody/tr[7]/td/a[2]/span");
            //quality.WaitForPageToLoad("30000");
            //quality.AreEqual("Add to Cart: Traffic Verification", quality.GetTitle());
            //quality.AreEqual("Traffic Receiver ID is required", quality.GetText("css=ul.error > li"));
            //quality.AreEqual("Unit ID is required", quality.GetText("//div[@id='bd']/ul/li[2]"));
            //// comment: special characters for Unit ID
            //quality.Type("id=unitId", "!@#$%@@%$$#@!$%#@!!$%$");
            //quality.Click("//form[@id='verifyTrafficForm']/table/tbody/tr[7]/td/a[2]/span");
            //quality.WaitForPageToLoad("30000");
            //quality.AreEqual("Add to Cart: Traffic Verification", quality.GetTitle());
            //quality.AreEqual("Traffic Receiver ID is required", quality.GetText("css=ul.error > li"));
            //quality.AreEqual("Please enter a valid Unit ID", quality.GetText("//div[@id='bd']/ul/li[2]"));
            //// comment: Type special characters for traffic receiver id
            //quality.Type("id=trafficReceiverId", "!@#$%@@%$$#@!$%#@!!$%$");
            //quality.Click("//form[@id='verifyTrafficForm']/table/tbody/tr[7]/td/a[2]/span");
            //quality.WaitForPageToLoad("30000");
            //quality.AreEqual("Add to Cart: Traffic Verification", quality.GetTitle());
            //quality.AreEqual("Please enter a valid Traffic Receiver ID", quality.GetText("css=ul.error > li"));
            //quality.AreEqual("Please enter a valid Unit ID", quality.GetText("//div[@id='bd']/ul/li[2]"));
            //// comment: Type string characters for Unit ID
            //quality.Type("id=unitId", "qweqrrqwerewqrwerweqrqwrwqrwrwq");
            //quality.Type("id=trafficReceiverId", "qweqrrqwerewqrwerweqrqwrwqrwrwq");
            //quality.Click("//form[@id='verifyTrafficForm']/table/tbody/tr[7]/td/a[2]/span");
            //quality.WaitForPageToLoad("30000");
            //quality.AreEqual("Add to Cart: Traffic Verification", quality.GetTitle());
            //quality.AreEqual("Please enter a valid Traffic Receiver ID", quality.GetText("css=ul.error > li"));
            //quality.AreEqual("Please enter a valid Unit ID", quality.GetText("//div[@id='bd']/ul/li[2]"));
            //// comment: Type invalid values for Unit ID and Traffic Receiver ID
            //quality.Type("id=unitId", "-1");
            //quality.Type("id=trafficReceiverId", "-1");
            //quality.Click("//form[@id='verifyTrafficForm']/table/tbody/tr[7]/td/a[2]/span");
            //quality.WaitForPageToLoad("30000");
            //quality.AreEqual("Add to Cart: Traffic Verification", quality.GetTitle());
            //quality.AreEqual("The Unit ID you entered is not valid", quality.GetText("css=ul.error > li"));
            //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", "3422110080");
            //quality.Click("//form[@id='verifyTrafficForm']/table/tbody/tr[7]/td/a[2]/span");
            //quality.WaitForPageToLoad("30000");
            //quality.AreEqual("Add to Cart: Traffic Verification", quality.GetTitle());
            //quality.AreEqual("Unit ID is required", quality.GetText("css=ul.error > li"));
            //// comment: Type a valid Unit ID and leave empty the Traffic Receiver ID
            //quality.Type("id=unitId", "3422110080");
            //quality.Type("id=trafficReceiverId", "");
            //quality.Click("//form[@id='verifyTrafficForm']/table/tbody/tr[7]/td/a[2]/span");
            //quality.WaitForPageToLoad("30000");
            //quality.AreEqual("Add to Cart: Traffic Verification", quality.GetTitle());
            //quality.AreEqual("Traffic Receiver ID is required", quality.GetText("css=ul.error > li"));
            //// comment: Type a Valid Unit ID and A valid Traffic Receiver ID
            //quality.Type("id=unitId", "");
            //quality.Type("id=trafficReceiverId", "");
            //quality.Type("id=unitId", "3422110080");
            //quality.Type("id=trafficReceiverId", "3422110080");
            //quality.Click("//form[@id='verifyTrafficForm']/table/tbody/tr[7]/td/a[2]/span");
            //quality.WaitForPageToLoad("30000");
            //quality.AreEqual("Shopping Cart", quality.GetTitle());
            //quality.AreEqual("Shopping Cart", quality.GetText("css=div.titleHeader-text"));
            //quality.AreEqual("", quality.GetText("css=div.tableHeader-left"));
            //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("", quality.GetText("css=img.margin-r20"));
            //quality.AreEqual("Premium Traffic Subscription by Navteq – North America", quality.GetText("css=span.name"));
            //quality.AreEqual("$49.99", quality.GetText("id=price"));
            //quality.AreEqual("$49.99", quality.GetText("id=total"));
            //quality.AreEqual("Subtotal", quality.GetText("css=div.text.right"));
            //quality.AreEqual("$49.99", quality.GetText("css=strong"));
            //quality.AreEqual("remove", quality.GetText("link=remove"));
            //quality.AreEqual("Update", quality.GetText("css=a.button > span"));
            //quality.AreEqual("Continue Shopping", quality.GetText("//form[@id='shoppingCartForm']/div[2]/div[4]/a/span"));
            //quality.AreEqual("Checkout", quality.GetText("//form[@id='shoppingCartForm']/div[2]/div[4]/a[2]/span"));
            //// comment: Click "Update" button even if the QTY is disabled to be changed
            //quality.Click("css=a.button > span");
            //quality.WaitForPageToLoad("30000");
            //quality.AreEqual("Shopping Cart", quality.GetTitle());
            //// comment: Click the "Checkout" button
            //quality.Click("//form[@id='shoppingCartForm']/div[2]/div[4]/a[2]/span");
            //quality.WaitForPageToLoad("30000");
            //quality.AreEqual("Checkout", quality.GetTitle());
            //quality.AreEqual("Checkout", quality.GetText("css=div.titleHeader-text"));
            //quality.AreEqual("Shipping Address", quality.GetText("css=h2"));
            //quality.IsTrue(Regex.IsMatch(quality.GetText("css=span.required-field-msg"), "^[\\s\\S]* Required Field$"));
            //quality.AreEqual("Why We Need This", quality.GetText("link=Why We Need This"));
            //quality.IsTrue(Regex.IsMatch(quality.GetText("css=label"), "^First Name[\\s\\S]*$"));
            //quality.IsTrue(Regex.IsMatch(quality.GetText("css=#shippingAddress-last-name > div.formLabel > label > abbr.req"), "^[\\s\\S]*$"));
            //quality.IsTrue(Regex.IsMatch(quality.GetText("css=#shippingAddress-country-region > div.formLabel > label > abbr.req"), "^[\\s\\S]*$"));
            //quality.IsTrue(Regex.IsMatch(quality.GetText("css=#shippingAddress-address-line-1 > div.formLabel > label > abbr.req"), "^[\\s\\S]*$"));
            //quality.AreEqual("Address Line 2", quality.GetText("css=#shippingAddress-address-line-2 > div.formLabel > label"));
            //quality.IsTrue(Regex.IsMatch(quality.GetText("css=#shippingAddress-city > div.formLabel > label > abbr.req"), "^[\\s\\S]*$"));
            //quality.IsTrue(Regex.IsMatch(quality.GetText("css=#shippingAddress-state-province > div.formLabel > label > abbr.req"), "^[\\s\\S]*$"));
            //quality.IsTrue(Regex.IsMatch(quality.GetText("css=#shippingAddress-zip-postal-code > div.formLabel > label > abbr.req"), "^[\\s\\S]*$"));
            //quality.IsTrue(Regex.IsMatch(quality.GetText("css=#shippingAddress-phone > div.formLabel > label > abbr.req"), "^[\\s\\S]*$"));
            //quality.AreEqual("Select a Country/Region Afghanistan Aland Islands Albania American Samoa Andorra Antarctica Antigua and Barbuda Argentina Armenia Aruba Australia Austria Azerbaijan Bahrain Bangladesh Barbados Belarus Belgium Belize Bermuda Bhutan Bolivia Bosnia and Herzegovina Bouvet Island Brazil British Indian Ocean Territory Brunei Darussalam Bulgaria Cambodia Canada Chile Christmas Island Cocos (Keeling) Islands Colombia Congo Congo, The Democratic Republic of the Cook Islands Corsica Costa Rica Croatia Cyprus Czech Republic Denmark Djibouti Ecuador Egypt El Salvador Equatorial Guinea Estonia Ethiopia Falkland Islands (Malvinas) Faroe Islands Fiji Finland France France Guyana French Polynesia Gabon Georgia Germany Ghana Gibraltar Greece Greenland Guadeloupe Guam Guatemala Guernsey Guinea Guyana Heard Island and McDonald Islands Honduras Hong Kong Hungary Iceland India Indonesia Iraq Ireland Isle of Man Israel Italy Jamaica Japan Jersey Jordan Kazakhstan Kenya Kiribati Korea, Republic of Kuwait Kyrgyzstan Latvia Lebanon Lesotho Liberia Liechtenstein Lithuania Luxembourg Macedonia, The Former Yugoslav Republic of Madagascar Malawi Malaysia Maldives Mali Malta Marshall Islands Martinique Mauritius Mayotte Mexico Micronesia, Federated States of Moldova, Republic of Monaco Mongolia Montenegro Montserrat Morocco Mozambique Namibia Nauru Netherlands Netherlands Antilles New Caledonia New Zealand Nicaragua Niger Nigeria Niue Norfolk Island Northern Mariana Islands Norway Oman Pakistan Palau Palestinian Territory,Occupied Panama Papua New Guinea Peru Philippines Pitcairn Poland Portugal Puerto Rico Qatar Reunion Romania Russian Federation Rwanda Saint Helena Saint Kitts and Nevis Saint Lucia Samoa San Marino Sao Tome and Principe Saudi Arabia Senegal Serbia Serbia and Montenegro Seychelles Sierra Leone Singapore Slovakia Slovakia Slovenia Solomon Islands Somalia South Africa South Georgia and the South Sandwich Islands Spain Sri Lanka St Pierre + Miquelon Sudan Suriname Svalbard and Jan Mayen Swaziland Sweden Switzerland Taiwan Tajikistan Tanzania, United Republic of Thailand Togo Tokelau Tonga Tunisia Turkey Turkmenistan Tuvalu Uganda Ukraine United Arab Emirates United Kingdom United States United States Minor Outlying Islands Uruguay Uzbekistan Vanuatu Vatican City Venezuela Virgin Islands, U.S. Wallis + Futuna Island Yemen Zambia Zimbabwe", quality.GetText("id=shippingAddresscountry"));
            //quality.AreEqual("Select a State/Province --- AA AE AP Alabama Alaska Arizona Arkansas California Colorado Connecticut Delaware District of Columbia Florida Georgia Hawaii Idaho Illinois Indiana Iowa Kansas Kentucky Louisiana Maine Maryland Massachusetts Michigan Minnesota Mississippi Missouri Montana Nebraska Nevada New Hampshire New Jersey New Mexico New York North Carolina North Dakota Ohio Oklahoma Oregon Pennsylvania Rhode Island South Carolina South Dakota Tennessee Texas Utah Vermont Virginia Washington West Virginia Wisconsin Wyoming", quality.GetText("id=shippingAddressstate"));
            //quality.AreEqual("Continue", quality.GetText("id=continueBtn"));
            //quality.AreEqual("Back to Cart", quality.GetText("id=cancelBtn"));
            //quality.Type("id=shippingAddressfirstName", "");
            //quality.Type("id=shippingAddressfirstName", "FirstName Tester");
            //quality.Type("id=shippingAddresslastName", "");
            //quality.Type("id=shippingAddresslastName", "LastName Tester");
            //quality.Select("id=shippingAddresscountry", "label=Taiwan");
            //quality.Select("id=shippingAddresscountry", "label=United States");
            //quality.Type("id=shippingAddressaddress1", "");
            //quality.Type("id=shippingAddressaddress1", "AddressLine1 tester's address");
            //quality.Type("id=shippingAddressaddress2", "");
            //quality.Type("id=shippingAddressaddress2", "AddressLine2 tester's address");
            //quality.Type("id=shippingAddresscity", "");
            //quality.Type("id=shippingAddresscity", "HILO");
            //quality.Select("id=shippingAddressstate", "label=Arizona");
            //quality.Select("id=shippingAddressstate", "label=Hawaii");
            //quality.Type("id=shippingAddresszipPostal", "");
            //quality.Type("id=shippingAddresszipPostal", "96720");
            //quality.Type("id=shippingAddressphone", "");
            //quality.Type("id=shippingAddressphone", "000-555-1212");
            //// comment: Click on "Back to Cart" button
            //quality.Click("id=cancelBtn");
            //quality.WaitForPageToLoad("30000");
            //quality.AreEqual("Shopping Cart", quality.GetTitle());
            //quality.AreEqual("Shopping Cart", quality.GetText("css=div.titleHeader-text"));
            //quality.AreEqual("", quality.GetText("css=div.tableHeader-left"));
            //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("", quality.GetText("css=img.margin-r20"));
            //quality.AreEqual("Premium Traffic Subscription by Navteq – North America", quality.GetText("css=span.name"));
            //quality.AreEqual("$49.99", quality.GetText("id=price"));
            //quality.AreEqual("$49.99", quality.GetText("id=total"));
            //quality.AreEqual("Subtotal", quality.GetText("css=div.text.right"));
            //quality.AreEqual("$49.99", quality.GetText("css=strong"));
            //quality.AreEqual("remove", quality.GetText("link=remove"));
            //quality.AreEqual("Update", quality.GetText("css=a.button > span"));
            //quality.AreEqual("Continue Shopping", quality.GetText("//form[@id='shoppingCartForm']/div[2]/div[4]/a/span"));
            //quality.AreEqual("Checkout", quality.GetText("//form[@id='shoppingCartForm']/div[2]/div[4]/a[2]/span"));
            //// comment: Click the "Checkout" button
            //quality.Click("//form[@id='shoppingCartForm']/div[2]/div[4]/a[2]/span");
            //quality.WaitForPageToLoad("30000");
            //quality.AreEqual("Checkout", quality.GetTitle());
            //quality.Click("id=continueBtn");
            //// comment: Check the "Shipping Address" section
        }
Exemple #2
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();

            //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=North America");
            quality.WaitForPageToLoad("30000");
            quality.Click("link=DNX7180");
            quality.WaitForPageToLoad("30000");

            ken.ModelIdentificationPage();

            //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 < 61; second++)
            {
                if (second >= 60)
                {
                    quality.ErrorReport("timeout", CheckType.Warning);
                }
                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(true);

            // comment: Click on the "Continue" button
            quality.Click("css=a.button > span");
            quality.WaitForPageToLoad("30000");

            ken.ProductUpdatesPage(true);

            // comment: Click on "Software Updates" button
            quality.Click("css=div.description.padding-top-10 > span");
            quality.WaitForPageToLoad("30000");

            ken.SoftwareUpdatePage();

            // comment: Click on "Back To Updates" button
            quality.Click("css=a.button > span");
            quality.WaitForPageToLoad("30000");
            quality.AreEqual("Product Updates for Kenwood DNX7180", quality.GetTitle());

            //comment: Click on "Software Updates" button
            quality.Click("css=div.description.padding-top-10 > div.header");
            quality.WaitForPageToLoad("30000");

            ken.SoftwareUpdatePage();

            // comment: Click on "Get Latest Navigation Software" button - first cancel the pop up and then click OK
            selenium.ChooseCancelOnNextConfirmation();
            quality.Click("css=div.softwareUpdate > a.button > span");
            quality.AreEqual("You are being redirected to the software center to complete your request", selenium.GetConfirmation());
            quality.Click("css=div.softwareUpdate > a.button > span");
            quality.AreEqual("You are being redirected to the software center to complete your request", selenium.GetConfirmation());
            selenium.WaitForPopUp("", "30000");

            // comment: Validate the "Firmware" page
            ken.ValidateFirmwarePage();
        }