Столкнулась с проблемой, когда в Thucydides не проходят команды assert
Ситуация следующая. У меня есть страница, на которой мне необходимо запомнить ряд полей для дальнешей их проверки на следующих сраницах
Данные я запоминаю в HashMap, после чего по мере надобности и задачам достаю из HashMap нужные значения и проверяю их присутсвие на других страницах.
И вот на этом этапе Thucydides постоянно выдает ошибку, при том что если запустить тот же самый тест не через Maven+Thucydides, а просто через Junit, то тест проходит без сбоев.
код следующий:
public HashMap<String, String> getData() {
HashMap<String, String> firstAccounts = new HashMap();
firstAccounts.put("field1", getDriver().findElement(By.xpath(локатор)).getText());
firstAccounts.put("field2", getDriver().findElement(By.xpath(локатор)).getText());
и так все необходимые мне в дальнешем данные
После чего я на следующей странице должна проверить, что часть полей присутсвует и данные в нихне изменились:
public void compareSavedAndShownFields(HashMap<String, String> firstAccounts) {
String pageFild1 = getDriver().findElement(By.id("id")).getText();
String pageFild2 = getDriver().findElement(By.xpath("xpath")).getText();
String field1 = firstAccounts.get("pageFild1");
String field2 = firstAccounts.get("pageFild2");
assertThat(pageFild1, containsString(field1));
assertThat(pageFild2, containsString(field2));или же
assert(pageFild1).contains(field1);
assert(pageFild2).contains(field2);
Ни первый, не второй ассершн не проходят. причем обычно при ошибках Thucydides выдает красную надпись на шаге, что ожидался такой-то элемент или строка, а получен такой-то. Здесь же ничего. просто шаг failed и никаких обяхснений. В консоли то же самое.
WARNING: WebDriverException thrown by findElement(By.id: paymentStatusCheckOkMessage)
org.openqa.selenium.ElementNotVisibleException: No element found for By.id: paymentStatusCheckOkMessage (a previous step has failed)
Build info: version: '2.30.0', revision: 'dc1ef9ceb805a672f56dc49198f9ffbd4ca345c7', time: '2013-02-19 09:14:38'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_11'
Driver info: driver.version: unknown
[...]
FAILURE
null
115876 [main] INFO net.thucydides.core.Thucydides -
_____ _____ ____ _____ ____ _____ _ ____ _____
Такое ощущение, что Thucydides плохо работает с HashMap (он, например, выдает бешенные пояснения в отчетах на шагах, где используется HashMap), но сохранять все необходимые данные в String и потом сравнивать строки - увеличивает код раза в три, так как данных для сравнения много...