public void testIfEqual(string controll, string testValue, IDocumentGenerator dg)
 {
     writeAfterRead = false;
     string result = read(controll, dg);
     if (result.Equals(testValue))
     {
         dg.BeginMarkup(DocumentMarkupKind.Success);
         dg.PrintText(testValue);
         dg.EndMarkup(DocumentMarkupKind.Success);
     }
     else
     {
         dg.BeginMarkup(DocumentMarkupKind.Fail);
         dg.PrintText(testValue);
         dg.BeginMarkup(DocumentMarkupKind.Emphasis);
         dg.PrintText(" " + result);
         dg.EndMarkup(DocumentMarkupKind.Emphasis);
         dg.EndMarkup(DocumentMarkupKind.Fail);
     }
 }
예제 #2
0
 public override void print(IDocumentGenerator dg, int sectionLevel)
 {
     switch (TextKind)
     {
         case DocTextKind.Plain:
             dg.PrintText(Text);
             break;
         case DocTextKind.Verbatim:
             dg.PrintVerbatimText(Text);
             break;
         default:
             Console.WriteLine("WARNING: unsupported text kind:" + TextKind);
             break;
     }
 }
        public string read(string controll, IDocumentGenerator dg)
        {
            string[] findBy = controll.Split(':', ';');
            IWebElement query;
            IList<IWebElement> queries = new List<IWebElement>();
            for (int i = 0; i < findBy.Count(); i = i + 2)
            {
                string type = findBy[i].Replace(" ", string.Empty);
                string searchsequence = findBy[i + 1];
                if (type.ToLower() == "id")
                {
                    query = webdriver.FindElement(By.Id(searchsequence));
                    break;
                }
                else if (type.ToLower() == "classname")
                {
                    if (queries.Count == 0)
                    {
                        queries = webdriver.FindElements(By.ClassName(searchsequence));
                    }
                    else
                    {
                        queries = queries.Where(webelement => webelement.GetAttribute("class") == searchsequence).ToList();
                    }

                }
                else if (type.ToLower() == "tagname")
                {
                    if (queries.Count == 0)
                    {
                        queries = webdriver.FindElements(By.TagName(searchsequence));
                    }
                    else
                    {
                        queries = queries.Where(webelement => webelement.TagName == searchsequence).ToList();
                    }
                }
                else if (type.ToLower() == "name")
                {
                    if (queries.Count == 0)
                    {
                        queries = webdriver.FindElements(By.Name(searchsequence));
                    }
                    else
                    {
                        queries = queries.Where(webelement => webelement.GetAttribute("name") == searchsequence).ToList();
                    }
                }
            }
            if (queries.Count == 1)
            {
                query = queries.First();
            }
            else if (queries.Count > 0)
            {
                Console.WriteLine("Controll isn't enought specific! The first of the matching elements will be selected");
                query = queries.First();
            }
            else
            {
                throw new NotFoundException();
            }
            if (writeAfterRead)
            {
                dg.PrintText(query.Text);
                return null;
            }
            else
            {
                return query.Text;
            }
        }