Проверка данных таблицы HTML в WebDriver - PullRequest
1 голос
/ 29 января 2012

Может кто-нибудь объяснить мне, как проверить данные в таблице HTML с помощью WebDriver?

HTML похож на ниже .. Мне нужно проверить значения xyz, abcd, 1234, 5678 на веб-странице

<table>
<tr>
<td>xyz</td>
<td>abcd</td>
</tr>
<tr>
<td>1234</td>
<td>5678</td>
</tr>
</table>

Заранее спасибо !!
мра.

Ответы [ 2 ]

1 голос
/ 30 января 2012

Имея в виду вашу выдержку из вопроса:

Мне нужно проверить значения xyz, abcd, 1234, 5678 на веб-странице

Я предлагаю вам попытаться идентифицировать эти значения, используя локаторы, а затем утверждать / проверять их.

В этом примере я использовал XPath (немного многословно для ясности) в качестве стратегии определения местоположения. Надеюсь, это поможет.

    try {
    assertEquals("xyz", driver.findElement(By.xpath("//table//tr[1]/td[1]")).getText());
    } catch (Error e) {
    verificationErrors.append(e.toString());
}
try {
    assertEquals("abcd", driver.findElement(By.xpath("//table//tr[1]/td[2]")).getText());
    } catch (Error e) {
    verificationErrors.append(e.toString());
}
try {
    assertEquals("1234", driver.findElement(By.xpath("//table//tr[2]/td[1]")).getText());
    } catch (Error e) {
    verificationErrors.append(e.toString());
}
try {
    assertEquals("5678", driver.findElement(By.xpath("//table//tr[2]/td[2]")).getText());
    } catch (Error e) {
    verificationErrors.append(e.toString());
}
0 голосов
/ 08 февраля 2012

Ваш подход будет зависеть от того, будет ли эта таблица содержать только 2 строки и 2 столбца.Будут ли строки и столбцы всегда существовать в одном и том же порядке?Если нет, тогда провайдер примера xcode и раньше будет работать, в противном случае вам может понадобиться быть немного более креативным.

Один из подходов, который я использовал ранее для обхода таблицы, похож на этот.

Определите веб-элемент, представляющий вашу таблицу.

WebElement yourTable = driver.findElement(By.tagname("table"));

Затем создайте список веб-элементов, представляющих каждую строку в таблице.

List<WebElement> tableRows = yourTable.findElements(By.tagname("tr");

Наконец, вы можете выполнить циклстрок таблицы, пока вы не найдете нужные данные.

for(int i=0; i<tableRows.size(); i++){
    WebElement row  = tableRows.get(i);
    now do whatever you want with your WebElement that represents a single row of the table;
    }

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...