Как сравнить имя ссылки с URL ссылки (с веб-драйвером Selenium в C #) - PullRequest
0 голосов
/ 13 июня 2019

Я хочу автоматизировать тестирование сайта Sharepoint, чтобы увидеть, ведут ли ссылки к нужному URL.Прямо сейчас я застрял на том, как сделать сравнение.

Я нашел ссылки и поместил их в список.Я новичок в Selenium, поэтому я пробовал все, что мог придумать / Google в выражении if.

IWebElement tableElement = driver.FindElement(By.XPath("//table[@id='skills-table']"));

IList<IWebElement> tableRow = tableElement.FindElements(By.TagName("a"));



            String[] rowTD = new String[tableRow.Count];
            int i = 0;
            foreach (IWebElement element in tableRow)
            {

                rowTD[i++] = element.Text;


                if (element.Text.Equals   ) // Some kind of comparison

                {


                }
            }

По сути, я мог бы просто использовать некоторые идеи о том, как двигаться дальше с этого момента.

Ответы [ 2 ]

0 голосов
/ 18 июня 2019

Большое спасибо за ответ. Я мог бы понять это, и мог бы использовать некоторые комментарии по решению. Решает ли Assert.ReferenceEquals мою проблему? Тест проходит как минимум

        IWebElement tableElement = driver.FindElement(By.XPath("//table[@id='skills-table']"));
        IList<IWebElement> tableRow = tableElement.FindElements(By.XPath(".//a"));

        String[] rowTD = new String[tableRow.Count];
        int i = 0;
        foreach (IWebElement element in tableRow)
        {

            rowTD[i++] = element.Text;
            var URL = element.GetAttribute("href");

            Assert.ReferenceEquals(element.Text, URL);
         }
0 голосов
/ 13 июня 2019
  1. Не думаю, что ваше выражение tableElement.FindElements(By.TagName("a")); вернет вам все вложенные ссылки в таблице, лично я бы предпочел использовать относительный локатор XPath , например:

    IList<IWebElement> tableRow = tableElement.FindElements(By.XPath(".//a"));
    
  2. Если вы хотите получить URL ссылки, вам нужно извлечь href атрибут через IWebElement.GetAttribute () function

    var URL = element.GetAttribute("href");
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...