public void Choose_Connected_DHCP_Device(string argument1, string argument2, string argument3, string argument4, string argument5, string argument6)
        {
            ////choose device from the attached list

            //This method is to select any MAC filter rules to delete
            //argument1 - MAC Address0, argument2- MAC Address1
            //argument3 - MAC Address2, argument4 - MAC Address3
            //argument5 - MAC Address4, argument6 - MAC Address5

            Delay.Seconds(30);                  // to load the pages
            WebDocument webDocument = "/dom[@domain='192.168.0.1']";

            webDocument.WaitForDocumentLoaded();
            //Report.Info(webDocument.GetHtml());

            //DHCP lease table

            TableTag myTable = webDocument.FindSingle("/dom[@domain='192.168.0.1']//table[#'AttachedDevicesTable']");
            //Count the total no of IPv4 port Filter rules (rows)
            IList <TrTag> totalDHCPClients  = myTable.Find <TrTag>("./tbody//tr");      //Row
            int           rulesCount        = totalDHCPClients.Count;
            string        totalDHCPAttached = "Total Rules : " + rulesCount.ToString();

            Report.Info("Active Attached Devices ", totalDHCPAttached);

            if (rulesCount == 0)
            {
                //Mouse.ScrollWheel(150);
                Report.Failure("DHCP List", "There are no devices to add !!");
                return;
            }
            else
            {
                //if there any rules? then choose appropriate radio button
                Report.Info(" There are " + rulesCount.ToString() + " devices attached to this router  !!! ");
                int rowNum = 1;
                //int addCheck = 1;
                Boolean isMatch = false;
                string  macAddress = "", macAddress1 = "", IPAddress = "", devName = "", Wifi_Freq = "";
                macAddress = argument1 + ":" + argument2 + ":" + argument3 + ":" + argument4 + ":" + argument5 + ":" + argument6;
                Report.Info("macAddress", macAddress);
                foreach (var row in totalDHCPClients)
                {
                    //Report.Info("Row: " + rowNum);
                    //Report.Info(row.GetInnerHtml().ToString());
                    IList <TdTag> cols = row.Find <TdTag>("./td");              //column
                    //Report.Info(" Total Columns in the Row : ",cols.Count.ToString());
                    int    colNum          = 1;
                    String radiobuttonPath = "";
                    foreach (TdTag MacCol in cols)
                    {
                        //1- Radiobutton, 2-Device name,3-MAC address,4-IP Address,5-Lease time,6-Connected to
                        Report.Info("MacCol: " + colNum);
                        Report.Info("MacCol Info: " + MacCol.InnerText);
                        //Report.Info(MacCol.GetInnerHtml().ToString());
                        if (colNum == 1)
                        {
                            //radio button
                            radiobuttonPath = MacCol.GetPath().ToString();
                            //Report.Info(MacCol.GetInnerHtml().ToString());
                            //Report.Info(radiobuttonPath);
                            Report.Info("Radio button Path:", radiobuttonPath);
                        }
                        else if (colNum == 2)
                        {
                            //device name
                            devName = MacCol.InnerText;
                        }
                        else if (colNum == 3)
                        {
                            //MAC Address
                            IList <SpanTag> spanVals = MacCol.Find <SpanTag>("./span");
                            //Report.Info("span count :  "+spanVals.Count);
                            foreach (SpanTag spanVal in spanVals)
                            {
                                macAddress1 = spanVal.InnerText;

                                if (macAddress == macAddress1)
                                {
                                    Report.Info("//--------------- MAC address  exist in attached device list------//");
                                    Report.Info("//---------------  Wifi_Freq -----", Wifi_Freq);
                                    macAddress1 = spanVal.InnerText;

                                    Report.Info("Device Name ", devName);
                                    Report.Info("MAC Address to Add ", macAddress);

                                    isMatch = true;
                                    String newPath = "";

                                    int radVal = rowNum - 1;
                                    newPath = radiobuttonPath + "/input[@name='attachedDevicesGroup' and @type='radio' and @value='" + radVal + "']";

                                    Ranorex.InputTag MACFilterAttachedDeviceTag = newPath;

                                    Delay.Seconds(1);

                                    MACFilterAttachedDeviceTag.PerformClick();

                                    Delay.Seconds(1);

                                    string rst = "The following DHCP Client is going to be added to the reserved list with another IP Address !!!";
                                    Report.Info(rst);

                                    Report.Screenshot("DHCP_Reserved_List", row.Element, true);
                                    break;
                                }
                            }                           //end of SpanTag for-loop
                        }
                        else if (colNum == 4)
                        {
                            //Ip Address
                            IPAddress = MacCol.InnerText;
                        }
                        else if (colNum == 6)
                        {
                            // frequency connected to
                            IList <SpanTag> spanVals = MacCol.Find <SpanTag>("./span");
                            foreach (SpanTag spanVal in spanVals)
                            {
                                Wifi_Freq = spanVal.InnerText;
                            }
                        }
                        colNum++;
                    }            //TdTag for-end loop

                    if (isMatch)
                    {
                        TestSuite.Current.GetTestCase("Add_Duplicate_Device_To_DHCP_Reservation").Checked = true;                       //Add_Duplicate_Device_To_DHCP_Reservation
                        Report.Info("Wifi_Freq", Wifi_Freq);
                        if (Wifi_Freq.Trim() == " WI-FI 2.4G")
                        {
                            Report.Info("This device is connected to  WI-FI 2.4G");
                            //choose the device  and click radio button
                            break;
                        }
                        else
                        {
                            Report.Info("This device is NOT connected to  WI-FI 2.4G");
                            break;
                        }
                        //break;
                    }
                    else
                    {
                        string rst = "The device  with MAC Address : " + "(" + macAddress + ")" + " : is not  attached to this router at this moment ";
                        //Report.Failure("DHCP_Reserved_List"," This device does not  exist in the attached list ");

                        Report.Failure("DHCP_Reserved_List", rst);
                        TestSuite.Current.GetTestCase("Add_Duplicate_Device_To_DHCP_Reservation").Checked = false; //Add_Duplicate_Device_To_DHCP_Reservation
                    }                                                                                              //end of if-else
                    rowNum++;
                    //addCheck++;	//counter to select add checkbox
                }                 //ROW for-end loop
            }
        }
示例#2
0
        public void Validate_Connected_Device_Name(string argument1)
        {
            //check if the device name is shown in connceted devices list
            Report.Info("Inside Validate_Connected_Device_Name ");
            Delay.Seconds(20);
            WebDocument webDocument = "/dom[@domain='192.168.0.1']";
            TableTag    myTable     = webDocument.FindSingle("/dom[@domain='192.168.0.1']//table[#'AttachedDevicesTable']"); //R3.8

            Report.Screenshot("Devices Connected", myTable.Element, true);                                                   // print the devices table

            //Count the rows(total no of devices)
            IList <TrTag> rows      = myTable.Find <TrTag>("./tbody//tr");
            int           rowsCount = rows.Count;

            Report.Info("Total Devices Connected", rowsCount.ToString());
            if (rowsCount == 0)
            {
                //Mouse.ScrollWheel(150);
                Report.Failure("Device Rename ", "There are no connected wireless devices to rename !!");

                return;
            }
            else
            {
                int     rowNum = 1;
                Boolean isWirelessMatch = false, isEthernetMatch = false;
                int     wirelessCnt = 0, ethernetCnt = 0, connectCount = 0;
                foreach (var row in rows)
                {
                    Report.Info("Row: " + rowNum);
                    Report.Info(row.GetInnerHtml().ToString());
                    IList <TdTag> cols = row.Find <TdTag>("./td");
                    int           colCnt = cols.Count;
                    int           colNum = 1;
                    string        deviceName = "", connectionType = "";
                    foreach (TdTag MacCol in cols)
                    {
                        Report.Info("MacCol: " + colNum);
                        Report.Info("MacCol Info: " + MacCol.InnerText);
                        Report.Info(MacCol.GetInnerHtml().ToString());

                        //column1 - device name
                        //column5 - Wi-Fi 2.4G _VM0365087_2G  / Wi-Fi 5G _VM0365087_5G / Ethernet
                        if (colNum == 1)
                        {
                            deviceName = MacCol.InnerText.Trim();
                        }
                        else if (colNum == 5)
                        {
                            connectionType = MacCol.InnerText.Trim();
                            Report.Info(" deviceName : " + deviceName + "and " + "connectionType  : " + connectionType);
                            if (argument1.Trim() == deviceName.Trim())
                            {
//								isConnected = true;
                                connectCount++;
//								Report.Info("connectionType  : " + connectionType);
                                Report.Success("  Device :  " + deviceName + " is in connected list ");
//			                    if(connectionType.StartsWith("Wi-Fi")){
//			                    if(connectionType.StartsWith("Wireless frequency")){	//added on 02/11/17 to test code 9.1.116.600
                                if ((connectionType.StartsWith("Wi-Fi")) || (connectionType.StartsWith("Wireless frequency")))                                          //  added on 15/01/18 to test code 9.1.116.604
                                {
                                    Report.Success(" Wireless Connected  Device Name  is Successfull");
                                    isWirelessMatch = true;
                                    wirelessCnt++;
                                    break;
                                }
                                else                                    //failure condition
                                {
                                    Report.Info("Ethernet  Device Name ");
                                    isEthernetMatch = true;
                                    ethernetCnt++;
                                }
                            }                           /*else{
                                                         * //								Report.Info(" The Device " + argument1 + " is not connected again " );
                                                         * //								Report.Failure("The Device " + argument1 + " is not connected again ");
                                                         * //								isConnected = false;
                                                         * }//end of IF-deviceName
                                                         */
                        }                               //end of if-else : column5

                        colNum++;
                    }
                    rowNum++;
                }                       //end of iF-ELSE row
                if (isWirelessMatch)
                {
                    Report.Info("wirelessCnt", wirelessCnt.ToString());
                    if (wirelessCnt == 1)
                    {
                        Report.Info(" One device exist in conencted device table and it is connected via Wireless network ");
                    }
                    else
                    {
                        Report.Info(" Multiple devices exist in conencted device table and it is  Connected via Wireless network ");
                    }
                }
                if (isEthernetMatch)
                {
                    Report.Info("ethernetCnt", ethernetCnt.ToString());
                    if (ethernetCnt == 1)
                    {
                        Report.Info("One  device is connected via ethernet  ");
                    }
                    else
                    {
                        Report.Info("More than one device is connected via Ethernet");
                    }
                }
                if (connectCount > 0)
                {
                    Report.Success(" The Device " + argument1 + " is connected to the CPE ");
                }
                else
                {
                    Report.Failure(" The Device " + argument1 + " is not yet connected ");
                }
                Report.Screenshot();
            }                   //end of IF-ELSE
        }
示例#3
0
        public void Choose_Attached_Devices_To_Deny_Add_5GHz_Primary(string argument1, string argument2, string argument3, string argument4, string argument5, string argument6, string argument7)
        {
            ////choose device from the attached list
            //This method is to select any MAC filter rules to delete
            //argument1 - MAC Address0, argument2- MAC Address1
            //argument3 - MAC Address2, argument4 - MAC Address3
            //argument5 - MAC Address4, argument6 - MAC Address5
            //argument7 - Access Mode

            Delay.Seconds(30);          // to load the pages
            WebDocument webDocument = "/dom[@domain='192.168.0.1']";
            //Report.Info(webDocument.GetHtml());

            // choose the Access Mode   //BssAccessModeGrp
            //Radio Button Options --> 1-DisableWMACFilter, 2-AllowAllDevices,3-DenyAllDevices
            String AccessModeGrpPath = "";

            if (argument7 == "Disable")
            {
                Report.Info("It is DISABLE");
                AccessModeGrpPath = "/dom[@domain='192.168.0.1']//input[@name='BssAccessModeGrp' and @type='radio' and @value='1']";        // Disable
                Ranorex.InputTag BssAccessModeGrpTag = AccessModeGrpPath;
                Delay.Seconds(1);
                BssAccessModeGrpTag.PerformClick();
                Delay.Seconds(1);
            }
            else if (argument7 == "Allow")
            {
                Report.Info("It is ALLOW");
                AccessModeGrpPath = "/dom[@domain='192.168.0.1']//input[@name='BssAccessModeGrp' and @type='radio' and @value='2']";                // Allow
                Ranorex.InputTag BssAccessModeGrpTag = AccessModeGrpPath;
                Delay.Seconds(1);
                BssAccessModeGrpTag.PerformClick();
                Delay.Seconds(1);
            }
            else if (argument7 == "Deny")
            {
                Report.Info("It is DENY");
                AccessModeGrpPath = "/dom[@domain='192.168.0.1']//input[@name='BssAccessModeGrp' and @type='radio' and @value='3']";                // Deny
                Ranorex.InputTag BssAccessModeGrpTag = AccessModeGrpPath;
                Delay.Seconds(1);
                BssAccessModeGrpTag.PerformClick();
                Delay.Seconds(1);
            }

            //

            TableTag myTable = webDocument.FindSingle("/dom[@domain='192.168.0.1']//table[#'AttachedDevicesTable']");
            //Count the total no of IPv4 port Filter rules (rows)
            IList <TrTag> totalMACRules       = myTable.Find <TrTag>("./tbody//tr");
            int           rulesCount          = totalMACRules.Count;
            string        totalMACFilterRules = "Total Rules : " + rulesCount.ToString();

            Report.Info("Active Attached Devices ", totalMACFilterRules);

            if (rulesCount == 0)
            {
                //Mouse.ScrollWheel(150);
                Report.Failure("MAC Filter ", "There are no devices to add !!");
                //TestSuite.Current.GetTestCase("Delete_Any_MAC_Filtering_Rules").Checked = false;
                return;
            }
            else
            {
                //if there any rules? then choose appropriate radio button
                Report.Info(" There are " + rulesCount.ToString() + " devices attached to this router  !!! ");
                int rowNum = 1;
                //int addCheck = 1;
                Boolean isMatch = false;
                string  macAddress = "", macAddress1 = "", devName = "", Wifi_Freq = "";
                macAddress = argument1 + ":" + argument2 + ":" + argument3 + ":" + argument4 + ":" + argument5 + ":" + argument6;
                Report.Info("Inpute MAC ADDRESS : ", macAddress);
                foreach (var row in totalMACRules)
                {
                    //Report.Info("Row: " + rowNum);
                    //Report.Info(row.GetInnerHtml().ToString());
                    IList <TdTag> cols = row.Find <TdTag>("./td");
                    //Report.Info(" Total Columns in the Row : ",cols.Count.ToString());
                    int    colNum          = 1;
                    String radiobuttonPath = "";
                    foreach (TdTag MacCol in cols)
                    {
                        Report.Info("MacCol: " + colNum);
                        //Report.Info("MacCol Info: "+MacCol.InnerText);
                        //Report.Info(MacCol.GetInnerHtml().ToString());
                        if (colNum == 1)
                        {
                            //radio button
                            radiobuttonPath = MacCol.GetPath().ToString();
                            //Report.Info(MacCol.GetInnerHtml().ToString());
                            //Report.Info(radiobuttonPath);
                            //Report.Info("Radio button Path:",radiobuttonPath);
                        }
                        else if (colNum == 2)
                        {
                            IList <SpanTag> spanVals = MacCol.Find <SpanTag>("./span");
                            foreach (SpanTag spanVal in spanVals)
                            {
                                devName = spanVal.InnerText;
                            }
                            Report.Info("devName", devName);
                        }
                        else if (colNum == 3)
                        {
                            //Report.Info(MacCol.InnerText);
                            //Report.Info(MacCol.GetInnerHtml().ToString());
                            //macAddress1 = MacCol.InnerText;
                            IList <SpanTag> spanVals = MacCol.Find <SpanTag>("./span");
                            //Report.Info("span count :  "+spanVals.Count);
                            foreach (SpanTag spanVal in spanVals)
                            {
                                macAddress1 = spanVal.InnerText;

                                //Report.Info("devName : ", devName);
                                //Report.Info("MAC Address to Add : " + macAddress);
                                //Report.Info("MAC Address1 : " + macAddress1);

                                if (macAddress == macAddress1)
                                {
                                    Report.Info("//--------------- MAC address  exist in attached device list------//");
                                    Report.Info("//--------------- Wifi_Freq---------------", Wifi_Freq);
                                    macAddress1 = spanVal.InnerText;

                                    Report.Info("Device Name ", devName);
                                    Report.Info("MAC Address to Add ", macAddress);
                                    Report.Info("Wifi_Freq " + Wifi_Freq);

                                    isMatch = true;
                                    String newPath = "";
                                    //Report.Info("radiobuttonPath : ",radiobuttonPath.ToString());

                                    //newPath = radiobuttonPath + "/input[#'attachedDevicesGroup']";

                                    //newPath = "/dom[@domain='192.168.0.1']//tbody[#'AttachedDevicesTable_body']//input[@name='attachedDevicesGroup']";
                                    //newPath = radiobuttonPath + "/input[@name='attachedDevicesGroup' and @type='radio' and @value='2' ]";
                                    int radVal = rowNum - 1;
                                    newPath = radiobuttonPath + "/input[@name='attachedDevicesGroup' and @type='radio' and @value='" + radVal + "']";

                                    // newPath ="/dom[@domain='192.168.0.1']//input[#'ipv4FilterTable-Enabled-"+delCheck+"']";

                                    Ranorex.InputTag MACFilterAttachedDeviceTag = newPath;

                                    Delay.Seconds(1);
                                    //MACFilterAttachedDeviceTag.Checked = "True";
                                    MACFilterAttachedDeviceTag.PerformClick();
                                    //MACFilterAttachedDeviceTag.TagValue ="2";
                                    Delay.Seconds(1);

                                    /*
                                     * if (MACFilterTableDeleteTag.Checked.ToString() == "False"){
                                     *      Delay.Seconds(1);
                                     *      MACFilterTableDeleteTag.PerformClick();
                                     * }else{
                                     *              Report.Info(" MACFilterTableDeleteTag is already Enabled ");
                                     *      }
                                     */
                                    string rst = "The following device is currently attached to this router !!!";
                                    Report.Success(rst);
                                    //Report.Screenshot("MACFilter_Filtering",MacCol.Element,true);
                                    Report.Screenshot("MAC Filter_List", row.Element, true);
                                    break;
                                }
                            }                           //end of SpanTag for-loop
                        }
                        else if (colNum == 4)
                        {
                            IList <SpanTag> spanVals = MacCol.Find <SpanTag>("./span");
                            foreach (SpanTag spanVal in spanVals)
                            {
                                Wifi_Freq = spanVal.InnerText;
                            }
                            Report.Info("Wifi_Freq", Wifi_Freq);
                        }
                        colNum++;
                    }                   //TdTag for-end loop

                    if (isMatch)
                    {
                        break;
                    }
                    rowNum++;
                    //addCheck++;	//counter to select add checkbox
                }                 //ROW for-end loop

                //Report.Info("rowNum :: ",rowNum.ToString());
                if (!isMatch)
                {
                    //Report.Info(" Device does not  exist in the attached list ");

                    //Report.Info("devName : ", devName);
                    //Report.Info("MAC Address to Add : " + macAddress);

                    string rst = "The device : " + devName + "(" + macAddress + ")" + " does not  exist in the attached list ";
                    //Report.Failure("MAC Filter List"," This device does not  exist in the attached list ");

                    Report.Failure("MAC Filter List", rst);
                    TestSuite.Current.GetTestCase("Add_Deny_Device_To_MAC_Address_List1").Checked = false;                      //Add_Deny_Device_To_MAC_Address_List1
                }
                else
                {
                    TestSuite.Current.GetTestCase("Add_Deny_Device_To_MAC_Address_List1").Checked = true; //Add_Deny_Device_To_MAC_Address_List1
                }
            }                                                                                             //end of if-else
        }
        public void Choose_All_MAC_Filter_Rules_To_Delete()
        {
            //This method is to select all the filter rules to delete
            Delay.Seconds(40);
            WebDocument webDocument = "/dom[@domain='192.168.0.1']";
            //Report.Info(webDocument.GetHtml());
            TableTag myTable = webDocument.FindSingle("/dom[@domain='192.168.0.1']//table[#'macFilterTable']");
            //Count the total no of IPv4 port Filter rules (rows)
            IList <TrTag> totalMACRules       = myTable.Find <TrTag>("./tbody//tr");
            int           rulesCount          = totalMACRules.Count;
            string        totalMACFilterRules = "Total Rules : " + rulesCount.ToString();

            Report.Info("Active MAC  Filter Rules ", totalMACFilterRules);

            if (rulesCount == 0)
            {
                //Mouse.ScrollWheel(150);
                Report.Failure("MAC Filter ", "There are no active rules to delete !!");
                TestSuite.Current.GetTestCase("Delete_All_MAC_Filtering_Rules").Checked      = false;
                TestSuite.Current.GetTestCase("Activate_MAC_Filtering_Rule_Always1").Checked = true;
                return;
            }
            else
            {
                //Report.Info(" There is/are " + rulesCount.ToString() + " row exists in MAC Filter table !!! ");
                Report.Info(" No. of rows exists in MAC Filter table : " + rulesCount.ToString());
                //walkthrough the column values

                IList <TdTag> cols      = myTable.Find <TdTag>("./tbody//td");
                int           colsCount = cols.Count;
                Report.Info("Total colsCount", colsCount.ToString());
                int j        = 1;
                int delCount = 0;
                int delCheck = 0;

                foreach (TdTag MacCol in cols)
                {
                    Report.Info(j.ToString());
                    Report.Info(MacCol.InnerText);
                    TdTag macAddress = null;
                    //if(j==1 && (MacCol.InnerText.ToString().StartsWith("No MAC filtering"))){
                    if (j == 1 && (MacCol.InnerText.ToString().StartsWith("No MAC filtering rule!")))                    //No MAC filtering rule!
                    //Report.Info("No MAC filtering rule exists !!!");
                    {
                        Report.Failure("MAC Filter ", "There are No MAC filtering  rules to delete !!");
                        TestSuite.Current.GetTestCase("Delete_All_MAC_Filtering_Rules").Checked      = false;
                        TestSuite.Current.GetTestCase("Activate_MAC_Filtering_Rule_Always1").Checked = false;
                        Delay.Seconds(1);
                        Report.Screenshot("MAC_Filtering", myTable.Element, true);
                        return;
                    }
                    else if (j == 2)
                    {
                        //Report.Info(MacCol.InnerText);
                        macAddress = MacCol;
                    }
                    else if (j == 4)
                    {
                        //Report.Info("---Checked  delete box ---");

                        /*
                         * WebElement webElement = MacCol.Element;
                         * Delay.Seconds(2);
                         * webElement.Click();
                         * Report.Screenshot("Delete MACFilter",webElement,true);
                         */
                        //Report.Info(MacCol.GetInnerHtml().ToString());
                        Report.Info("MacCol path: " + MacCol.GetPath().ToString());

                        String newPath = "";
                        //newPath = col.GetPath() + "/input[#'ipv4FilterTable-Delete-"+delCheck+"']";
//				        newPath = MacCol.GetPath() + "/input[#'fmChbx-macFilterTable-Delete-"+delCheck+"']";
                        newPath = MacCol.GetPath() + "/input[#'macFilterTable-Delete-" + delCheck + "']";

                        /*
                         * /dom[@caption='Hub 3.0' and @page='' and @path='/' and @browsername='IE' and @pageurl='http://192.168.0.1/?macfilter&mid=MACFiltering']//tbody[#'macFilterTable_body']/tr[1]/td[3]
                         *      /dom[@caption='Hub 3.0' and @page='' and @path='/' and @browsername='IE' and @pageurl='http://192.168.0.1/?macfilter&mid=MACFiltering']//input[#'macFilterTable-Delete-0']
                         * /dom[@caption='Hub 3.0' and @page='' and @path='/' and @browsername='IE' and @pageurl='http://192.168.0.1/?macfilter&mid=MACFiltering']//b[#'fmChbx-macFilterTable-Delete-0']
                         */

                        Report.Info("macFilterTable-Delete checkbox ");
                        Report.Info("newPath : " + newPath);

                        Ranorex.InputTag MACFilterTableDeleteTag = newPath;
//				        Report.Info("MACFilterTableDeleteTag(Default) : " + MACFilterTableDeleteTag.Checked.ToString());
                        if (MACFilterTableDeleteTag.Checked.ToString() == "False")
                        {
                            //Report.Info("----------------- MACFilterTableDeleteTag was False ---");
                            Delay.Seconds(1);
                            MACFilterTableDeleteTag.PerformClick();
                        }
                        else
                        {
                            Report.Info(" MACFilterTableDeleteTag is already Enabled ");
                        }
                        string rst = "The following MACFilter_Filtering rule is deleted permanently !!!";
                        Report.Success(rst);
                        Delay.Seconds(1);
                        //Report.Screenshot("MACFilter_Filtering",macAddress.Element,true);
                        Report.Screenshot("MACFilter_Filtering", myTable.Element, true);
                        Delay.Seconds(1);
                        j = 0;
                        delCount++;
                        delCheck++;
                    }
                    j++;
                }                       //end of for-loop

                if (delCount == rulesCount)
                {
                    // to check whether it selected all rows for deletion
                    string rst = "The following " + rulesCount.ToString() + " MAC Filtering rules are deleted permanently !!!";
                    Report.Success(rst);
                    Report.Screenshot("MAC_Filtering", myTable.Element, true);
                    Delay.Seconds(1);
                    TestSuite.Current.GetTestCase("Activate_MAC_Filtering_Rule_Always1").Checked = true;
                }
                else
                {
                    Report.Info(" All rows are not deleted !!! ");
                    TestSuite.Current.GetTestCase("Activate_MAC_Filtering_Rule_Always1").Checked = false;
                }
            }
        }
        public void Choose_All_DHCP_Reserved_Rules_To_Delete()
        {
            //This method is to select all the filter rules to delete
            Delay.Seconds(40);
            WebDocument webDocument = "/dom[@domain='192.168.0.1']";

            webDocument.WaitForDocumentLoaded();
            //Report.Info(webDocument.GetHtml());
            TableTag myTable = webDocument.FindSingle("/dom[@domain='192.168.0.1']//table[#'dhcpClientsTable']");
            //Count the total no of DHCP Reserved rules (rows)
            IList <TrTag> totalDHCPList         = myTable.Find <TrTag>("./tbody//tr");
            int           rulesCount            = totalDHCPList.Count;
            string        totalDHCPReservedList = "Total Rules : " + rulesCount.ToString();

            Report.Info("Active MAC  Filter Rules ", totalDHCPReservedList);

            if (rulesCount == 0)
            {
                //Mouse.ScrollWheel(150);
                Report.Failure("DHCP Reserved List ", "There are no active reservation list(s) to delete !!");
                TestSuite.Current.GetTestCase("Confirm_To_Delete_All_From_DHCP_Reservation").Checked = false;
                return;
            }
            else
            {
                Report.Info(" There are " + rulesCount.ToString() + " DHCP Reservation list(s) to delete !!! ");
                //walkthrough the column values

                IList <TdTag> cols      = myTable.Find <TdTag>("./tbody//td");
                int           colsCount = cols.Count;
                Report.Info("Total colsCount", colsCount.ToString());
                int j = 1, delCount = 0, delCheck = 0;

                foreach (TdTag MacCol in cols)
                {
                    //Report.Info("Column",j.ToString());
                    //Report.Info(MacCol.InnerText);
                    string macAddress = "", ipAddress = "";
                    if (j == 1 && (MacCol.InnerText.ToString().StartsWith("No reserved rule")))                         //No reserved rule! --R3.7
                    //Report.Info("No MAC filtering rule exists !!!");
                    {
                        Report.Failure("MAC Filter ", "There are No DHCP Reservation list to delete !!");
                        TestSuite.Current.GetTestCase("Confirm_To_Delete_All_From_DHCP_Reservation").Checked = false;
                        Delay.Seconds(1);
                        Report.Screenshot("DHCP Reserved List", myTable.Element, true);
                        return;
                    }
                    else if (j == 1 && !(MacCol.InnerText.ToString().StartsWith("No reserved rule")))
                    {
                        //macAddress
                        macAddress = MacCol.InnerText.ToString();
                        //Report.Info("macAddress",macAddress);
                    }
                    else if (j == 2)
                    {
                        //Report.Info(MacCol.InnerText);
                        //macAddress = MacCol;
                        ipAddress = MacCol.InnerText.ToString();
                        //Report.Info("ipAddress",ipAddress.ToString());
                    }
                    else if (j == 3)
                    {
                        //Report.Info("---Checked  delete box ---");

                        /*
                         * WebElement webElement = MacCol.Element;
                         * Delay.Seconds(2);
                         * webElement.Click();
                         * Report.Screenshot("Delete MACFilter",webElement,true);
                         */
                        //Report.Info(MacCol.GetInnerHtml().ToString());
                        //Report.Info("MacCol path: "+MacCol.GetPath().ToString());

                        String newPath = "";
                        newPath = MacCol.GetPath() + "/input[#'dhcpClientsTable-Delete-" + delCheck + "']";
                        //Report.Info("newPath : "+ newPath);

                        Ranorex.InputTag DHCPClientsTableDeleteTag = newPath;
                        // Report.Info("DHCPClientsTableDeleteTag(Default) : " + DHCPClientsTableDeleteTag.Checked.ToString());
                        if (DHCPClientsTableDeleteTag.Checked.ToString() == "False")
                        {
                            //Report.Info("----------------- DHCPClientsTableDeleteTag was False ---");
                            Delay.Seconds(1);
                            DHCPClientsTableDeleteTag.PerformClick();
                        }
                        else
                        {
                            //Report.Info("----------------- DHCPClientsTableDeleteTag was True ---");
                            Report.Info(" DHCPClientsTableDeleteTag is already Enabled ");
                        }
                        string rst = "The following DHCP Reserved List is selected to delete permanently !!!";
                        Report.Success(rst);
                        Delay.Seconds(2);
                        Report.Screenshot("DHCP Reserved List", MacCol.Element, true);
                        //Report.Screenshot("DHCP Reserved List",myTable.Element,true);
                        Delay.Seconds(2);
                        j = 0;
                        delCount++;
                        delCheck++;
                    }
                    j++;
                }                       //end of TdTag for-loop

                if (delCount == rulesCount)
                {
                    // to check whether it selected all rows for deletion
                    string rst = "All the " + rulesCount.ToString() + " DHCP Reserved List(s) are deleted permanently !!!";
                    Report.Success(rst); Delay.Seconds(2);
                    Report.Screenshot("DHCP Reserved List", myTable.Element, true);
                }
                else
                {
                    Report.Info(" All rows are not deleted !!! ");
                }
            }
        }       //end of method Choose_All_DHCP_Reserved_Rules_To_Delete()
示例#6
0
        public void Verify_Device_Info_IPv6(string argument1, string argument2, string argument3, string argument4, string argument5, string argument6)
        {
            //Standard specification compliant : argument1
            //Hardware version : argument2
            //Software version : argument3
            //Cable modem serial number : argument4
            //Network access : argument5
            //Cable MAC address : argument6
            Report.Info(" INSIDE  Verify_Device_Info_IPv6   ");
            Duration newDuration = new Duration(240000);

            repo.WebDocument19216801.DivButtonsInfo.WaitForExists(newDuration);

            //-----  Hub3.0 device info ----//
            //Hardware version, software ver,Cable Mac,cable modem serial number, system up time, netork access

            WebDocument webDocument = "/dom[@domain='192.168.0.1']";

            webDocument.WaitForDocumentLoaded();
//			Report.Info(webDocument.GetHtml());
            TableTag myTable = webDocument.FindSingle("/dom[@domain='192.168.0.1']//div[#'Hub 3.0 device information']/table");
            //Count the total no of rows
            IList <TrTag> totalDeviceRows     = myTable.Find <TrTag>("./tbody//tr");
            int           rulesCount          = totalDeviceRows.Count;
            string        totalDeviceInfoRows = rulesCount.ToString() + " : Rows :";

            Report.Info(" Hub 3.0 device information ", totalDeviceInfoRows);

            if (rulesCount == 0)
            {
                //Mouse.ScrollWheel(150);
                Report.Failure("Device Info ", "There are no active Hub 3.0 device information !!");
                return;
            }
            else
            {
                Report.Info(" There are " + totalDeviceInfoRows + " in Hub 3.0 device information !!! ");
                int    rowNum = 1;
                string devInfo = "", devInfoCol1 = "", deviceInfo = "", devInfoSubstr = "";
                foreach (var row in totalDeviceRows)
                {
                    Report.Info("Row: " + rowNum);
//					Report.Info(row.GetInnerHtml().ToString());
                    IList <TdTag> cols   = row.Find <TdTag>("./td");
                    int           colNum = 1;
                    foreach (TdTag MacCol in cols)
                    {
//						Report.Info("MacCol: " + colNum);
                        if (colNum == 1)
                        {
                            devInfoCol1 = MacCol.InnerText;
                            //Report.Info("Col1 Info: "+MacCol.InnerText);
                            //Report.Info("Col1 Info: " + devInfoCol1);
                        }
                        if (colNum == 2)
                        {
                            IList <SpanTag> spanVals = MacCol.Find <SpanTag>("./span");
                            foreach (SpanTag spanVal in spanVals)
                            {
                                devInfo = spanVal.InnerText;
                                if (devInfo.Length > 0)
                                {
                                    devInfoSubstr = devInfo.Substring(1, devInfo.Length - 1);                                   // for validation purpose
                                }
                                else
                                {
                                    //blank
                                    devInfoSubstr = "";
                                }
                                //Report.Info(  "	devInfoSubstr   " + devInfoSubstr);
                            }
                            //Report.Info("Col2 Info: "+devInfo);
                            deviceInfo = devInfoCol1 + "		"+ devInfo;
                            //Report.Info( devInfoCol1 + "		" + devInfo);
                            Report.Info(deviceInfo);
                            //Report.LogHtml(ReportLevel.Info, "deviceInfo", "<a>deviceInfo</a>");

                            //perform Hub 3.0 device information validation here
                            //Standard specification compliant : DOCSIS 3.0
                            //Hardware version : 10
                            //Software version : 9.1.116V
                            //Cable MAC address : C0:05:C2:00:24:1B
                            //Cable modem serial number : AAAP51770041
                            //System up time : 0 days 17h:38m:47s
                            //Network access : Allowed
                            if (rowNum == 1)
                            {
                                //Standard specification compliant
                                if (devInfoSubstr.Length == 0)
                                {
                                    Report.Failure("	Standard specification compliant  is BLANK 	");
                                }
                                else if (devInfoSubstr.Trim().Equals(argument1.Trim()))
                                {
                                    Report.Success("	Standard specification compliant  	"+ " PASS");
                                }
                                else
                                {
                                    Report.Failure("	Standard specification compliant  	"+ " FAIL");
                                }
                            }
                            else if (rowNum == 2)
                            {
                                //Hardware Version
                                if (devInfoSubstr.Length == 0)
                                {
                                    Report.Failure("	Hardware Version  is BLANK 	");
                                }
                                else if (devInfoSubstr.Trim() == argument2.Trim())
                                {
                                    Report.Success("	Hardware Version  	"+ " PASS");
                                }
                                else
                                {
                                    Report.Failure("	Hardware Version  	"+ " FAIL");
                                }
                            }
                            else if (rowNum == 3)
                            {
                                //Software Version
                                if (devInfoSubstr.Length == 0)
                                {
                                    Report.Failure("	Software Version  is BLANK 	");
                                }
                                else if (devInfoSubstr.Trim() == argument3.Trim())
                                {
                                    Report.Success("	Software Version  	"+ " PASS");
                                }
                                else
                                {
                                    Report.Failure("	Software Version  	"+ " FAIL");
                                }
                            }
                            else if (rowNum == 4)
                            {
                                //MAC Address - C0:05:C2:00:24:1B
                                if (devInfoSubstr.Length == 0)
                                {
                                    Report.Failure("	MAC Address  is BLANK 	");
                                }
                                else if (devInfoSubstr.Trim() == argument6.Trim())
                                {
                                    Report.Success("	MAC Address  	"+ " PASS");
                                }
                                else
                                {
                                    Report.Failure("	MAC Address  	"+ " FAIL");
                                }
                            }
                            else if (rowNum == 5)
                            {
                                //Cable modem serial number
                                if (devInfoSubstr.Length == 0)
                                {
                                    Report.Failure("	Cable modem serial number  is BLANK 	");
                                }
                                else if (devInfoSubstr.Trim() == argument4.Trim())
                                {
                                    Report.Success("	Cable modem serial number  	"+ " PASS");
                                }
                                else
                                {
                                    //validate Cable modem serial number
                                    Report.Failure("	Cable modem serial number  	"+ " FAIL");
                                }
                            }
                            else if (rowNum == 6)
                            {
                                //System up time
                                if (devInfoSubstr.Length == 0)
                                {
                                    Report.Failure("	System uptime  is BLANK 	");
                                }
                                else
                                {
                                    //Validate system time format
                                    //Report.Info("Need to Validate system time format");
                                    //Report.Failure("	System up time      " + " FAIL");
                                }
                            }
                            else if (rowNum == 7)
                            {
                                //Network access
                                if (devInfoSubstr.Length == 0)
                                {
                                    Report.Failure("	Network access  is BLANK 	");
                                }
                                else if (devInfoSubstr.Trim() == argument5.Trim())
                                {
                                    Report.Success("	Network access  	"+ " PASS");
                                }
                                else
                                {
                                    Report.Failure("	Network access  	"+ " FAIL");
                                }
                            }
                        }
                        colNum++;
                    }    // end of COLUMN for-loop
                    rowNum++;
                }        //end of totalDeviceRows for-loop
            }            //end if IF-ELSE


            //-------------------------- WANIPSettingInfo - MAC Address ------------------------------//

            // /dom[@page='' and @path='/' and @browsername='IE' and @pageurl='http://192.168.0.1/?device_status&mid=Info']//div[#'WANIPSettingInfo}}']/table
            //MAC address
            TableTag myTable3 = webDocument.FindSingle("/dom[@domain='192.168.0.1']//div[#'WANIPSettingInfo}}']/table");
            //Count the total no of rows
            IList <TrTag> totalDeviceRows3     = myTable3.Find <TrTag>("./tbody//tr");
            int           rulesCount3          = totalDeviceRows3.Count;
            string        totalDeviceInfoRows3 = rulesCount3.ToString() + " : Rows :";

            Report.Info(" Hub 3.0 WANIPSettingInfo  ", totalDeviceInfoRows3);
            if (rulesCount3 == 0)
            {
                //Mouse.ScrollWheel(150);
                Report.Failure("Device Info ", "There are no WAN IP information !!");
                return;
            }
            else
            {
                Report.Info(" There are " + totalDeviceInfoRows3 + " in Hub 3.0 WANIPSettingInfo !!! ");
                int    rowNum3 = 1;
                string WANIPInfo3 = "", WANIPInfoCol3 = "", WANInfo3 = "", WANIPInfoSubstr3 = "";
                foreach (var row in totalDeviceRows3)
                {
                    Report.Info("Row: " + rowNum3);
                    Report.Info(row.GetInnerHtml().ToString());
                    IList <TdTag> cols = row.Find <TdTag>("./td");
                    //Report.Info(" Total Column ", cols.Count.ToString());
                    int colNum3 = 1;
                    foreach (TdTag MacCol in cols)
                    {
                        Report.Info("MacCol: " + colNum3);
                        if (colNum3 == 1)
                        {
                            WANIPInfoCol3 = MacCol.InnerText;
                            Report.Info("Col1 Info: " + WANIPInfoCol3);
                        }
                        else if (colNum3 == 2)
                        {
                            IList <SpanTag> spanVals = MacCol.Find <SpanTag>("./span");
                            foreach (SpanTag spanVal in spanVals)
                            {
                                WANIPInfo3       = spanVal.InnerText;
                                WANIPInfoSubstr3 = WANIPInfo3.Substring(1, WANIPInfo3.Length - 1);                              // for validation purpose
//								Report.Info(  "	WANIPInfoSubstr     " + WANIPInfoSubstr1);
                            }
                            WANInfo3 = WANIPInfoCol3 + "		"+ WANIPInfo3;
                            Report.Info(WANInfo3);
                            if (rowNum3 == 1)
                            {
                                //MAC Address - C0:05:C2:CF:14:9D
                                if (WANIPInfoSubstr3.Length == 0)
                                {
                                    Report.Failure("	MAC Address  is BLANK 	");
                                }
                                else if (WANIPInfoSubstr3.Trim() != argument6.Trim())
                                {
                                    Report.Success("	MAC Address  	"+ " PASS");
                                }
                                else
                                {
                                    Report.Failure("	MAC Address  	"+ " FAIL");
                                }
                            }
                        }
                        colNum3++;
                    }    // end of COLUMN for-loop
                    rowNum3++;
                }        //end of ROW for-loop : totalDeviceRows4
            }            //end if IF-ELSE	: WAN IP settings -Info



            //------------------------------------- WAN IP settings - IPv6 Info -----------------------------------------------------//

            // IPv6 address, default gateway,IPv6 lease time, IPv6 lease expire, IPv6 DNS server
            TableTag myTable1 = webDocument.FindSingle("/dom[@domain='192.168.0.1']//div[#'WANIPv6Info']/table");
            //Count the total no of rows
            IList <TrTag> totalDeviceRows1     = myTable1.Find <TrTag>("./tbody//tr");
            int           rulesCount1          = totalDeviceRows1.Count;
            string        totalDeviceInfoRows1 = rulesCount1.ToString() + " : Rows :";

            Report.Info(" Hub 3.0 WAN IPv6 information  ", totalDeviceInfoRows1);

            if (rulesCount1 == 0)
            {
                //Mouse.ScrollWheel(150);
                Report.Failure("Device Info ", "There are no WAN IP information !!");
                return;
            }
            else
            {
                Report.Info(" There are " + totalDeviceInfoRows1 + " in Hub 3.0 WAN IPv6 information !!! ");
                int    rowNum1 = 1;
                string WANIPInfo1 = "", WANIPInfoCol1 = "", WANInfo1 = "", WANIPInfoSubstr1 = "";
                foreach (var row in totalDeviceRows1)
                {
                    Report.Info("Row: " + rowNum1);
                    Report.Info(row.GetInnerHtml().ToString());
                    IList <TdTag> cols = row.Find <TdTag>("./td");
                    //Report.Info(" Total Column ", cols.Count.ToString());
                    int colNum1 = 1;
                    foreach (TdTag MacCol in cols)
                    {
                        Report.Info("MacCol: " + colNum1);
                        if (colNum1 == 1)
                        {
                            WANIPInfoCol1 = MacCol.InnerText;
                            Report.Info("Col1 Info: " + WANIPInfoCol1);
                        }
                        else if (colNum1 == 2)
                        {
                            IList <SpanTag> spanVals = MacCol.Find <SpanTag>("./span");
                            foreach (SpanTag spanVal in spanVals)
                            {
                                WANIPInfo1       = spanVal.InnerText;
                                WANIPInfoSubstr1 = WANIPInfo1.Substring(1, WANIPInfo1.Length - 1);                              // for validation purpose
//								Report.Info(  "	WANIPInfoSubstr     " + WANIPInfoSubstr1);
                            }
                            WANInfo1 = WANIPInfoCol1 + "		"+ WANIPInfo1;
                            Report.Info("WANInfo1  : " + WANInfo1);

//							Row: 1      IPv6 address
//							Row: 2		IPv6 default gateway
//							Row: 3		IPv6 lease time
//							Row: 4      IPv6 lease expire
//							Row: 5      IPv6 DNS servers
                            if (rowNum1 == 1 || rowNum1 == 2 || rowNum1 == 5)
                            {
                                Report.Info(" To check IPv6 address type ");
                            }
                            else if (rowNum1 == 3)                                      //IPv6 lease time
                            {
                                if (WANIPInfoSubstr1.Length == 0)
                                {
                                    Report.Failure("	InValid IPv6 lease time 	");
                                }
                                else
                                {
                                    Report.Success(" Valid IPv6 lease time  ");
                                }
                            }
                            else if (rowNum1 == 4)                                      //IPv6 lease expire
                            //2017-08-10 11:56:40.00
                            {
                                if (WANIPInfoSubstr1.Length == 0)
                                {
                                    Report.Failure("	InValid IPv6 lease expire 	");
                                }
                                else
                                {
                                    Boolean CheckDateTime = CheckDateTimeValid(WANIPInfoSubstr1.Trim());                                     //calling CheckDateTimeValid()
                                    if (CheckDateTime)
                                    {
                                        Report.Success("  Valid IPv6 lease expire  ");
                                    }
                                    else
                                    {
                                        Report.Failure("  InValid IPv6 lease expire ");
                                    }
                                }
                            }
                        }
                        colNum1++;
                    }    // end of COLUMN for-loop
                    rowNum1++;
                }        //end of ROW for-loop : totalDeviceRows1
            }            //end if IF-ELSE	: WAN IP settings - IPv6 Info


            //-------------------------- WAN IP settings - IPv4 Info ------------------------------------------//
            //MAC address, IPv4 address, default gateway,IPv4 lease time, IPv4 lease expire, IPv4 DNS server

            TableTag myTable2 = webDocument.FindSingle("/dom[@domain='192.168.0.1']//div[#'WANIPv4Info']/table");
            //Count the total no of rows
            IList <TrTag> totalDeviceRows2     = myTable2.Find <TrTag>("./tbody//tr");
            int           rulesCount2          = totalDeviceRows2.Count;
            string        totalDeviceInfoRows2 = rulesCount2.ToString() + " : Rows :";

            Report.Info(" Hub 3.0 WAN IP information  ", totalDeviceInfoRows2);

            if (rulesCount2 == 0)
            {
                //Mouse.ScrollWheel(150);
                Report.Failure("Device Info ", "There are no WAN IP information !!");
                return;
            }
            else
            {
                Report.Info(" There are " + totalDeviceInfoRows2 + " in Hub 3.0 WANIPv4 information !!! ");
                int    rowNum2 = 1;
                string WANIPInfo2 = "", WANIPInfoCol2 = "", WANInfo2 = "", WANIPInfoSubstr2 = "";
                foreach (var row in totalDeviceRows2)
                {
                    Report.Info("Row: " + rowNum2);
//					Report.Info(row.GetInnerHtml().ToString());
                    IList <TdTag> cols = row.Find <TdTag>("./td");
                    //Report.Info(" Total Column ", cols.Count.ToString());
                    int colNum2 = 1;
                    foreach (TdTag MacCol in cols)
                    {
                        Report.Info("MacCol: " + colNum2);
                        if (colNum2 == 1)
                        {
                            WANIPInfoCol2 = MacCol.InnerText;
                            //Report.Info("Col1 Info: "+MacCol.InnerText);
                            //Report.Info("Col1 Info: "+WANIPInfoCol1);
                        }
                        else if (colNum2 == 2)
                        {
                            IList <SpanTag> spanVals = MacCol.Find <SpanTag>("./span");
                            foreach (SpanTag spanVal in spanVals)
                            {
                                WANIPInfo2       = spanVal.InnerText;
                                WANIPInfoSubstr2 = WANIPInfo2.Substring(1, WANIPInfo2.Length - 1);                              // for validation purpose
                                //Report.Info(  "	WANIPInfoSubstr     " + WANIPInfoSubstr);
                            }
                            Report.Info("Col2 Info: " + WANIPInfo2);
                            WANInfo2 = WANIPInfoCol2 + "		"+ WANIPInfo2;
                            //Report.Info( WANIPInfoCol1 + "		" + WANIPInfo);
                            Report.Info("WANInfo2 : " + WANInfo2);
                            //Report.LogHtml(ReportLevel.Info, "WANInfo", "<a>WANInfo</a>");

                            //perform WAN IP Settings validation here

                            //IPv4 address : 80.2.153.121
                            //Default gateway : 80.2.153.97
                            //IPv4 lease time : 0 days 19h:24m:26s
                            //IPv4 lease expire : 2016-07-01 04:09:29.00
                            //IPv4 DNS servers : 194.168.4.100
                            if (rowNum2 == 1 || rowNum2 == 2 || rowNum2 == 5)
                            {
                                //IP Address Validation
                                if (WANIPInfoSubstr2.Length == 0)
                                {
                                    Report.Failure("	InValid IP Address 	");
                                }
                                else
                                {
                                    Boolean CheckIPAddress = CheckIPAddressValid(WANIPInfoSubstr2.Trim());                                    //Calling CheckIPAddressValid()
                                    if (CheckIPAddress)
                                    {
                                        Report.Success("Valid IP Address");
                                    }
                                    else
                                    {
                                        Report.Failure("InValid IP Address....It is : " + WANIPInfoSubstr2);
                                    }
                                }
                            }
                            else if (rowNum2 == 3)
                            {
                                //IPv4 lease time validation
                                if (WANIPInfoSubstr2.Length == 0)
                                {
                                    Report.Failure("	InValid IPv4 lease time 	");
                                }
                                else
                                {
                                    /*
                                     * Boolean CheckDateTime = CheckDateTimeValid(WANIPInfoSubstr.Trim()); //calling CheckDateTimeValid()
                                     * if(CheckDateTime){
                                     * Report.Success("  Valid IPv4 lease time  ");
                                     * }else{
                                     * Report.Failure("  InValid IPv4 lease time ");
                                     * }
                                     */
                                    Report.Success(" Valid IPv4 lease time  ");
                                }
                            }
                            else if (rowNum2 == 4)
                            {
                                //string input = "2016-07-15 09:21:27.00";	//"???"
                                if (WANIPInfoSubstr2.Length == 0)
                                {
                                    Report.Failure("	InValid IPv4 lease expire 	");
                                }
                                else
                                {
                                    Boolean CheckDateTime = CheckDateTimeValid(WANIPInfoSubstr2.Trim());                                     //calling CheckDateTimeValid()
                                    //Boolean CheckDateTime = CheckDateTimeValid("???");
                                    if (CheckDateTime)
                                    {
                                        Report.Success("  Valid IPv4 lease expire  ");
                                    }
                                    else
                                    {
                                        Report.Failure("  InValid IPv4 lease expire ");
                                    }
                                }
                            }                            //end of rowNum1 IF-ELSE
                        }
                        colNum2++;
                    }    // end of COLUMN for-loop
                    rowNum2++;
                }        //end of ROW for-loop : totalDeviceRows1
            }            //end if IF-ELSE	: WAN IP settings - IPv6 Info


            //---------------------------------------------  WANDSLiteInfo --------------------------------------------------------//
            //	/dom[@page='' and @path='/' and @browsername='IE' and @pageurl='http://192.168.0.1/?device_status&mid=Info']//div[#'WANDSLiteInfo']/table

            TableTag myTable4 = webDocument.FindSingle("/dom[@domain='192.168.0.1']//div[#'WANDSLiteInfo']/table");
            //Count the total no of rows
            IList <TrTag> totalDeviceRows4     = myTable4.Find <TrTag>("./tbody//tr");
            int           rulesCount4          = totalDeviceRows4.Count;
            string        totalDeviceInfoRows4 = rulesCount4.ToString() + " : Rows :";

            Report.Info(" Hub 3.0 WANDSLiteInfo  ", totalDeviceInfoRows4);
            if (rulesCount4 == 0)
            {
                //Mouse.ScrollWheel(150);
                Report.Failure("Device Info ", "There are no WANDSLiteInfo !!");
                return;
            }
            else
            {
                Report.Info(" There are " + totalDeviceInfoRows4 + " in Hub 3.0 WANDSLiteInfo !!! ");
                int    rowNum4 = 1;
                string WANIPInfo4 = "", WANIPInfoCol4 = "", WANInfo4 = "", WANIPInfoSubstr4 = "";
                foreach (var row in totalDeviceRows4)
                {
                    Report.Info("Row: " + rowNum4);
                    Report.Info(row.GetInnerHtml().ToString());
                    IList <TdTag> cols = row.Find <TdTag>("./td");
                    //Report.Info(" Total Column ", cols.Count.ToString());
                    int colNum4 = 1;
                    foreach (TdTag MacCol in cols)
                    {
                        Report.Info("MacCol: " + colNum4);
                        colNum4++;
                    }    // end of COLUMN for-loop
                    rowNum4++;
                }        //end of ROW for-loop : totalDeviceRows4
            }            //end if IF-ELSE	: WANDSLiteInfo
        }
示例#7
0
        public void Choose_Ethernet_Device_To_Rename(string argument1, string argument2)
        {
            Report.Info("---- Choose_Ethernet_Device_To_Rename ---------");
            Report.Info("----  Ethernet_Device_To_Rename ---- " + argument1);

            WebDocument webDocument = "/dom[@domain='192.168.0.1']";
            TableTag    myTable     = webDocument.FindSingle("/dom[@domain='192.168.0.1']//table[#'wired_Device']");

            //count the rows
            IList <TrTag> rows    = myTable.Find <TrTag>("./tbody//tr");
            int           rowsCnt = rows.Count;

            //Report.Info("Total rowsCnt",rowsCnt.ToString());
            Report.Info("Total Rows", rowsCnt.ToString());
            if (rowsCnt == 0)
            {
                //Mouse.ScrollWheel(150);
                Report.Failure("Device Rename ", "There are no connected ethernet devices to rename !!");
                TestSuite.Current.GetTestCase("Verify_Renamed_Ethernet_Device_Name_In_Home_Screen").Checked = false;
                return;
            }
            else
            {
                //Choose_Ethernet_Device_For_Rename
                int     rowNum  = 1;
                Boolean isMatch = false;
                foreach (var row in rows)
                {
                    Report.Info("Row: " + rowNum);
//			        Report.Info(row.GetInnerHtml().ToString());
                    IList <TdTag> cols   = row.Find <TdTag>("./td");
                    int           colCnt = cols.Count;
                    //Report.Info(" Total Columns(Devices)  : ",colCnt.ToString());
                    if (colCnt > 0)
                    {
                        Report.Info(" There are " + colCnt.ToString() + " devices attached to this router  !!! ");
                    }
                    int    colNum     = 1;
                    String devicePath = "";
                    foreach (TdTag MacCol in cols)
                    {
                        Report.Info("MacCol: " + colNum);
                        //Report.Info("MacCol Info: "+MacCol.InnerText);
//			            Report.Info(MacCol.GetInnerHtml().ToString());

                        IList <PTag> pVals = MacCol.Find <PTag>("./p");
                        Report.Info(" pVals count  : ", pVals.Count.ToString());
                        foreach (PTag pVal in pVals)
                        {
                            string deviceName = pVal.InnerText.Trim();
                            Report.Info(deviceName);
                            if (argument1.Trim() == deviceName.Trim())
                            {
                                Report.Info("This device name needs to be changed");
                                //devicePath = MacCol.GetPath().ToString();
                                //Report.Info("devicePath",devicePath);
                                devicePath = MacCol.GetPath() + "/p[@innertext='" + deviceName + "']";
//				                /dom[@domain='192.168.0.1']//table[#'wireless_Device']/?/?/tr/td[2]/p[@innertext='android-fc4d149c99a46022']
//				                newPath = col.GetPath() + "/input[#'ipv4FilterTable-Delete-"+delCheck+"']";
//				                newPath = radiobuttonPath + "/input[@name='attachedDevicesGroup' and @type='radio' and @value='"+radVal+"']";
                                Report.Info("devicePath", devicePath);
                                Ranorex.PTag DeviceRenameTag = devicePath;
                                Delay.Seconds(5);
                                DeviceRenameTag.DoubleClick();
                                DeviceRenameTag.PerformClick();
                                //input the new friendly ( argument2) and press "Apply" button
                                repo.WebDocumentIE.FriendlyName.Value = argument2;
//								/dom[@browsername='IE']//table[#'wireless_Device']//td/input[@type='button']
                                String           ethernet_Device_applyButton_Path = "/dom[@browsername='IE']//table[#'wired_Device']//td/input[@type='button']";
                                Ranorex.InputTag ethernet_Device = ethernet_Device_applyButton_Path;
                                ethernet_Device.DoubleClick();
                                ethernet_Device.PerformClick();
                                Delay.Seconds(5);
                                Report.Info("---------------before click -------------");
                                repo.WebDocument19216801.WarningWizardFrame0.Button29.Click();                          //added on 09/05/18 to click YES button in  the popup window 9.1.1802.600
                                Report.Info("----------------after click -----------------");
                                isMatch = true;
                                break;
                            }
                        }

                        colNum++;
                    }
                    rowNum++;
                }                                        //end of row forloop
                Report.Screenshot();
                if ((rowNum - 1) == rowsCnt && !isMatch) //if device does not exist
                {
                    Report.Info(" ===== This device does not exist =====");
                    //Delay.Seconds(1);
                    //Report.Screenshot("Device Rename",myTable.Element,true);
                    Report.Screenshot();
                    TestSuite.Current.GetTestCase("Verify_Renamed_Ethernet_Device_Name_In_Home_Screen").Checked = false;
                    return;
                }
            }
        }
        public void Validate_Router_Status_Configuration()
        {
            //validate router status configuration tables -> Configuration, PrimaryDWFlow, PrimaryUPFlow

            Delay.Seconds(30);
            WebDocument webDocument = "/dom[@domain='192.168.0.1']";

            webDocument.WaitForDocumentLoaded();

            //validate the Configuration table rows & columns
//			TableTag configTable = webDocument.FindSingle("/dom[@domain='192.168.0.1']//table[#'configuration']");
            TableTag      configTable     = webDocument.FindSingle("/dom[@domain='192.168.0.1']//div[#'configuration']//table[@id='configuration']");
            IList <TrTag> totalRows       = configTable.Find <TrTag>("./tbody//tr");
            int           configRowsCount = totalRows.Count;
//			string totalConfigRowsCnt = "Total Rows(Configuration) : "+configRowsCount.ToString();
            string totalConfigRowsCnt = configRowsCount.ToString();

            Report.Info("Total Items(Configuration) ", totalConfigRowsCnt);
            if (configRowsCount == 0)
            {
                //Mouse.ScrollWheel(150);
                Report.Failure("Device Info ", "There are no Router status-Configuration information !!");
                return;
            }
            else
            {
                Report.Info(" There are " + totalConfigRowsCnt + " in General Configuration information !!! ");
                int    rowNum = 1;
                string configInfo = "", configInfoTitle = "";
                foreach (var row in totalRows)
                {
                    Report.Info("Configuration -Row#: " + rowNum);
//					Report.Info(row.GetInnerHtml().ToString());
                    IList <TdTag> cols = row.Find <TdTag>("./td");
                    Report.Info(" Configuration -Row-Total Columns ", cols.Count.ToString());
                    int colNum = 1;
                    foreach (TdTag MacCol in cols)
                    {
//						Report.Info("Configuration Col # " + colNum);
                        if (colNum == 1)
                        {
                            configInfoTitle = MacCol.InnerText;
//							Report.Info("Col1 Info: "+MacCol.InnerText);
                            Report.Info("Col1 Info: " + configInfoTitle);
                        }
                        if (colNum == 2)
                        {
                            IList <DivTag> divVals = MacCol.Find <DivTag>("./div");
//							Report.Info("divVals count : " + divVals.Count.ToString());

                            foreach (DivTag divVal in divVals)
                            {
                                IList <SpanTag> spanVals = divVal.Find <SpanTag>("./span");
//								Report.Info("spanVals count : " + spanVals.Count.ToString());
                                foreach (SpanTag spanVal in spanVals)
                                {
                                    configInfo = spanVal.InnerText;
                                }
                                Report.Info("Col2 Info: " + configInfo);
                            }
                        }

                        colNum++;
                    }
                    rowNum++;
                }        //end of totalRows
            }            //end if IF-ELSE -Configuration


            //validate the PPrimary Downstream Service Flow table rows & columns
            TableTag      primaryDWTable     = webDocument.FindSingle("/dom[@domain='192.168.0.1']//table[#'primaryDWFlow']");
            IList <TrTag> totalRows1         = primaryDWTable.Find <TrTag>("./tbody//tr");
            int           primaryDWRowsCount = totalRows1.Count;
//			string totalPrimaryDWRowsCount = "Total Rows(primaryDW) : "+primaryDWRowsCount.ToString();
            string totalPrimaryDWRowsCount = primaryDWRowsCount.ToString();

            Report.Info("Total Items(PrimaryDW) ", totalPrimaryDWRowsCount);
            if (primaryDWRowsCount == 0)
            {
                //Mouse.ScrollWheel(150);
                Report.Failure("Device Info ", "There are no Primary Downstream Service Flow information !!");
                return;
            }
            else
            {
                Report.Info(" There are " + totalPrimaryDWRowsCount + " in Primary Downstream Service Flow information !!! ");
                int    rowNum = 1;
                string primaryDWInfo = "", primaryDWInfoTitle = "";
                foreach (var row in totalRows1)
                {
                    Report.Info("Configuration -Row#: " + rowNum);
//					Report.Info(row.GetInnerHtml().ToString());
                    IList <TdTag> cols = row.Find <TdTag>("./td");
                    Report.Info(" Configuration -Row-Total Columns ", cols.Count.ToString());
                    int colNum = 1;
                    foreach (TdTag MacCol in cols)
                    {
//						Report.Info("Configuration Col # " + colNum);
                        if (colNum == 1)
                        {
                            primaryDWInfoTitle = MacCol.InnerText;
//							Report.Info("Col1 Info: "+MacCol.InnerText);
                            Report.Info("Col1 Info: " + primaryDWInfoTitle);
                        }
                        if (colNum == 2)
                        {
                            primaryDWInfo = MacCol.InnerText;
//							Report.Info("Col2 Info: "+MacCol.InnerText);
                            IList <DivTag> divVals = MacCol.Find <DivTag>("./div");
//							Report.Info("divVals count : " + divVals.Count.ToString());

                            foreach (DivTag divVal in divVals)
                            {
                                IList <SpanTag> spanVals = divVal.Find <SpanTag>("./span");
//								Report.Info("spanVals count : " + spanVals.Count.ToString());
                                foreach (SpanTag spanVal in spanVals)
                                {
                                    primaryDWInfo = spanVal.InnerText;
                                }
                                Report.Info("Col2 Info: " + primaryDWInfo);
                            }
                            Report.Info("Col2 Info: " + primaryDWInfo);
                        }

                        colNum++;
                    }
                    rowNum++;
                }        //end of totalRows
            }            //end if IF-ELSE -Configuration

            //validate the Primary Upstream Service Flow table rows & columns
            TableTag      primaryUPTable     = webDocument.FindSingle("/dom[@domain='192.168.0.1']//table[#'primaryUPFlow']");
            IList <TrTag> totalRows2         = primaryUPTable.Find <TrTag>("./tbody//tr");
            int           primaryUPRowsCount = totalRows2.Count;
//			string totalPrimaryUPRowsCount = "Total Rows(primaryUP) : "+primaryUPRowsCount.ToString();
            string totalPrimaryUPRowsCount = primaryUPRowsCount.ToString();

            Report.Info("Total Items(PrimaryUP) ", totalPrimaryUPRowsCount);
            if (primaryUPRowsCount == 0)
            {
                //Mouse.ScrollWheel(150);
                Report.Failure("Device Info ", "There are no Primary Upstrean Service Flow information !!");
                return;
            }
            else
            {
                Report.Info(" There are " + primaryUPRowsCount + " in Primary Upstrean Service Flow information !!! ");
                int    rowNum = 1;
                string primaryUPInfo = "", primaryUPInfoTitle = "";
                foreach (var row in totalRows2)
                {
                    Report.Info("Configuration -Row#: " + rowNum);
//					Report.Info(row.GetInnerHtml().ToString());
                    IList <TdTag> cols = row.Find <TdTag>("./td");
                    Report.Info(" Configuration -Row-Total Columns ", cols.Count.ToString());
                    int colNum = 1;
                    foreach (TdTag MacCol in cols)
                    {
//						Report.Info("Configuration Col # " + colNum);
                        if (colNum == 1)
                        {
                            primaryUPInfoTitle = MacCol.InnerText;
//							Report.Info("Col1 Info: "+MacCol.InnerText);
                            Report.Info("Col1 Info: " + primaryUPInfoTitle);
                        }
                        if (colNum == 2)
                        {
                            primaryUPInfo = MacCol.InnerText;
//							Report.Info("Col2 Info: "+MacCol.InnerText);
                            IList <DivTag> divVals = MacCol.Find <DivTag>("./div");
//							Report.Info("divVals count : " + divVals.Count.ToString());

                            foreach (DivTag divVal in divVals)
                            {
                                IList <SpanTag> spanVals = divVal.Find <SpanTag>("./span");
//								Report.Info("spanVals count : " + spanVals.Count.ToString());
                                foreach (SpanTag spanVal in spanVals)
                                {
                                    primaryUPInfo = spanVal.InnerText;
                                }
                                Report.Info("Col2 Info: " + primaryUPInfo);
                            }
                            Report.Info("Col2 Info: " + primaryUPInfo);
                        }

                        colNum++;
                    }
                    rowNum++;
                }        //end of totalRows
            }            //end if IF-ELSE -Configuration
        }
        public void Choose_Any_5GHz_Wireless_MAC_Filtering_Device_To_Delete(string argument1, string argument2, string argument3, string argument4, string argument5, string argument6, string argument7)
        {
            //choose  any device to delete based on Device name and MAC addresses
            //argument7 - device name, argument1- MAC 0  ....and argument6-MAC5
//          Delay.Seconds(30);
            if (TotalRows1 <= 5 || TotalRows2 <= 5)
            {
                Delay.Seconds(5);               // to load the pages
            }
            else if ((TotalRows1 > 5 && TotalRows1 <= 10) || (TotalRows2 > 5 && TotalRows2 <= 10))
            {
                Delay.Seconds(10);              // to load the pages
            }
            else if ((TotalRows1 > 10 && TotalRows1 <= 20) || (TotalRows2 > 10 && TotalRows2 <= 20))
            {
                Delay.Seconds(20);              // to load the pages
            }
            else
            {
                Delay.Seconds(30);              // to load the pages
            }

            Report.Info("DeviceName: " + argument7 + " - " + " MAC: " + argument1 + " : " + argument2 + " : " + argument3 + " : " + argument4 + " : " + argument5 + " : " + argument6);

            WebDocument webDocument = "/dom[@domain='192.168.0.1']";
            //Report.Info(webDocument.GetHtml());
            TableTag myTable = webDocument.FindSingle("/dom[@domain='192.168.0.1']//table[#'macAddressFilterTable']");
            //Count the total no of IPv4 port Filter rules (rows)
            IList <TrTag> totalMACRules       = myTable.Find <TrTag>("./tbody//tr");
            int           rulesCount          = totalMACRules.Count;
            string        totalMACFilterRules = "Total Rules : " + rulesCount.ToString();

            Report.Info("Active MAC  Filter Rules ", totalMACFilterRules);

            if (rulesCount == 0)
            {
                //Mouse.ScrollWheel(150);
                Report.Failure("MAC Filter ", "There are no active rules to delete !!");
                TestSuite.Current.GetTestCase("Delete_Any_MAC_Filtering_Rules").Checked = false;
                return;
            }
            else if (rulesCount == 1)           // if there is only one row
            //walkthrough the column values
            {
                IList <TdTag> cols      = myTable.Find <TdTag>("./tbody//td");
                int           colsCount = cols.Count;
                if (colsCount > 1)                      // if there is  only one row, many columns
                {
                    Report.Info(" Total column : " + colsCount.ToString());
                    Report.Info(" There is  " + totalMACFilterRules + " Wireless Filter Rule to delete !!! ");
                    int     colNum = 1;
                    int     delCheck = 0;
                    Boolean isMatch = false;
                    string  macAddress = "", macAddress1 = "";
                    macAddress = argument1 + ":" + argument2 + ":" + argument3 + ":" + argument4 + ":" + argument5 + ":" + argument6;
                    Report.Info("MAC Address : " + macAddress);

                    foreach (TdTag col in cols)
                    {
                        Report.Info("col: " + colNum);
                        if (colNum == 2)
                        {
                            //Report.Info(MacCol.InnerText);
                            macAddress1 = col.InnerText;
                            Report.Info("MAC Address1 : " + macAddress1);
                        }
                        else if (colNum == 3)
                        {
                            if (macAddress == macAddress1)
                            {
                                isMatch = true;
                                Report.Info("----------------- Rules Matches !!! ------");
                                String newPath = "";
                                newPath = col.GetPath() + "/input[#'macAddressFilterTable-Delete-" + delCheck + "']";                           //fmChbx-macAddressFilterTable-Delete-0, macAddressFilterTable-Delete-0
                                Ranorex.InputTag MACFilterTableDeleteTag = newPath;
                                if (MACFilterTableDeleteTag.Checked.ToString() == "False")
                                {
                                    Report.Info("----------------- MACFilterTableDeleteTag was False ---");
                                    Delay.Seconds(5);
                                    MACFilterTableDeleteTag.PerformClick();
                                }
                                else
                                {
                                    Report.Info(" MACFilterTableDeleteTag is already Enabled ");
                                }
                                string rst = "The following MACFilter_Filtering rule is deleted permanently !!!";
                                Report.Success(rst);
                                Report.Screenshot("MACFilter_Filtering", myTable.Element, true);
                            }
                        }
                        colNum++;
                    }                   //end of for loop-col
                }
                else                    // if there is only one row, one column
                {
                    Report.Info(" Total column : " + colsCount.ToString());
                    foreach (TdTag col in cols)
                    {
                        string noFilterStr = col.InnerText.ToString();
                        Report.Info(noFilterStr);
//						if(noFilterStr.StartsWith("No filtering")){	//No filtering device!
                        if (noFilterStr.StartsWith("You have not selected a device to filter"))                         //You have not selected a device to filter
                        {
                            Report.Failure("MAC Filter Devices ", "There are no devie to delete !!");
                            TestSuite.Current.GetTestCase("Delete_Any_5GHz_Wireless_MAC_Filter_Device").Checked = false;
                            return;
                        }
                        else
                        {
                            Report.Info(" There are " + rulesCount.ToString() + " MAC Filter Rule to delete  !!! ");
                            //check if the rule is matching the condition
                        }
                    }
                }
            }
            else      // if there are many rows
                      //Report.Info(" There are " + totalMACFilterRules + " MAC Filter Rules to delete !!! ");
            {
                Report.Info(" There are " + rulesCount.ToString() + " MAC Filter Rule(s) to delete !!! ");
                int     rowNum = 1;
                int     delCheck = 0;
                Boolean isMatch = false;
                string  macAddress = "", macAddress1 = "";
                macAddress = argument1 + ":" + argument2 + ":" + argument3 + ":" + argument4 + ":" + argument5 + ":" + argument6;
                Report.Info("MAC Address : " + macAddress);
                foreach (var row in totalMACRules)
                {
                    // Report.Info("Row: " + rowNum);
                    //Report.Info(row.GetInnerHtml().ToString());
                    IList <TdTag> cols   = row.Find <TdTag>("./td");
                    int           colNum = 1;

                    foreach (TdTag MacCol in cols)
                    {
                        //Report.Info("MacCol: " + colNum);
                        //Report.Info("MacCol Info: "+MacCol.InnerText);
                        if (colNum == 2)
                        {
                            //Report.Info(MacCol.InnerText);
                            macAddress1 = MacCol.InnerText;
                            Report.Info("MAC Address1 : " + macAddress1);
                        }
                        else if (colNum == 3)
                        {
                            // check if Mac address is matching
                            //Report.Info("----------------- click delete checkbox ------");
                            if (macAddress == macAddress1)
                            {
                                isMatch = true;
                                Report.Info("----------------- Rule Exist !!! ------");
                                String newPath = "";
                                newPath = MacCol.GetPath() + "/input[#'macAddressFilterTable-Delete-" + delCheck + "']";
                                //fmChbx-macAddressFilterTable-Delete-0, macAddressFilterTable-Delete-0
                                //dom[@domain='192.168.0.1']//b[#'fmChbx-macAddressFilterTable-Delete-1']
//			                    Report.Info("newPath :" + newPath);

                                Report.Info("--------- newPath orginal ---->> " + newPath);

//			                    newPath = "/dom[@page='' and @path='/' and @browsername='IE' and @pageurl='http://192.168.100.1/?wifi_settings&mid=WirelessPrimary']//tbody[#'macAddressFilterTable_body']/tr[1]/td[3]/" + "/input[#'macAddressFilterTable-Delete-"+delCheck+"']";
//			                    newPath = "/dom[@page='' and @path='/' and @browsername='IE' and @pageurl='http://192.168.0.1/?wifi_settings&mid=WirelessPrimary']/"+ "/input[#'macAddressFilterTable-Delete-"+delCheck+"']";   //original working statement

//			                    newPath = "/dom[@caption='Hub 3.0' and @page='' and @path='/' and @browsername='IE' and @pageurl='http://192.168.0.1/?wifi_settings&mid=WirelessSecurity']//input[#'macAddressFilterTable-Delete-31']";		//added on 17/10/17 for code -116.400
                                newPath = "/dom[@caption='Hub 3.0' and @page='' and @path='/' and @browsername='IE' and @pageurl='http://192.168.0.1/?wifi_settings&mid=WirelessSecurity']//input[#'macAddressFilterTable-Delete-" + delCheck + "']";                           //added on 17/10/17 for code -116.400

                                Report.Info("--------- newPath modified ---->> " + newPath);
                                // The above code is added to test on Windows10 platform - 23Feb2017

                                Ranorex.InputTag MACFilterTableDeleteTag = newPath;
                                if (MACFilterTableDeleteTag.Checked.ToString() == "False")
                                {
                                    Report.Info("----------------- MACFilterTableDeleteTag was False ---");
                                    Delay.Seconds(5);
                                    MACFilterTableDeleteTag.PerformClick();
                                    Delay.Seconds(3);
                                }
                                else
                                {
                                    Report.Info(" MACFilterTableDeleteTag is already Enabled ");
                                }
                                string rst = "The following MACFilter_Filtering rule is deleted permanently !!!";
                                Report.Success(rst);
                                Report.Screenshot("MACFilter_Filtering", row.Element, true);
                            }
                        }
                        colNum++;
                    }                   // end of for-loop (column)
                    if (isMatch)
                    {
                        break;
                    }
                    rowNum++;
                    delCheck++;                             //counter to select delete checkbox
                }                                           //end of for-loop (row)
                if ((rowNum - 1) == rulesCount && !isMatch) //if rule does not exist
                {
                    TestSuite.Current.GetTestCase("Delete_Any_5GHz_Wireless_MAC_Filter_Device").Checked = false;
                    Report.Info(" ===== This Rule does not exist =====");
                    Delay.Seconds(1);
                    Report.Screenshot("MAC_Filtering_Devices", myTable.Element, true);
                }
            }
        }
        public void Validate_Renamed_Wireless_Connected_Device_Name(string argument1, string argument2)
        {
            Delay.Seconds(20);
            WebDocument webDocument = "/dom[@domain='192.168.0.1']";
            TableTag    myTable     = webDocument.FindSingle("/dom[@domain='192.168.0.1']//table[#'AttachedDevicesTable']"); //R3.8

            Report.Screenshot("Devices Connected", myTable.Element, true);                                                   // print the devices table

            //Count the rows(total no of devices)
            IList <TrTag> rows      = myTable.Find <TrTag>("./tbody//tr");
            int           rowsCount = rows.Count;

            Report.Info("Total Devices Connected", rowsCount.ToString());
            if (rowsCount == 0)
            {
                //Mouse.ScrollWheel(150);
                Report.Failure("Device Rename ", "There are no connected wireless devices to rename !!");

                return;
            }
            else
            {
                int     rowNum = 1;
                Boolean isWirelessMatch = false, isEthernetMatch = false;
                int     wirelessCnt = 0, ethernetCnt = 0;
                foreach (var row in rows)
                {
                    Report.Info("Row: " + rowNum);
                    Report.Info(row.GetInnerHtml().ToString());
                    IList <TdTag> cols = row.Find <TdTag>("./td");
                    int           colCnt = cols.Count;
                    int           colNum = 1;
                    string        deviceName = "", connectionType = "";
                    foreach (TdTag MacCol in cols)
                    {
                        Report.Info("MacCol: " + colNum);
                        Report.Info("MacCol Info: " + MacCol.InnerText);
                        Report.Info(MacCol.GetInnerHtml().ToString());

                        //column1 - device name
                        //column5 - Wi-Fi 2.4G _VM0365087_2G  / Wi-Fi 5G _VM0365087_5G / Ethernet
                        if (colNum == 1)
                        {
                            deviceName = MacCol.InnerText.Trim();
                        }
                        else if (colNum == 5)
                        {
                            connectionType = MacCol.InnerText.Trim();
                            if (argument2.Trim() == deviceName)
                            {
                                Report.Info("connectionType  : " + connectionType);
//			                    if(connectionType.StartsWith("Wi-Fi")){
//			                    if(connectionType.StartsWith("Wireless frequency")){	//added on 02/11/17 to test code 9.1.116.600
                                if ((connectionType.StartsWith("Wi-Fi")) || (connectionType.StartsWith("Wireless frequency")))                                  //  added on 15/01/18 to test code 9.1.116.604
                                {
                                    Report.Info("Rename Wireless Connected  Device Name  is Successfull");
                                    isWirelessMatch = true;
                                    wirelessCnt++;
                                    //break;
                                }
                                else
                                {
                                    Report.Info("Ethernet  Device Name ");
                                    isEthernetMatch = true;
                                    ethernetCnt++;
                                }
                            }            //end of IF-deviceName
                        }                //end of if-else : column5

                        colNum++;
                    }
                    rowNum++;
                }
                if (isWirelessMatch)
                {
                    Report.Info("wirelessCnt", wirelessCnt.ToString());
                    if (wirelessCnt == 1)
                    {
                        Report.Success("Rename Wireless Connected  Device Name  is Successfull");
                    }
                    else
                    {
                        Report.Failure("More than one Wireless Connected  Device Renamed");
                    }
                }
                else if (isEthernetMatch)
                {
                    Report.Info("ethernetCnt", ethernetCnt.ToString());
                    if (ethernetCnt == 1)
                    {
                        Report.Failure("One  Ethernet Connected  Device Name  is Renamed instead of Wireless Device");
                    }
                    else
                    {
                        Report.Failure("More than one Ethernet Connected  Device Renamed instead of one(1) Wireless Device");
                    }
                }
                Report.Screenshot();
            }           //end of IF-ELSE
        }
        public void WPS_PIN_Verification_Validation()
        {
            Delay.Seconds(5);
            WebDocument webDocument = "/dom[@domain='192.168.0.1']";

            TableTag      myTable = webDocument.FindSingle("/dom[@domain='192.168.0.1']//table[#'PriSecurityStatusTable']");
            IList <TdTag> cols    = myTable.Find <TdTag>("./tbody//td");
            //Report.Info(" Total columns ",cols.Count.ToString());

            bool   isValidPIN = true;
            string WPSPIN     = "";

            foreach (TdTag col in cols)
            {
                WPSPIN = col.InnerText.ToString();
                //Report.Info("WPS PIN Value",col.InnerText);
                Report.Info("WPS PIN Value", WPSPIN);
                //Report.Info("WPS PIN Length",col.InnerText.Length.ToString());
                Report.Info("WPS PIN Length", WPSPIN.Length.ToString());
                //if(col.InnerText.Length < 8){
                if (WPSPIN.Length < 8)
                {
                    isValidPIN = false;
                }
                else
                {
                    break;
                }
            }
            if (isValidPIN)
            {
                Report.Success("Valid WPS PIN");
            }
            else
            {
                Report.Failure("Invalid WPS PIN");
            }
            TableTag table_WPS_PIN = webDocument.FindSingle("/dom[@domain='192.168.0.1']//table[#'PriSecurityStatusTable']");

            Report.Screenshot("WPS_PIN_Length", table_WPS_PIN.Element, false);

            //Navigate to Admin-Info
            Report.Info("Verify the PIN with IP Address and BOX serial Number");
            Ranorex.ATag Admin = "/dom[@domain='192.168.0.1']//li[#'Admin']/a[@innertext='Admin']";
            Admin.DoubleClick();
            //Admin.PerformClick();
            Delay.Seconds(2);
            Ranorex.ATag AdminInfo = "/dom[@domain='192.168.0.1']//li[#'Info']/a[@innertext='Info']";
            AdminInfo.DoubleClick();
            AdminInfo.PerformClick();
            Delay.Seconds(2);

            // Verify the PIN with cable modem serial Number //
            Delay.Seconds(20);
            TableTag myTable1 = webDocument.FindSingle("/dom[@domain='192.168.0.1']//div[#'Hub 3.0 device information']/table");
            //Count the total no of rows
            IList <TrTag> totalDeviceRows1     = myTable1.Find <TrTag>("./tbody//tr");
            int           rulesCount1          = totalDeviceRows1.Count;
            string        totalDeviceInfoRows1 = rulesCount1.ToString() + " : Rows :";

            //Report.Info(" Hub 3.0 device information ",totalDeviceInfoRows1);
//	        string cableSerialNumber="";
            if (rulesCount1 == 0)
            {
                //Mouse.ScrollWheel(150);
                Report.Failure("Device Info ", "There are no active Hub 3.0 device information !!");
                return;
            }
            else
            {
                Report.Info(" There are " + totalDeviceInfoRows1 + " in Hub 3.0 device information !!! ");
                int    rowNum = 1;
                string devInfo = "", devInfoCol1 = "", deviceInfo = "", devInfoSubstr = "";
                foreach (var row in totalDeviceRows1)
                {
                    //Report.Info("Row: " + rowNum);
                    //Report.Info(row.GetInnerHtml().ToString());
                    IList <TdTag> cols1 = row.Find <TdTag>("./td");
                    //Report.Info(" Total Column ", cols.Count.ToString());
                    int colNum = 1;
                    foreach (TdTag MacCol in cols1)
                    {
                        //Report.Info("MacCol: " + colNum);
                        if (colNum == 1)
                        {
                            devInfoCol1 = MacCol.InnerText;
                            //Report.Info("Col1 Info: "+MacCol.InnerText);
                            //Report.Info("Col1 Info: " + devInfoCol1);
                        }
                        if (colNum == 2)
                        {
                            IList <SpanTag> spanVals = MacCol.Find <SpanTag>("./span");
                            foreach (SpanTag spanVal in spanVals)
                            {
                                devInfo = spanVal.InnerText;
                                if (devInfo.Length > 0)
                                {
                                    devInfoSubstr = devInfo.Substring(1, devInfo.Length - 1);                           // for validation purpose
                                }
                                else
                                {
                                    //blank
                                    devInfoSubstr = "";
                                }
                                //Report.Info(  "	devInfoSubstr   " + devInfoSubstr);
                            }
                            //Report.Info("Col2 Info: "+devInfo);
                            deviceInfo = devInfoCol1 + "		"+ devInfo;
                            //Report.Info( devInfoCol1 + "		" + devInfo);
                            //Report.Info(deviceInfo);
                            if (rowNum == 4)
                            {
                                //MAC Address - C0:05:C2:00:24:1B  ( Arris1)
                                if (devInfoSubstr.Length == 0)
                                {
                                    Report.Failure("	MAC Address  is BLANK 	");
                                }
                                else if (devInfoSubstr.Trim() != WPSPIN)
                                {
                                    Report.Info("WPSPIN : " + WPSPIN + "  MAC Address : " + devInfoSubstr);
                                    Report.Success("	WPS PIN is different from MAC Address  	"+ " PASS");
                                }
                                else
                                {
                                    Report.Failure("	MAC Address  	"+ " FAIL");
                                }
                            }
                            else if (rowNum == 5)
                            {
                                //Cable modem serial number
                                if (devInfoSubstr.Length == 0)
                                {
                                    Report.Failure("	Cable modem serial number  is BLANK 	");
                                }
                                else if (devInfoSubstr.Trim() != WPSPIN)
                                {
                                    Report.Info("WPSPIN : " + WPSPIN + "  Cable Modem Serial Number : " + devInfoSubstr);
                                    Report.Success("	WPS PIN is different from Modem Serial Number	"+ " PASS");
                                }
                                else
                                {
                                    //validate Cable modem serial number
                                    Report.Failure("	WPS PIN  	"+ " FAIL");
                                }
                            }
                        }
                        colNum++;
                    }    //end of COLUMN forloop
                    rowNum++;
                }        //end of ROW forloop
            }

            //Verify the PIN with IP Addresses //
            Delay.Seconds(20);
            TableTag myTable2 = webDocument.FindSingle("/dom[@domain='192.168.0.1']//div[#'WANIPv4Info']/table");
            //Count the total no of rows
            IList <TrTag> totalDeviceRows2     = myTable2.Find <TrTag>("./tbody//tr");
            int           rulesCount2          = totalDeviceRows2.Count;
            string        totalDeviceInfoRows2 = rulesCount2.ToString() + " : Rows :";

            //Report.Info(" Hub 3.0 WAN IP information Rows ",totalDeviceInfoRows2);

            if (rulesCount2 == 0)
            {
                //Mouse.ScrollWheel(150);
                Report.Failure("Device Info ", "There are no WAN IP information !!");
                return;
            }
            else
            {
                Report.Info(" There are " + totalDeviceInfoRows2 + " in Hub 3.0 WAN IP information !!! ");
                int    rowNum1 = 1;
                string WANIPInfo = "", WANIPInfoCol1 = "", WANInfo = "", WANIPInfoSubstr = "";
//	             string deviceIPAddress="",deviceGatwayIP="";
                foreach (var row in totalDeviceRows2)
                {
                    //Report.Info("Row: " + rowNum1);
                    //Report.Info(row.GetInnerHtml().ToString());
                    IList <TdTag> cols2 = row.Find <TdTag>("./td");
                    //Report.Info(" Total Column ", cols.Count.ToString());
                    int colNum1 = 1;
                    foreach (TdTag MacCol in cols2)
                    {
                        //Report.Info("MacCol: " + colNum1);
                        if (colNum1 == 1)
                        {
                            WANIPInfoCol1 = MacCol.InnerText;
                            //Report.Info("Col1 Info: "+MacCol.InnerText);
                            //Report.Info("Col1 Info: "+WANIPInfoCol1);
                        }
                        if (colNum1 == 2)
                        {
                            IList <SpanTag> spanVals = MacCol.Find <SpanTag>("./span");
                            foreach (SpanTag spanVal in spanVals)
                            {
                                WANIPInfo       = spanVal.InnerText;
                                WANIPInfoSubstr = WANIPInfo.Substring(1, WANIPInfo.Length - 1);                         // for validation purpose
                                //Report.Info(  "	WANIPInfoSubstr     " + WANIPInfoSubstr);
                            }
                            //Report.Info("Col2 Info: "+WANIPInfo);
                            WANInfo = WANIPInfoCol1 + "		"+ WANIPInfo;
                            //Report.Info( WANIPInfoCol1 + "		" + WANIPInfo);
                            //Report.Info(WANInfo);
                            //Report.LogHtml(ReportLevel.Info, "WANInfo", "<a>WANInfo</a>");

                            //IPv4 address : 80.2.153.121
                            //Default gateway : 80.2.153.97
                            //IPv4 lease time : 0 days 19h:24m:26s
                            //IPv4 lease expire : 2016-07-01 04:09:29.00
                            //IPv4 DNS servers : 194.168.4.100
                            if (rowNum1 == 1 || rowNum1 == 2 || rowNum1 == 5)
                            {
                                //IP Address Validation
                                if (WANIPInfoSubstr.Length == 0)
                                {
                                    Report.Failure("	InValid IP Address 	");
                                }
                                else
                                {
                                    Boolean CheckIPAddress = CheckIPAddressValid(WANIPInfoSubstr.Trim());                            //Calling CheckIPAddressValid()
                                    if (CheckIPAddress)
                                    {
                                        Report.Success("Valid IP Address");
                                        if (WANIPInfoSubstr.Trim() != WPSPIN)
                                        {
                                            Report.Info("WPSPIN : " + WPSPIN + "  IP Address : " + WANIPInfoSubstr);
                                            if (rowNum1 == 1)
                                            {
                                                Report.Success("	WPS PIN  is different from IPv4 address 	"+ " PASS");
                                            }
                                            else if (rowNum1 == 2)
                                            {
                                                Report.Success("	WPS PIN  is different from Default Gateway IPv4 address 	"+ " PASS");
                                            }
                                            else if (rowNum1 == 5)
                                            {
                                                Report.Success("	WPS PIN  is different from IPv4 DNS servers IPv4 address 	"+ " PASS");
                                            }
                                        }
                                    }
                                    else
                                    {
                                        Report.Failure("InValid IP Address");
                                    }
                                }
                            }
                        }
                        colNum1++;
                    }    //end of COLUMN forloop
                    rowNum1++;
                }        //end of ROW forloop
            }
        }
        public void Verify_And_Validate_Device_Connection_Status_Info(string argument1, string argument2, string argument3, string argument4, string argument5, string argument6)
        {
            //Standard specification compliant : argument1
            //Hardware version : argument2
            //Software version : argument3
            //Cable modem serial number : argument4
            //Network access : argument5
            //Cable MAC address : argument6

            //Report.Info("Arg1 " + argument1);
            //Report.Info("Arg5 " + argument5);

            //Capture the following table info

            /*
             * /dom[@domain='192.168.0.1']//div[#'InfoHead']/table
             *      /dom[@domain='192.168.0.1']//div[#'WANIP']/table
             *      /dom[@domain='192.168.0.1']//div[#'WANIPSettingInfo}}']/table
             *      /dom[@domain='192.168.0.1']//div[#'WANIPv6Info']/table
             *      /dom[@domain='192.168.0.1']//div[#'WANIPv4Info']/table
             *      /dom[@domain='192.168.0.1']//div[#'WANDSLiteInfo']/table
             *
             */
//          Delay.Seconds(30);
            Duration newDuration = new Duration(240000);

            repo.WebDocument19216801.DivButtonsInfo.WaitForExists(newDuration);

            //Hub3.0 device info //
            //Hardware version, software ver,Cable Mac,cable modem serial number, system up time, netork access

            //	"/dom[@domain='192.168.0.1']//div[#'Hub 3.0 device information']/table"   =>Hub 3.0 device information

            WebDocument webDocument = "/dom[@domain='192.168.0.1']";

            webDocument.WaitForDocumentLoaded();
            //Report.Info(webDocument.GetHtml());
            TableTag myTable = webDocument.FindSingle("/dom[@domain='192.168.0.1']//div[#'Hub 3.0 device information']/table");
            //Count the total no of rows
            IList <TrTag> totalDeviceRows     = myTable.Find <TrTag>("./tbody//tr");
            int           rulesCount          = totalDeviceRows.Count;
            string        totalDeviceInfoRows = rulesCount.ToString() + " : Rows :";

            Report.Info(" Hub 3.0 device information ", totalDeviceInfoRows);

            if (rulesCount == 0)
            {
                //Mouse.ScrollWheel(150);
                Report.Failure("Device Info ", "There are no active Hub 3.0 device information !!");
                return;
            }
            else
            {
                Report.Info(" There are " + totalDeviceInfoRows + " in Hub 3.0 device information !!! ");
                int    rowNum = 1;
                string devInfo = "", devInfoCol1 = "", deviceInfo = "", devInfoSubstr = "";
                foreach (var row in totalDeviceRows)
                {
                    //Report.Info("Row: " + rowNum);
                    //Report.Info(row.GetInnerHtml().ToString());
                    IList <TdTag> cols = row.Find <TdTag>("./td");
                    //Report.Info(" Total Column ", cols.Count.ToString());
                    int colNum = 1;
                    foreach (TdTag MacCol in cols)
                    {
                        //Report.Info("MacCol: " + colNum);
                        if (colNum == 1)
                        {
                            devInfoCol1 = MacCol.InnerText;
                            //Report.Info("Col1 Info: "+MacCol.InnerText);
                            //Report.Info("Col1 Info: " + devInfoCol1);
                        }
                        if (colNum == 2)
                        {
                            IList <SpanTag> spanVals = MacCol.Find <SpanTag>("./span");
                            foreach (SpanTag spanVal in spanVals)
                            {
                                devInfo = spanVal.InnerText;
                                if (devInfo.Length > 0)
                                {
                                    devInfoSubstr = devInfo.Substring(1, devInfo.Length - 1);                           // for validation purpose
                                }
                                else
                                {
                                    //blank
                                    devInfoSubstr = "";
                                }
                                //Report.Info(  "	devInfoSubstr   " + devInfoSubstr);
                            }
                            //Report.Info("Col2 Info: "+devInfo);
                            deviceInfo = devInfoCol1 + "		"+ devInfo;
                            //Report.Info( devInfoCol1 + "		" + devInfo);
                            Report.Info(deviceInfo);
                            //Report.LogHtml(ReportLevel.Info, "deviceInfo", "<a>deviceInfo</a>");

                            //perform Hub 3.0 device information validation here
                            //Standard specification compliant : DOCSIS 3.0
                            //Hardware version : 10
                            //Software version : 9.1.116V
                            //Cable MAC address : C0:05:C2:00:24:1B
                            //Cable modem serial number : AAAP51770041
                            //System up time : 0 days 17h:38m:47s
                            //Network access : Allowed
                            if (rowNum == 1)
                            {
                                //Standard specification compliant
                                if (devInfoSubstr.Length == 0)
                                {
                                    Report.Failure("	Standard specification compliant  is BLANK 	");
                                }
                                else if (devInfoSubstr.Trim().Equals(argument1.Trim()))
                                {
                                    Report.Success("	Standard specification compliant  	"+ " PASS");
                                }
                                else
                                {
                                    Report.Failure("	Standard specification compliant  	"+ " FAIL");
                                }
                            }
                            else if (rowNum == 2)
                            {
                                //Hardware Version
                                if (devInfoSubstr.Length == 0)
                                {
                                    Report.Failure("	Hardware Version  is BLANK 	");
                                }
                                else if (devInfoSubstr.Trim() == argument2.Trim())
                                {
                                    Report.Success("	Hardware Version  	"+ " PASS");
                                }
                                else
                                {
                                    Report.Failure("	Hardware Version  	"+ " FAIL");
                                }
                            }
                            else if (rowNum == 3)
                            {
                                //Software Version
                                if (devInfoSubstr.Length == 0)
                                {
                                    Report.Failure("	Software Version  is BLANK 	");
                                }
                                else if (devInfoSubstr.Trim() == argument3.Trim())
                                {
                                    Report.Success("	Software Version  	"+ " PASS");
                                }
                                else
                                {
                                    Report.Failure("	Software Version  	"+ " FAIL");
                                }
                            }
                            else if (rowNum == 4)
                            {
                                //MAC Address - C0:05:C2:00:24:1B
                                Report.Info("	devInfoSubstr 	"+ devInfoSubstr);
                                Report.Info(" argument6  " + argument6);
                                if (devInfoSubstr.Length == 0)
                                {
                                    Report.Failure("	MAC Address  is BLANK 	");
                                }
                                else if (devInfoSubstr.Trim() == argument6.Trim())
                                {
                                    Report.Success("	MAC Address  	"+ " PASS");
                                }
                                else
                                {
                                    Report.Failure("	MAC Address  	"+ " FAIL");
                                }
                            }
                            else if (rowNum == 5)
                            {
                                //Cable modem serial number
                                if (devInfoSubstr.Length == 0)
                                {
                                    Report.Failure("	Cable modem serial number  is BLANK 	");
                                }
                                else if (devInfoSubstr.Trim() == argument4.Trim())
                                {
                                    Report.Success("	Cable modem serial number  	"+ " PASS");
                                }
                                else
                                {
                                    //validate Cable modem serial number
                                    Report.Failure("	Cable modem serial number  	"+ " FAIL");
                                }
                            }
                            else if (rowNum == 6)
                            {
                                //System up time
                                if (devInfoSubstr.Length == 0)
                                {
                                    Report.Failure("	System uptime  is BLANK 	");
                                }
                                else
                                {
                                    //Validate system time format
                                    //Report.Info("Need to Validate system time format");
                                    //Report.Failure("	System up time      " + " FAIL");
                                }
                            }
                            else if (rowNum == 7)
                            {
                                //Network access
                                if (devInfoSubstr.Length == 0)
                                {
                                    Report.Failure("	Network access  is BLANK 	");
                                }
                                else if (devInfoSubstr.Trim() == argument5.Trim())
                                {
                                    Report.Success("	Network access  	"+ " PASS");
                                }
                                else
                                {
                                    Report.Failure("	Network access  	"+ " FAIL");
                                }
                            }
                        }

                        colNum++;
                    } // end of COLUMN for-loop
                    rowNum++;
                }     //end of ROW for-loop
            }         //end if IF-ELSE

            // WAN IP settings //
            //MAC address, IPv4 address, default gateway,IPv4 lease time, IPv4 lease expire, IPv4 DNS server

            // "/dom[@domain='192.168.0.1']//div[#'WANIPv4Info']/table"					=> WANIPv4Info --WAN IP settings

            TableTag myTable1 = webDocument.FindSingle("/dom[@domain='192.168.0.1']//div[#'WANIPv4Info']/table");
            //Count the total no of rows
            IList <TrTag> totalDeviceRows1     = myTable1.Find <TrTag>("./tbody//tr");
            int           rulesCount1          = totalDeviceRows1.Count;
            string        totalDeviceInfoRows1 = rulesCount1.ToString() + " : Rows :";

            Report.Info(" Hub 3.0 WAN IP information Rows ", totalDeviceInfoRows1);

            if (rulesCount == 0)
            {
                //Mouse.ScrollWheel(150);
                Report.Failure("Device Info ", "There are no WAN IP information !!");
                return;
            }
            else
            {
                Report.Info(" There are " + totalDeviceInfoRows1 + " in Hub 3.0 WAN IP information !!! ");
                int    rowNum1 = 1;
                string WANIPInfo = "", WANIPInfoCol1 = "", WANInfo = "", WANIPInfoSubstr = "";
                foreach (var row in totalDeviceRows1)
                {
                    //Report.Info("Row: " + rowNum1);
                    //Report.Info(row.GetInnerHtml().ToString());
                    IList <TdTag> cols = row.Find <TdTag>("./td");
                    //Report.Info(" Total Column ", cols.Count.ToString());
                    int colNum1 = 1;
                    foreach (TdTag MacCol in cols)
                    {
                        //Report.Info("MacCol: " + colNum1);
                        if (colNum1 == 1)
                        {
                            WANIPInfoCol1 = MacCol.InnerText;
                            //Report.Info("Col1 Info: "+MacCol.InnerText);
                            //Report.Info("Col1 Info: "+WANIPInfoCol1);
                        }
                        if (colNum1 == 2)
                        {
                            IList <SpanTag> spanVals = MacCol.Find <SpanTag>("./span");
                            foreach (SpanTag spanVal in spanVals)
                            {
                                WANIPInfo       = spanVal.InnerText;
                                WANIPInfoSubstr = WANIPInfo.Substring(1, WANIPInfo.Length - 1);                         // for validation purpose
                                //Report.Info(  "	WANIPInfoSubstr     " + WANIPInfoSubstr);
                            }
                            //Report.Info("Col2 Info: "+WANIPInfo);
                            WANInfo = WANIPInfoCol1 + "		"+ WANIPInfo;
                            //Report.Info( WANIPInfoCol1 + "		" + WANIPInfo);
                            Report.Info(WANInfo);
                            //Report.LogHtml(ReportLevel.Info, "WANInfo", "<a>WANInfo</a>");

                            //perform WAN IP Settings validation here

                            //IPv4 address : 80.2.153.121
                            //Default gateway : 80.2.153.97
                            //IPv4 lease time : 0 days 19h:24m:26s
                            //IPv4 lease expire : 2016-07-01 04:09:29.00
                            //IPv4 DNS servers : 194.168.4.100
                            if (rowNum1 == 1 || rowNum1 == 2 || rowNum1 == 5)
                            {
                                //IP Address Validation
                                if (WANIPInfoSubstr.Length == 0)
                                {
                                    Report.Failure("	InValid IP Address 	");
                                }
                                else
                                {
                                    Boolean CheckIPAddress = CheckIPAddressValid(WANIPInfoSubstr.Trim());                            //Calling CheckIPAddressValid()
                                    if (CheckIPAddress)
                                    {
                                        Report.Success("Valid IP Address");
                                    }
                                    else
                                    {
                                        Report.Failure("InValid IP Address");
                                    }
                                }
                            }
                            else if (rowNum1 == 3)
                            {
                                //IPv4 lease time validation
                                if (WANIPInfoSubstr.Length == 0)
                                {
                                    Report.Failure("	InValid IPv4 lease time 	");
                                }
                                else
                                {
                                    /*
                                     * Boolean CheckDateTime = CheckDateTimeValid(WANIPInfoSubstr.Trim()); //calling CheckDateTimeValid()
                                     * if(CheckDateTime){
                                     *      Report.Success("  Valid IPv4 lease time  ");
                                     * }else{
                                     *      Report.Failure("  InValid IPv4 lease time ");
                                     * }
                                     */
                                    Report.Success(" Valid IPv4 lease time  ");
                                }
                            }
                            else if (rowNum1 == 4)
                            {
                                //string input = "2016-07-15 09:21:27.00";	//"???"
//			                    Report.Info("WANIPInfoSubstr : " , WANIPInfoSubstr);
//			                    Report.Info(WANIPInfoSubstr.Length.ToString());
                                if (WANIPInfoSubstr.Length == 0)
                                {
                                    Report.Failure("	InValid IPv4 lease expire 	");
                                }
                                else
                                {
                                    Boolean CheckDateTime = CheckDateTimeValid(WANIPInfoSubstr.Trim());                             //calling CheckDateTimeValid()
                                    //Boolean CheckDateTime = CheckDateTimeValid("???");
                                    if (CheckDateTime)
                                    {
                                        Report.Success("  Valid IPv4 lease expire  ");
                                    }
                                    else
                                    {
                                        Report.Failure("  InValid IPv4 lease expire ");
                                    }
                                }
                            }                    //end of rowNum1 IF-ELSE
                        }
                        colNum1++;
                    } // end of COLUMN for-loop
                    rowNum1++;
                }     //end of ROW for-loop
            }         //end if IF-ELSE

            /**
             * string addrString = "-200.0.0.1";
             * Boolean CheckIPAddress = CheckIPAddressValid(addrString);//Calling CheckIPAddressValid()
             * if(CheckIPAddress){
             *      Report.Info("Valid IP - CheckIPAddressValid()");
             * }else{
             *      Report.Info("InValid IP - CheckIPAddressValid()");
             * }
             *
             * Boolean checkIP = CheckIPValid(addrString);	//Calling CheckIPValid()
             * if(checkIP){
             *      Report.Info("Valid IP - CheckIPValid()");
             * }else{
             *      Report.Info("InValid IP - CheckIPValid()");
             * }
             **/
            Report.Info("Device Status Info");
            Mouse.ScrollWheel(3);
            Report.Screenshot();
        }
示例#13
0
        public void Choose_Any_DHCP_Reserv_Rule_To_Delete(string argument1, string argument2)
        {
            //argument1 - MAC Address, argument2- IP Address

            //Choose_the _DHCP_Reserv_Rule_To_Delete
            Delay.Seconds(30);
            WebDocument webDocument = "/dom[@domain='192.168.0.1']";
            //Report.Info(webDocument.GetHtml());
            TableTag      myTable             = webDocument.FindSingle("/dom[@domain='192.168.0.1']//table[#'dhcpClientsTable']");
            IList <TrTag> totalDHCPReservList = myTable.Find <TrTag>("./tbody//tr");
            int           rulesCount          = totalDHCPReservList.Count;

            Report.Info("Total Rows in the table :" + rulesCount.ToString());
//	        string totalDHCPReservListStr = "Total Reserv list : "+rulesCount.ToString();
//	        Report.Info("Active DHCP Reserv list ",totalDHCPReservListStr);
            if (rulesCount == 0)
            {
                Report.Failure("DHCP Reserv list ", "There are no active rules to delete !!");
                TestSuite.Current.GetTestCase("Delete_Any_DHCP_Rule").Checked = false;
                return;
            }
            else
            {
                int     rowNum = 1;
                int     delCheck = 0;
                Boolean isMatch = false;
                string  macAddress = "", macAddress1 = "", ipAddress = "", ipAddress1 = "";
                macAddress = argument1;
                ipAddress  = argument2;
                Report.Info("MAC Address to Delete : " + macAddress);
                Report.Info("IP Address tp delete: " + ipAddress);
                foreach (var row in totalDHCPReservList)
                {
                    Report.Info("Row: " + rowNum);
                    Report.Info(row.GetInnerHtml().ToString());
                    IList <TdTag> cols = row.Find <TdTag>("./td");
                    if (cols.Count == 1)
                    {
                        Report.Info("There are no active rules to delete ");
                        TestSuite.Current.GetTestCase("Delete_Any_DHCP_Rule").Checked = false;
                        return;
                    }
                    Report.Info(" There are " + rulesCount.ToString() + " DHCP Rules in the Reserv list !!! ");
                    int colNum = 1;
                    foreach (TdTag MacCol in cols)
                    {
//			            Report.Info("MacCol: " + colNum);
//			            Report.Info("MacCol Info: "+MacCol.InnerText);
                        if (colNum == 1)
                        {
                            //Report.Info(MacCol.InnerText);
                            macAddress1 = MacCol.InnerText;
                            Report.Info("MAC Address in the Reserv list : " + macAddress1);
                        }
                        else if (colNum == 2)
                        {
                            ipAddress1 = MacCol.InnerText;
                            Report.Info("IP Address in the Reserv list : " + ipAddress1);
                        }
                        else if (colNum == 3)
                        {
                            // check if Mac address is matching
//			                Report.Info("----------------- click delete checkbox ------");
                            if (macAddress.Trim() == macAddress1.Trim())
                            {
                                isMatch = true;
                                Report.Info("----------------- Rules Matches !!! ------");
                                String newPath = "";
//			                    Report.Info("delCheck ", delCheck.ToString());
                                newPath = MacCol.GetPath() + "/input[#'dhcpClientsTable-Delete-" + delCheck + "']";
                                Ranorex.InputTag DHCPReservTableDeleteTag = newPath;
                                if (DHCPReservTableDeleteTag.Checked.ToString() == "False")
                                {
                                    Report.Info("----------------- DHCPReservTableDeleteTag will be enabled now ---");
                                    Delay.Seconds(1);
                                    DHCPReservTableDeleteTag.PerformClick();
                                    Report.Screenshot("DHCPReserv_List", row.Element, true);
                                    Delay.Seconds(2);
                                }
                                else
                                {
                                    Report.Info(" DHCPReservTableDeleteTag is already Enabled ");
                                }

                                Report.Success("The following DHCP Reserv rule is deleted permanently !!!");
                                Report.Screenshot("DHCPReserv_List", myTable.Element, false);
                            }
                        }
                        colNum++;
                    }                   // end of for-loop (column)
                    if (isMatch)
                    {
                        break;
                    }
                    rowNum++;
                    delCheck++;                             //counter to select delete checkbox
                }                                           //end of for-loop (row)
                if ((rowNum - 1) == rulesCount && !isMatch) //if rule does not exist
                {
                    Report.Info(" ===== This DHCP Rule does not exist =====");
                    Delay.Seconds(1);
                    Report.Screenshot("DHCPReserv_List", myTable.Element, true);
                }
            }
        }
        public void Choose_Any_MAC_Filtering_To_Delete(string argument1, string argument2, string argument3, string argument4, string argument5, string argument6)
        {
            //This method is to select any MAC filter rules to delete
            //argument1 - MAC Address0, argument2- MAC Address1
            //argument3 - MAC Address3, argument4 - MAC Address4
            //argument5 - MAC Address5

            Delay.Seconds(30);
            WebDocument webDocument = "/dom[@domain='192.168.0.1']";
            //Report.Info(webDocument.GetHtml());
            TableTag myTable = webDocument.FindSingle("/dom[@domain='192.168.0.1']//table[#'macFilterTable']");
            //Count the total no of IPv4 port Filter rules (rows)
            IList <TrTag> totalMACRules       = myTable.Find <TrTag>("./tbody//tr");
            int           rulesCount          = totalMACRules.Count;
            string        totalMACFilterRules = "Total Rules : " + rulesCount.ToString();

            Report.Info("Active MAC  Filter Rules ", totalMACFilterRules);

            if (rulesCount == 0)
            {
                //Mouse.ScrollWheel(150);
                Report.Failure("MAC Filter ", "There are no active rules to delete !!");
                TestSuite.Current.GetTestCase("Delete_Any_MAC_Filtering_Rules").Checked = false;
                return;
            }
            else
            {
                Report.Info(" There are " + totalMACFilterRules + " MAC Filter Rules to delete !!! ");
                int     rowNum = 1;
                int     delCheck = 0;
                Boolean isMatch = false;
                string  macAddress = "", macAddress1 = "";
                macAddress = argument1 + ":" + argument2 + ":" + argument3 + ":" + argument4 + ":" + argument5 + ":" + argument6;
                Report.Info("MAC Address : " + macAddress);
                foreach (var row in totalMACRules)
                {
                    Report.Info("Row: " + rowNum);
                    //Report.Info(row.GetInnerHtml().ToString());
                    IList <TdTag> cols   = row.Find <TdTag>("./td");
                    int           colNum = 1;
                    foreach (TdTag MacCol in cols)
                    {
                        //Report.Info("MacCol: " + colNum);
                        //Report.Info("MacCol Info: "+MacCol.InnerText);
                        if (colNum == 2)
                        {
                            //Report.Info(MacCol.InnerText);
                            macAddress1 = MacCol.InnerText;
                            Report.Info("MAC Address1 : " + macAddress1);
                        }
                        else if (colNum == 4)
                        {
                            // check if Mac address is matching
                            //Report.Info("----------------- click delete checkbox ------");
                            if (macAddress == macAddress1)
                            {
                                isMatch = true;
                                //Report.Info("----------------- Rules Matches !!! ------");
                                String newPath = "";
                                newPath = MacCol.GetPath() + "/input[#'macFilterTable-Delete-" + delCheck + "']";
                                Ranorex.InputTag MACFilterTableDeleteTag = newPath;
                                if (MACFilterTableDeleteTag.Checked.ToString() == "False")
                                {
                                    //Report.Info("----------------- MACFilterTableDeleteTag was False ---");
                                    Delay.Seconds(1);
                                    MACFilterTableDeleteTag.PerformClick();
                                }
                                else
                                {
                                    Report.Info(" MACFilterTableDeleteTag is already Enabled ");
                                }
                                string rst = "The following MACFilter_Filtering rule is deleted permanently !!!";
                                Report.Success(rst);
                                Report.Screenshot("MACFilter_Filtering", row.Element, true);
                            }
                        }
                        colNum++;
                    }                   // end of for-loop (column)
                    if (isMatch)
                    {
                        break;
                    }
                    rowNum++;
                    delCheck++;                             //counter to select delete checkbox
                }                                           //end of for-loop (row)
                if ((rowNum - 1) == rulesCount && !isMatch) //if rule does not exist
                {
                    Report.Info(" ===== This Rule does not exist =====");
                    Delay.Seconds(1);
                    Report.Screenshot("MAC_Filtering", myTable.Element, true);
                }
            }           //end of IF-ELSE
        }