Example #1
0
        public void should_add_headings_in_a_header_row_to_the_thead()
        {
            var expected = getExpectedHtml("<tr><th>Heading 1</th><th>Heading 2</th></tr>", null, null);

            var tag = new TableTag();
            var headerRow = tag.AddHeaderRow();
            headerRow.Header().Text("Heading 1");
            headerRow.Header("Heading 2");
            tag.ToString().ShouldEqual(expected);
        }
Example #2
0
        public void check_thead_tbody_tfoot_access()
        {
            var expected = "<table><thead class=\"header\"></thead><tfoot class=\"footer\"></tfoot><tbody class=\"body\"></tbody></table>";

            var table = new TableTag();
            table.THead.AddClass("header");
            table.TBody.AddClass("body");
            table.TFoot.AddClass("footer").Render(true);

            System.Diagnostics.Trace.TraceInformation(table.ToString());
            table.ToString().ShouldEqual(expected);
        }
Example #3
0
        public void add_caption_always_puts_the_caption_at_top()
        {
            var tag = new TableTag();
            tag.CaptionText("some caption");

            tag.Children[0].Text().ShouldEqual("some caption");
            tag.Children[0].TagName().ShouldEqual("caption");

            tag.CaptionText().ShouldEqual("some caption");

            tag.CaptionText("other caption");
            tag.CaptionText().ShouldEqual("other caption");

            tag.Children.Count(x => x.TagName() == "caption").ShouldEqual(1);
        }
Example #4
0
        public void should_add_cells_to_rows_in_the_tbody()
        {
            var expected = getExpectedHtml(null,
                                           "<tr><td>cell 1</td><td>cell 2</td></tr><tr><td>cell 3</td><td>cell 4</td></tr>",
                                           null);

            var tag = new TableTag();
            var bodyRow1 = tag.AddBodyRow();
            bodyRow1.Cell().Text("cell 1");
            bodyRow1.Cell("cell 2");
            var bodyRow2 = tag.AddBodyRow();
            bodyRow2.Cell("cell 3");
            bodyRow2.Cell("cell 4");
            tag.ToString().ShouldEqual(expected);
        }
Example #5
0
 /// <summary>
 /// 保存安全生产许可
 /// </summary>
 /// <param name="table"></param>
 /// <param name="id"></param>
 /// <param name="url"></param>
 private void AddCorpSecLic(TableTag table, string id, string url)
 {
     for (int i = 1; i < table.RowCount; i++)
     {
         TableRow tr = table.Rows[i];
         string   SecLicCode = string.Empty, SecLicDesc = string.Empty, ValidStartDate = string.Empty, ValidStartEnd = string.Empty, SecLicUnit = string.Empty;
         SecLicCode     = tr.Columns[0].ToNodePlainString();
         ValidStartEnd  = tr.Columns[1].ToPlainTextString().GetDateRegex();
         SecLicUnit     = tr.Columns[2].ToNodePlainString();
         ValidStartDate = tr.Columns[3].ToPlainTextString().GetDateRegex();
         if (string.IsNullOrEmpty(SecLicCode) && string.IsNullOrEmpty(ValidStartEnd) && string.IsNullOrEmpty(SecLicUnit) && string.IsNullOrEmpty(ValidStartDate))
         {
             continue;
         }
         CorpSecLic seclic = ToolDb.GenCorpSecLic(id, SecLicCode, SecLicDesc, ValidStartDate, ValidStartEnd, SecLicUnit, url);
         ToolDb.SaveEntity(seclic, string.Empty);
     }
 }
Example #6
0
        private void writeProperties(Description description)
        {
            if (description.Properties.Any())
            {
                var table = new TableTag();
                table.AddClass("desc-properties");

                description.Properties.Each((key, value) =>
                {
                    table.AddBodyRow(row =>
                    {
                        row.Header(key);
                        row.Cell(value);
                    });
                });

                Append(table);
            }
        }
Example #7
0
        /// <summary>
        /// 保存资质
        /// </summary>
        /// <param name="noList"></param>
        private void AddQual(TableTag table, string id, string url)
        {
            for (int i = 1; i < table.RowCount; i++)
            {
                TableRow tr = table.Rows[i];
                string   CorpId = string.Empty, QualName = string.Empty, QualCode = string.Empty, QualSeq = string.Empty, qualNum = string.Empty, QualType = string.Empty, QualLevel = string.Empty, ValidDate = string.Empty, LicDate = string.Empty, LicUnit = string.Empty;

                QualCode  = tr.Columns[0].ToNodePlainString();
                QualName  = QualType = tr.Columns[1].ToNodePlainString();
                QualLevel = tr.Columns[2].ToNodePlainString();
                ValidDate = tr.Columns[3].ToPlainTextString().GetDateRegex();
                LicDate   = tr.Columns[4].ToPlainTextString().GetDateRegex();
                LicUnit   = tr.Columns[5].ToNodePlainString();
                qualNum   = QualLevel.GetLevel();

                CorpQual qual = ToolDb.GenCorpQual(id, QualName, QualCode, QualSeq, QualType, QualLevel, ValidDate, LicDate, LicUnit, url, qualNum, "广东省", "佛山市");
                ToolDb.SaveEntity(qual, string.Empty);
            }
        }
        private void Init()
        {
            // Your recording specific initialization code goes here.
            Delay.Seconds(20);
            WebDocument webDocument1 = "/dom[@domain='192.168.0.1']";

            webDocument1.WaitForDocumentLoaded();
//            Delay.Seconds(40);
//            TableTag myTable1 = webDocument1.FindSingle("/dom[@domain='192.168.0.1']//table[#'portTriggeringTable']");
            TableTag myTable1 = webDocument1.FindSingle("/dom[@domain='192.168.0.1']//table[#'PortForwardingTable']"); //R3.11
            ///dom[@domain='192.168.0.1']//table[#'portTriggeringTable']
            //Report.Screenshot("New Port Triggering Rule", myTable.Element,true);

            //highlight the new port triggering rule
            IList <TrTag> rows1 = myTable1.Find <TrTag>("./tbody//tr");

            TotalRows = rows1.Count;
            Report.Info(" TotalRows(Before Add)", TotalRows.ToString());
        }
Example #9
0
        /// <summary>
        /// 保存企业业绩
        /// </summary>
        /// <param name="table"></param>
        /// <param name="id"></param>
        /// <param name="url"></param>
        private void AddCorpResults(TableTag table, string id, string url)
        {
            for (int i = 1; i < table.RowCount; i++)
            {
                string PrjName = string.Empty, PrjCode = string.Empty, BuildUnit = string.Empty, GrantDate = string.Empty, PrjAddress = string.Empty, ChargeDept = string.Empty, PrjClassLevel = string.Empty, PrjClass = string.Empty, BuildArea = string.Empty, InviteArea = string.Empty, ProspUnit = string.Empty, DesignUnit = string.Empty, SuperUnit = string.Empty, ConstUnit = string.Empty, PrjStartDate = string.Empty, PrjEndDate = string.Empty;

                TableRow tr = table.Rows[i];
                PrjName      = tr.Columns[1].ToNodePlainString();
                GrantDate    = tr.Columns[2].ToPlainTextString().GetDateRegex();
                PrjStartDate = tr.Columns[5].ToPlainTextString().Replace("&nbsp;", "");
                if (string.IsNullOrEmpty(PrjName) && string.IsNullOrEmpty(GrantDate) && string.IsNullOrEmpty(PrjStartDate))
                {
                    continue;
                }
                CorpResults result = ToolDb.GenCorpResults(id, PrjName, PrjCode, BuildUnit, GrantDate, PrjAddress, ChargeDept, PrjClassLevel, PrjClass, BuildArea, InviteArea, ProspUnit, DesignUnit, SuperUnit, ConstUnit, PrjStartDate, PrjEndDate, url);

                ToolDb.SaveEntity(result, string.Empty);
            }
        }
Example #10
0
        private void Init()
        {
            // Your recording specific initialization code goes here.
            Delay.Seconds(30);
            WebDocument webDocument1 = "/dom[@domain='192.168.0.1']";

            webDocument1.WaitForDocumentLoaded();
//            Delay.Seconds(30);
            TableTag myTable1 = webDocument1.FindSingle("/dom[@domain='192.168.0.1']//table[#'dhcpClientsTable']"); //dhcpClientsTable
            //dom[@domain='192.168.0.1']//table[#'dhcpClientsTable']
            //Report.Screenshot("New Port Triggering Rule", myTable.Element,true);

            //highlight the new port triggering rule
            IList <TrTag> rows1 = myTable1.Find <TrTag>("./tbody//tr");

            TotalRows = rows1.Count;
            //Report.Info("------Inside Init() of DHCP_Reservation_Add_Reservation -----  " );
            Report.Info("TotalRows(Before):", TotalRows.ToString());
        }
Example #11
0
        public static string WrapInNestedCenteringTable(string htmlString)
        {
            // ReSharper disable StringLiteralTypo
            var emailCenterTable = new TableTag();

            emailCenterTable.Attr("width", "100%");
            emailCenterTable.Attr("border", "0");
            emailCenterTable.Attr("cellspacing", "0");
            emailCenterTable.Attr("cellpadding", "0");
            var emailCenterRow = emailCenterTable.AddBodyRow();

            var emailCenterLeftCell = emailCenterRow.Cell();

            emailCenterLeftCell.Attr("max-width", "1%");
            emailCenterLeftCell.Attr("align", "center");
            emailCenterLeftCell.Attr("valign", "top");
            emailCenterLeftCell.Text("&nbsp;").Encoded(false);

            var emailCenterContentCell = emailCenterRow.Cell();

            emailCenterContentCell.Attr("width", "100%");
            emailCenterContentCell.Attr("align", "center");
            emailCenterContentCell.Attr("valign", "top");

            var emailCenterRightCell = emailCenterRow.Cell();

            emailCenterRightCell.Attr("max-width", "1%");
            emailCenterRightCell.Attr("align", "center");
            emailCenterRightCell.Attr("valign", "top");
            emailCenterRightCell.Text("&nbsp;").Encoded(false);
            // ReSharper restore StringLiteralTypo

            var outerTable = new TableTag();

            emailCenterContentCell.Children.Add(outerTable);
            outerTable.Style("width", "100%");
            outerTable.Style("max-width", "900px");

            outerTable.TBody.Text(htmlString).Encoded(false);

            return(emailCenterTable.ToString());
        }
Example #12
0
 /// <summary>
 /// 第二种页面:数据格式为文本
 /// </summary>
 /// <returns></returns>
 public static string[] GetDataFromText(string link)
 {
     //定义一个数组存放需要的解析数据
     string[] tempData = new string[6];
     try
     {
         //过滤条件:添加第二次筛选条件
         NodeFilter secondFilter   = new AndFilter(new TagNameFilter("div"), new HasAttributeFilter("class", "nrl"));
         NodeList   secondNodeList = GetNodeList(link, secondFilter);
         //获取目标div标签的子节点
         secondNodeList = secondNodeList.ElementAt(0).Children;
         //开始解析需要的数据项
         TableTag targetTable = (TableTag)secondNodeList[0];
         //获取表中的所有行
         TableRow[] tr = targetTable.Rows;
         //标题
         tempData[0] = tr[0].ToPlainTextString().Trim();
         //文章来源及更新时间
         string temp   = tr[1].ToPlainTextString().Trim();
         int    index1 = temp.IndexOf(':');
         int    index2 = temp.LastIndexOf(':');
         tempData[1] = temp.Substring(index1 + 1, 3);
         temp        = temp.Substring(index2 + 1).Trim();
         int year, month, date;
         year        = temp.LastIndexOf('年');
         month       = temp.LastIndexOf('月');
         date        = temp.LastIndexOf('日');
         tempData[2] = temp.Substring(0, year) + "-" + temp.Substring(year + 1, month - year - 1)
                       + temp.Substring(month + 1, date - month - 1);
         //网址
         tempData[3] = link;
         //水位表
         TableColumn[] tc = tr[3].Columns;
         tempData[4] = tc[0].ChildAt(2).ToHtml();
     }
     catch (Exception ex)
     {
         Console.WriteLine("第二层解析出错啦" + ex.Message);
         tempData[5] = "failed";
     }
     return(tempData);
 }
Example #13
0
        public int pfRules_Count()
        {
            Delay.Seconds(15);
            WebDocument webDocument1 = "/dom[@domain='192.168.0.1']";

            webDocument1.WaitForDocumentLoaded();

//            TableTag myTable1 = webDocument1.FindSingle("/dom[@domain='192.168.0.1']//table[#'portTriggeringTable']");
            TableTag      myTable1  = webDocument1.FindSingle("/dom[@domain='192.168.0.1']//table[#'PortForwardingTable']");
            IList <TrTag> rows1     = myTable1.Find <TrTag>("./tbody//tr");
            int           TotalRows = rows1.Count;
            // Report.Info(" Total Rules",TotalRows.ToString());
            int  j           = 1;
            bool isRuleExist = true;

            if (TotalRows > 0)
            {
                IList <TdTag> cols = myTable1.Find <TdTag>("./tbody//td");
                foreach (TdTag col in cols)
                {
                    //if(j == 1 && col.InnerText.StartsWith("No forwarding rule!")){	// R3.6
                    if (j == 1 && col.InnerText.StartsWith("No forwarding rule applied!"))
                    {
                        isRuleExist = false;
                        //return;
                        Report.Info(" There are no active port forwarding rules ");
                        TotalRows = -1;
                        break;
                    }
                    else
                    {
                        isRuleExist = true;
                        break;
                    }
                }
                if (isRuleExist)
                {
                    Report.Info(" Total Rules", TotalRows.ToString());
                }
            }
            return(TotalRows);
        }
Example #14
0
        protected void SaveAttach(string url, string sourceId)
        {
            List <BaseAttach> attach    = new List <BaseAttach>();
            string            htmlAnnex = string.Empty;

            try
            {
                htmlAnnex = this.ToolWebSite.GetHtmlByUrl(url, Encoding.UTF8);
            }
            catch { }
            Parser   dtparser = new Parser(new Lexer(htmlAnnex));
            NodeList dtList   = dtparser.ExtractAllNodesThatMatch(new AndFilter(new HasAttributeFilter("id", "ctl00_ContentPlaceHolder1_GridView1"), new TagNameFilter("table")));

            if (dtList != null && dtList.Count > 0)
            {
                TableTag dttable = dtList[0] as TableTag;
                for (int t = 1; t < dttable.RowCount; t++)
                {
                    ATag file = dttable.SearchFor(typeof(ATag), true)[t - 1] as ATag;
                    if (file.IsAtagAttach())
                    {
                        string aurl = "http://www.szjsjy.com.cn/" + file.Link.Replace("../", "").Replace("./", "");
                        try
                        {
                            BaseAttach entity = ToolHtml.GetBaseAttach(aurl, file.LinkText, sourceId, "SiteManage\\Files\\Attach\\");
                            if (entity != null)
                            {
                                attach.Add(entity);
                            }
                        }
                        catch { }
                    }
                }
            }
            if (attach.Count > 0)
            {
                string delSql = string.Format("delete from BaseAttach where SourceID='{0}'", sourceId);
                ToolFile.Delete(sourceId);
                int count = ToolDb.ExecuteSql(delSql);
                ToolDb.SaveDatas(attach, string.Empty);
            }
        }
Example #15
0
        private bool IsTableBid(TableTag table)
        {
            Parser   tableparser = new Parser(new Lexer(table.ToHtml()));
            NodeList nodeList    = tableparser.ExtractAllNodesThatMatch(new TagNameFilter("table"));

            if (nodeList != null && nodeList.Count > 1)
            {
                return(false);
            }
            for (int i = 0; i < table.RowCount; i++)
            {
                if (table.Rows[i].ToNodePlainString().Contains("中标供应商") ||
                    table.Rows[i].ToNodePlainString().Contains("成交供应商") ||
                    table.Rows[i].ToNodePlainString().Contains("中标单位"))
                {
                    return(true);
                }
            }
            return(false);
        }
        public static TableTag Write(LoggingSession session)
        {
            var table = new TableTag();

            table.AddClass("table");
            table.AddHeaderRow(r =>
            {
                r.Header("Description");
                r.Header("Provenance");
            });

            session.EachLog((target, log) =>
            {
                table.AddBodyRow(row =>
                {
                    row.Add("td", td =>
                    {
                        td.Append(new HtmlTag("h3").Text("Directive: " + PackagingDiagnostics.GetTypeName(target)));
                        td.Append(new HtmlTag("h5").Text("Desc: " + target.ToString()));
                        var time = new HtmlTag("h6").Text(log.TimeInMilliseconds.ToString() + "ms");
                        td.Append(time);
                    });

                    row.Cell(log.Provenance);
                });

                if (log.FullTraceText().IsNotEmpty())
                {
                    table.AddBodyRow(row =>
                    {
                        row.Cell().Attr("colspan", "2").AddClass("log").Add("pre").Text(log.FullTraceText());
                        if (!log.Success)
                        {
                            row.AddClass("failure");
                        }
                    });
                }
            });

            return(table);
        }
Example #17
0
        public HtmlDocument FullLog()
        {
            var table = new TableTag();

            table.AddHeaderRow(r =>
            {
                r.Header("Type");
                r.Header("Description");
                r.Header("Provenance");
                r.Header("Timing");
            });

            PackageRegistry.Diagnostics.EachLog((target, log) =>
            {
                table.AddBodyRow(row =>
                {
                    row.Cell(PackagingDiagnostics.GetTypeName(target));
                    row.Cell(target.ToString());
                    row.Cell(log.Provenance);
                    row.Cell(log.TimeInMilliseconds.ToString()).AddClass("execution-time");
                });

                if (log.FullTraceText().IsNotEmpty())
                {
                    table.AddBodyRow(row =>
                    {
                        row.Cell().Attr("colspan", "4").Add("pre").AddClass("log").Text(log.FullTraceText());
                        if (!log.Success)
                        {
                            row.AddClass("failure");
                        }
                    });
                }
            });

            var document = DiagnosticHtml.BuildDocument(_urls, "Full Package Loading Log", table);



            return(document);
        }
Example #18
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="obTag"></param>
        internal override void ConvertFromTag(ITag obTag)
        {
            base.ConvertFromTag(obTag);

            //
            // Get the rows from table.
            //

            TableTag obTableTag = obTag as TableTag;

            TableRow [] oRows = obTableTag.Rows;
            if (null != oRows)
            {
                Int32 iCount = oRows.Length;
                for (Int32 i = 0; i < iCount; i++)
                {
                    RowData oRowData = new RowData(oRows[i], this);
                    m_Rows.Add(oRowData);
                }
            }
        }
Example #19
0
        public void DealHtml(IList list, string html, bool crawlAll)
        {
            Parser   parserDtl = new Parser(new Lexer(html));
            NodeList aNodes    = parserDtl.ExtractAllNodesThatMatch(new AndFilter(new TagNameFilter("table"), new HasAttributeFilter("id", "ctl00_Content_GridView1")));

            if (aNodes != null && aNodes.Count > 0)
            {
                Type     typs  = typeof(ATag);
                TableTag table = aNodes[0] as TableTag;
                for (int t = 1; t < table.RowCount - 1; t++)
                {
                    string   InfoTitle = string.Empty, InfoType = string.Empty, PublistTime = string.Empty, InfoCtx = string.Empty, InfoUrl = string.Empty, htmlTxt = string.Empty, prjCode = string.Empty;
                    TableRow tr = table.Rows[t] as TableRow;

                    prjCode     = table.Rows[t].Columns[1].ToNodePlainString();
                    InfoTitle   = table.Rows[t].Columns[3].ToPlainTextString().Trim();
                    InfoType    = "变更公示";
                    PublistTime = table.Rows[t].Columns[6].ToPlainTextString().Trim();
                    InfoUrl     = SiteUrl;
                    InfoCtx     = "工程编号:" + table.Rows[t].Columns[1].ToPlainTextString().Trim() + "\n";
                    InfoCtx    += "工程名称:" + table.Rows[t].Columns[2].ToPlainTextString().Trim() + "\n";
                    InfoCtx    += "变更标题:" + table.Rows[t].Columns[3].ToPlainTextString().Trim() + "\n";
                    InfoCtx    += "变更类型:" + table.Rows[t].Columns[4].ToPlainTextString().Trim() + "\n";
                    InfoCtx    += "变更内容:" + table.Rows[t].Columns[5].ToPlainTextString().Trim() + "\n";
                    InfoCtx    += "发布时间:" + table.Rows[t].Columns[6].ToPlainTextString().Trim() + "\n";


                    htmlTxt = InfoCtx;
                    NoticeInfo info = ToolDb.GenNoticeInfo("广东省", "深圳市工程", string.Empty, string.Empty, InfoTitle, InfoType, InfoCtx, PublistTime, string.Empty, "深圳市建设工程交易中心", InfoUrl, prjCode, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, htmlTxt);


                    list.Add(info);

                    if (!crawlAll && list.Count >= this.MaxCount)
                    {
                        return;
                    }
                }
            }
        }
        public void Choose_Manual_Channel_2GHz(string argument1)
        {
            Report.Info("Channel Number(2GHz) : " + argument1);
            int channelNumber = Int32.Parse(argument1.Trim());

            if (channelNumber < 52)
            {
                Delay.Seconds(5);
                WebDocument webDocument = "/dom[@domain='192.168.0.1']";
                //Ranorex.SelectTag protocolTag = webDocument.FindSingle("/dom[@domain='192.168.0.1']//select[#'IPv4ProtocolGrp']");
                //Ranorex.SelectTag protocolTag = webDocument.FindSingle("/dom[@domain='192.168.0.1']//select[#'WirelessMode50']");
                //Ranorex.SelectTag protocolTag = webDocument.FindSingle("/dom[@domain='192.168.0.1']//select[#'WirelessMode24']");
                //Ranorex.SelectTag protocolTag = webDocument.FindSingle("/dom[@domain='192.168.0.1']//select[#'Channel50']");
                Ranorex.SelectTag protocolTag = webDocument.FindSingle("/dom[@domain='192.168.0.1']//select[#'Channel24']");
                //dom[@domain='192.168.0.1']//select[#'WiFi24ChannelBW']
                //dom[@domain='192.168.0.1']//select[#'WiFi50ChannelBW']
                foreach (Ranorex.OptionTag optTag in protocolTag.Find(".//option"))
                {
                    Report.Info(optTag.InnerText);
                    string tempChannel = " Channel " + argument1.Trim();
                    Report.Info("tempChannel : " + tempChannel);
//					if(optTag.InnerText.Trim() == argument1.Trim()){
                    if (optTag.InnerText.Trim() == tempChannel.Trim())
                    {
                        Report.Info("2GHz Matching-True");
                        optTag.Selected = true;
                        break;
                    }
                }
                //captute screen shot
                //TableTag myTable = webDocument.FindSingle("/dom[@domain='192.168.0.1']//table[#'ipv4FilterTable']");
                TableTag table_2GHz = webDocument.FindSingle("/dom[@domain='192.168.0.1']//div[#'WirelessFrequency24GHz']/table");
                Report.Screenshot("Wireless_2.4GHz", table_2GHz.Element, false);
            }
            else
            {
                Report.Info("DFS channel value is >= 52");
                //call another module deal with this
            }
        }
Example #21
0
        /// <summary>
        /// Verify the records in Table
        /// </summary>
        /// <param name="ObjTable">TableTag Object</param>
        /// <param name="strCellData">Values To Verify in Table</param>
        /// <returns>Bool Value</returns>
        public static bool VerifyRecordInTable(TableTag ObjTable, params string[] strCellData)
        {
            bool   flag         = false;
            bool   TestFlag     = false;
            string strCellValue = null;

            try
            {
                foreach (var item in strCellData)
                {
                    foreach (TrTag tr in ObjTable.Find(".//tr"))
                    {
                        foreach (TdTag td in tr.Find(".//td"))
                        {
                            strCellValue = td.InnerText.ToString();
                            if (strCellValue == item.ToString() || strCellValue.Contains(item.ToString()))
                            {
                                flag     = true;
                                TestFlag = true;
                                break;
                            }
                        }
                        if (TestFlag == true)
                        {
                            break;
                        }
                    }
                    if (flag == false)
                    {
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                Report.Info("Fail to VerifyrecordInTable ", ex.Message);
            }
            return(flag);
        }
        void Count_MAC_Filtering_Lists()
        {
            //count total number of port triggering rules
//			Report.Info("---- Count_MAC_Filtering_Lists -----");
            int         TotalRows    = 0;
            WebDocument webDocument1 = "/dom[@domain='192.168.0.1']";

            webDocument1.WaitForDocumentLoaded();
            Delay.Seconds(40);
            //TableTag myTable1 = webDocument1.FindSingle("/dom[@domain='192.168.0.1']//table[#'macAddressFilterTable']");
            TableTag      myTable1 = webDocument1.FindSingle("/dom[@domain='192.168.0.1']//table[#'macFilterTable']");
            IList <TrTag> rows1    = myTable1.Find <TrTag>("./tbody//tr");

            TotalRows = rows1.Count;
            //            if it is just 1 row  need to check if it is an invalid filter
//			Report.Info("---- Total rows : " + TotalRows);
            if (TotalRows == 1)
            {
                IList <TdTag> cols = myTable1.Find <TdTag>("./tbody//td");
                foreach (TdTag MacCol in cols)
                {
                    //Report.Info("Column",j.ToString());
                    Report.Info(MacCol.InnerText);
                    if (MacCol.InnerText.ToString().StartsWith("No MAC filtering rule"))                        //No MAC filtering rule! --R3.8
//						No MAC filtering rule!
                    //Report.Info("No MAC filtering rule exists !!!");
//						Report.Failure("Wireless_Filter ","No MAC filtering rule!!");
                    {
                        Report.Success("Wireless_Filter ", "No MAC filtering rule!!");
                        return;
                    }
                    else
                    {
                        break;
                    }
                }
            }
            Report.Info("MAC_Filtering", TotalRows.ToString());
        }
Example #23
0
        public void smoke_test_document_with_tags()
        {
            var document = new HtmlDocument();

            document.Body.Add("h1").Text("Hello");

            var table = new TableTag();

            table.AddHeaderRow(row =>
            {
                row.Header("a");
                row.Header("b");
            });

            table.AddBodyRow(row =>
            {
                row.Cell("1");
                row.Cell("2");
            });

            Console.WriteLine(document.ToString());
        }
Example #24
0
        public void Choose_Channel_Width_2GHz(string argument1)
        {
            Delay.Seconds(5);
            WebDocument webDocument = "/dom[@domain='192.168.0.1']";

            Report.Info("Protocol(argument1) : " + argument1);
            //Ranorex.SelectTag protocolTag = webDocument.FindSingle("/dom[@domain='192.168.0.1']//select[#'Channel24']");
            Ranorex.SelectTag protocolTag = webDocument.FindSingle("/dom[@domain='192.168.0.1']//select[#'WiFi24ChannelBW']");
            foreach (Ranorex.OptionTag optTag in protocolTag.Find(".//option"))
            {
                Report.Info(optTag.InnerText);
                if (optTag.InnerText.Trim() == argument1.Trim())
                {
                    Report.Info("2_4GHz Matching-True");
                    optTag.Selected = true;
                    break;
                }
            }
            TableTag table_2GHz = webDocument.FindSingle("/dom[@domain='192.168.0.1']//div[#'WirelessFrequency24GHz']/table");

            Report.Screenshot("Wireless_2.4GHz", table_2GHz.Element, false);
        }
Example #25
0
        private HtmlTag tableForSerializer <T>()
        {
            var table = new TableTag();

            table.AddHeaderRow(row =>
            {
                row.Header("Index");
                row.Header("Bulk Insert");
                row.Header("Batch Update");
                row.Header("Command per Document");
            });

            table.AddBodyRow(row =>
            {
                row.Cell("No Index");
                row.Cell(timeFor <T, NoIndexes, BulkInserts>().ToString()).Style("align", "right");
                row.Cell(timeFor <T, NoIndexes, BatchUpdates>().ToString()).Style("align", "right");
                row.Cell(timeFor <T, NoIndexes, MultipleCommands>().ToString()).Style("align", "right");
            });

            table.AddBodyRow(row =>
            {
                row.Cell("Duplicated Field w/ Index");
                row.Cell(timeFor <T, IndexedDuplicatedField, BulkInserts>().ToString()).Style("align", "right");
                row.Cell(timeFor <T, IndexedDuplicatedField, BatchUpdates>().ToString()).Style("align", "right");
                row.Cell(timeFor <T, IndexedDuplicatedField, MultipleCommands>().ToString()).Style("align", "right");
            });

            table.AddBodyRow(row =>
            {
                row.Cell("Gin Index on Json");
                row.Cell(timeFor <T, WithGin, BulkInserts>().ToString()).Style("align", "right");
                row.Cell(timeFor <T, WithGin, BatchUpdates>().ToString()).Style("align", "right");
                row.Cell(timeFor <T, WithGin, MultipleCommands>().ToString()).Style("align", "right");
            });

            return(table);
        }
        public void ModemMode_Device_Info()
        {//validate modem - Hub 3.0 device information
            /*
             * Standard specification compliant: DOCSIS 3.0
             *      Hardware version: 10
             *      Software version: 9.1.116.608
             *      Cable MAC address: C0:05:C2:46:17:0B
             *      Cable modem serial number: AAAP60920652
             *      System up time: 0 days 1h:1m:49s
             *      Network access: Allowed
             */
            Report.Info(" Hub 3.0 device information - Modem Mode ");
//              /dom[@caption='Hub 3.0' and @page='' and @path='/' and @browsername='IE' and @pageurl='http://192.168.100.1/?device_status&mid=Info']//div[#'Hub 3.0 device information']/table
//			common_table_2
            Delay.Seconds(15);
            WebDocument webDocument = "/dom[@domain='192.168.100.1']";
//          TableTag myTable = webDocument.FindSingle("/dom[@caption='Hub 3.0' and @page='' and @path='/' and @browsername='IE' and @pageurl='http://192.168.100.1/?device_status&mid=Info']//div[#'Hub 3.0 device information']//table[#'common_table_2']");
            TableTag      myTable = webDocument.FindSingle("/dom[@caption='Hub 3.0' and @page='' and @path='/' and @browsername='IE' and @pageurl='http://192.168.100.1/?device_status&mid=Info']//div[#'Hub 3.0 device information']/table");
            IList <TrTag> rows    = myTable.Find <TrTag>("./tbody//tr");
            int           rowsCnt = rows.Count;

            Report.Info("Total Rules(RowsCnt)-Now :", rowsCnt.ToString());
        }
        private void Init()
        {
            // Your recording specific initialization code goes here.
            Delay.Seconds(30);
            WebDocument webDocument1 = "/dom[@domain='192.168.0.1']";

            webDocument1.WaitForDocumentLoaded();
            TableTag myTable1 = webDocument1.FindSingle("/dom[@domain='192.168.0.1']//table[#'PortForwardingTable']"); // As per R3.11 (9.1.116BA)
//            TableTag myTable1 = webDocument1.FindSingle("/dom[@domain='192.168.0.1']//table[#'portTriggeringTable']");  //As per R3.5 (9.1.116J)
            //Report.Screenshot("New Port Triggering Rule", myTable.Element,true);


            //highlight the new port triggering rule
            IList <TrTag> rows1 = myTable1.Find <TrTag>("./tbody//tr");

            TotalRows = rows1.Count;
            //Report.Info("------Inside Init()------ TotalRows(init)----- : " ,TotalRows.ToString());
            Report.Info("TotalRules(Before)", TotalRows.ToString());
            IList <TdTag> cols = myTable1.Find <TdTag>("./tbody//td");

            colCnts = cols.Count;
            Report.Info("colCnts :", colCnts.ToString());
        }
Example #28
0
        protected void AddCorpPrompt(CorpInfo info, string infoUrl)
        {
            string htmldtl = string.Empty;

            try
            {
                htmldtl = ToolWeb.GetHtmlByUrl(infoUrl);
            }
            catch { }
            Parser   parser   = new Parser(new Lexer(htmldtl));
            NodeList nodeList = parser.ExtractAllNodesThatMatch(new TagNameFilter("table"));

            if (nodeList != null && nodeList.Count > 0)
            {
                TableTag table = nodeList[0] as TableTag;
                for (int i = 1; i < table.RowCount; i++)
                {
                    if (table.Rows[i].ColumnCount <= 1)
                    {
                        break;
                    }
                    string prov = string.Empty, city = string.Empty, area = string.Empty, corpId = string.Empty, RecordCode = string.Empty, RecordName = string.Empty, RecordInfo = string.Empty, ImplUnit = string.Empty, BeginDate = string.Empty, InfoUrl = string.Empty;
                    bool   IsGood = false;

                    TableRow tr = table.Rows[i];
                    RecordCode = tr.Columns[0].ToNodePlainString();
                    RecordName = tr.Columns[1].ToNodePlainString();
                    RecordInfo = tr.Columns[2].ToNodePlainString();
                    ImplUnit   = tr.Columns[3].ToNodePlainString();
                    BeginDate  = tr.Columns[4].ToPlainTextString().GetDateRegex();

                    CorpPrompt corp = ToolDb.GetCorpPrompt(info.Province, info.City, "", info.Id, RecordCode, RecordName, RecordInfo, ImplUnit, BeginDate, IsGood, infoUrl);

                    ToolDb.SaveEntity(corp, string.Empty);
                }
            }
        }
Example #29
0
        public static TableTag Write(LoggingSession session)
        {
            var table = new TableTag();

            table.AddHeaderRow(r =>
            {
                r.Header("Type");
                r.Header("Description");
                r.Header("Provenance");
                r.Header("Timing");
            });

            session.EachLog((target, log) =>
            {
                table.AddBodyRow(row =>
                {
                    row.Cell(PackagingDiagnostics.GetTypeName(target));
                    row.Cell(target.ToString());
                    row.Cell(log.Provenance);
                    row.Cell(log.TimeInMilliseconds.ToString()).AddClass("execution-time");
                });

                if (log.FullTraceText().IsNotEmpty())
                {
                    table.AddBodyRow(row =>
                    {
                        row.Cell().Attr("colspan", "4").Add("pre").AddClass("log").Text(log.FullTraceText());
                        if (!log.Success)
                        {
                            row.AddClass("failure");
                        }
                    });
                }
            });

            return(table);
        }
        private async Task <CloudTable> GetTableAsync(string name, bool createIfNotExists)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }
            if (!TableNameRgx.IsMatch(name))
            {
                throw new ArgumentException(@"invalid table name: " + name, nameof(name));
            }

            bool cached = TableNameToTableTag.TryGetValue(name, out TableTag tag);

            if (!cached)
            {
                tag = new TableTag
                {
                    Table = _client.GetTableReference(name),
                };
                tag.Exists = await tag.Table.ExistsAsync();

                TableNameToTableTag[name] = tag;
            }

            if (!tag.Exists && createIfNotExists)
            {
                await tag.Table.CreateAsync();

                tag.Exists = true;
            }

            if (!tag.Exists)
            {
                return(null);
            }
            return(tag.Table);
        }
Example #31
0
        /// <summary>
        /// 企业安全许可
        /// </summary>
        /// <param name="info"></param>
        /// <param name="html"></param>
        protected void AddCorpSecLic(CorpInfo info, string html)
        {
            Parser   parser   = new Parser(new Lexer(html));
            NodeList nodeList = parser.ExtractAllNodesThatMatch(new AndFilter(new TagNameFilter("div"), new HasAttributeFilter("id", "aqsc")));

            if (nodeList != null && nodeList.Count > 0)
            {
                parser = new Parser(new Lexer(nodeList.ToHtml().Replace("th", "td")));
                NodeList tableNode = parser.ExtractAllNodesThatMatch(new TagNameFilter("table"));
                if (tableNode != null && tableNode.Count > 0)
                {
                    TableTag table = tableNode[0] as TableTag;
                    for (int i = 1; i < table.RowCount; i++)
                    {
                        TableRow tr = table.Rows[i];
                        if (tr.Columns[0].ToPlainTextString().Contains("没有显示结果"))
                        {
                            break;
                        }

                        string SecLicCode = string.Empty, SecLicDesc = string.Empty, ValidStartDate = string.Empty, ValidStartEnd = string.Empty, SecLicUnit = string.Empty;

                        SecLicCode     = tr.Columns[1].ToNodePlainString();
                        SecLicDesc     = tr.Columns[2].ToNodePlainString();
                        ValidStartDate = tr.Columns[3].ToPlainTextString().GetDateRegex();
                        ValidStartEnd  = tr.Columns[4].ToPlainTextString().GetDateRegex();
                        SecLicUnit     = tr.Columns[5].ToNodePlainString();
                        if (Encoding.Default.GetByteCount(SecLicDesc) > 1000)
                        {
                            SecLicDesc = string.Empty;
                        }
                        CorpSecLic seclic = ToolDb.GenCorpSecLic(info.Id, SecLicCode, SecLicDesc, ValidStartDate, ValidStartEnd, SecLicUnit, info.Url);
                        ToolDb.SaveEntity(seclic, string.Empty);
                    }
                }
            }
        }
Example #32
0
        public void AddExpert(string html, string infourl, string id)
        {
            Parser   parser   = new Parser(new Lexer(html));
            NodeList nodelist = parser.ExtractAllNodesThatMatch(new AndFilter(new HasAttributeFilter("id", "ctl00_ContentPlaceHolder1_GridView1"), new TagNameFilter("table")));

            if (nodelist != null && nodelist.Count > 0)
            {
                string bBidProjectId = string.Empty, bExpertname = string.Empty, bBidtype = string.Empty, bExpertspec = string.Empty,
                       bExpertunit = string.Empty,
                       bRemark = string.Empty, bInfourl = string.Empty, bCreator = string.Empty, bCreatetime = string.Empty, bLastmodifier = string.Empty,
                       bLastmodifytime = string.Empty;
                TableTag table         = nodelist[0] as TableTag;
                for (int i = 1; i < table.RowCount; i++)
                {
                    TableRow tr = table.Rows[i];
                    bExpertname = tr.Columns[0].ToPlainTextString();
                    bBidtype    = tr.Columns[1].ToPlainTextString();
                    bExpertspec = tr.Columns[2].ToPlainTextString();
                    bExpertunit = tr.Columns[3].ToPlainTextString();
                    BidProjectExpert info = ToolDb.GenProjectExpert(id, bExpertname, bBidtype, bExpertspec, bExpertunit, string.Empty, infourl);
                    ToolDb.SaveEntity(info, "");
                }
            }
        }
Example #33
0
        public string ToHtml()
        {
            var table = new TableTag();

            table.AddClass("table");
            table.AddClass("table-striped");
            table.AddHeaderRow(row =>
            {
                row.Header("Details");
                row.Header("Duration (ms)");
                row.Header("Method");
                row.Header("Endpoint");
                row.Header("Status");
                row.Header("Content Type");
            });

            _logs.Each(log =>
            {
                var url = _runtime.BaseAddress.TrimEnd('/') + "/_fubu/#/fubumvc/request-details/" + log.Id;

                table.AddBodyRow(row =>
                {
                    row.Cell().Add("a").Text("Details").Attr("href", url).Attr("target", "_blank");
                    row.Cell(log.ExecutionTime.ToString()).Attr("align", "right");

                    var summary = new HttpRequestSummary(log);
                    row.Cell(summary.method);
                    row.Cell(log.Title());
                    row.Cell(summary.status.ToString());
                    row.Cell(summary.contentType);
                });
            });


            return(table.ToString());
        }
Example #34
0
        public static HtmlTag WriteBehaviorChainTable(IEnumerable <BehaviorChain> chains, params IColumn[] columns)
        {
            var table = new TableTag();

            table.Attr("cellspacing", "0");
            table.Attr("cellpadding", "0");
            table.AddHeaderRow(row =>
            {
                columns.Each(c => row.Header(c.Header()));
            });

            chains.Each(chain =>
            {
                table.AddBodyRow(row =>
                {
                    columns.Each(col =>
                    {
                        col.WriteBody(chain, row, row.Cell());
                    });
                });
            });

            return(table);
        }