it-swarm.com.ru

Как утверждать, что элементы содержат текст в Selenium, используя JUnit

У меня есть страница, которая, как я знаю, содержит определенный текст в определенном xpath. В Firefox я использую следующий код, чтобы утверждать, что текст присутствует:

assertEquals("specific text", driver.findElement(By.xpath("xpath)).getText());

Я утверждаю шаг 2 в форме и подтверждаю, что определенное вложение было добавлено в форму .. Однако, когда я использую тот же код в Chrome, отображаемый вывод отличается, но содержит конкретный текст. Я получаю следующую ошибку:

org.junit.ComparisonFailure: expected:<[]specific text> but was:<[C:\fakepath\]specific text>

Вместо того, чтобы утверждать что-то верно (именно то, что я ищу), я хотел бы написать что-то вроде:

assert**Contains**("specific text", driver.findElement(By.xpath("xpath)).getText());

Код выше не работает, очевидно, но я не могу найти, как это сделать.

Использование Eclipse, Selenium WebDriver и Java

3
Hugo

Использование:

String actualString = driver.findElement(By.xpath("xpath")).getText();
assertTrue(actualString.contains("specific text"));

Вы также можете использовать следующий подход, используя assertEquals:

String s = "PREFIXspecific text";
assertEquals("specific text", s.substring(s.length()-"specific text".length()));

игнорировать нежелательный префикс из строки. 

12
ROMANIA_engineer

Можно использовать два метода assertEquals и assertTrue . Вот использование

String actualString = driver.findElement(By.xpath("xpath")).getText();

String expectedString = "ExpectedString";

assertTrue(actualString.contains(expectedString));
0
Meenakshi

вы также можете использовать это 

String actualString = driver.findElement (By.xpath ("xpath")). GetText (); Assert.assertTrue (actualString.contains ("конкретный текст"));

0
Vaibhav