Как проверить, что появилась новая запись в таблице

@joemast много чего непонятно, поэтому прошу помощи

после добавления новой записи в таблицу, я добавил такое условие, если последняя ячейка в последней строке не равна переменной sub, то клик на кнопку В конец, в противном случает игнор условия if и выполнение AssertTrue

почему кликает в любом случае на кнопку В конец?

можно ли условие if использовать без else?

if (!driver.findElement(By.xpath("//div[@id=\"app_page\"]//table/tbody[2]/tr[last()]/td[2]")).equals(sub)) 
 {
  driver.findElement(By.xpath("//button[4]")).click();
   }

assertTrue(sub.contains(driver.findElement(By.xpath("//tbody[2]/tr[last()]/td[2]")).getText()));

если последняя ячейка в последней строке не равна переменной sub, то клик на кнопку В конец, в противном случает игнор условия if и выполнение AssertTrue

у ваv там сейчас если найденный Webelement не равен переменной то click /

Я так понимаю вам нужен текст в webelemente findElement(By.xpath("//div[@id=“app_page”]//table/tbody[2]/tr[last()]/td[2]")) .getText() или getAtribute

можно ли условие if использовать без else? Да у вас в коде так сделано

Начни с изучения Java. Хотя бы научись сам отвечать на вопрос типа [quote=“Lebs, post:22, topic:4391”]
можно ли условие if использовать без else?
[/quote]

Это уж точно не на форуме автотестирования обсуждать

@Lebs вам нужно брать книгу или какие-то курсы в руки учить программирование.
Вот недавно обсуждалась необходимая вам тема

1 лайк

казалось бы, что может быть проще этого условия:
если ячейка содержит текст - проверка, если нет - клик на последнюю страницу и там проверка

но клик идет при любом раскладе (

локатор у условии if проверял, указывает на нужную ячейку, но не обработывает почему-то, а переходит сразу к else

	  if (driver.findElements(By.xpath("//div[@class=\"table\"]//tr[last()]/td[2]")).contains(field)) 
  {
  	assertTrue(field.contains(driver.findElement(By.xpath("//div[@class=\"table\"]//tr[last()]/td[2]")).getText())); 
  }
 
  else
  {
  	driver.findElement(By.xpath("//button[4]")).click();
  	assertTrue(field.contains(driver.findElement(By.xpath("//div[@class=\"table\"]//tr[last()]/td[2]")).getText()));
  }

Потому что у вас не корректное условие, так как нету полного понимания как работает contains и findElement[s].

1 лайк

спасибо, убрал s в findElements и добавил .getText().contains(field))

работает