Я хочу убедиться, что значения суммы трех строк равны первой строке в моей веб-таблице с использованием Selenium C#. Ряды Row3, Row6 & Row8 - PullRequest
0 голосов
/ 03 февраля 2020
IList<IWebElement> rows = _driver.FindElements(By.XPath("//div[@id='data_3']/div/div/div[3]/table/tbody/tr[@class]")); 
for (int i = 1; i <= rows.Count; i++)
{
    IList<IWebElement> columns = _driver.FindElements(By.XPath("//div[@id='data_3']/div/div/div[3]/table/tbody/tr[@class][" + i + "]/td[@class]"));

    for (int j = 1; j <= columns.Count; j++)
    {

    }
}

1 Ответ

0 голосов
/ 06 февраля 2020

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

public int GetRowValue(int rowNumber)
{
    var row = _driver.FindElements(By.XPath("//div[@id='data_3']/div/div/div[3]/table/tbody/tr[@class]"))[rowNumber - 1] // decreased by 1, because if you would like to get first row, it would have 0th index in the array
    var columns = row.FindElements(By.XPath("./td"); // find all tds of the given row.
    int value = 0;
    foreach(var column in columns)
      {
          if (String.IsNullOrEmpty(column.Text)) continue;
          result += Int32.Parse(column.Text);
      }
      return value;
}

С этим вы можете легко проверить, что вы хотите.

var row1Value = GetRowValue(1);
var sum = GetRowValue(3);
sum += GetRowValue(6);
sum += GetRowValue(8)
Assert.Equals(row1Value, sum);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...