ну вот как всегда только наченешь радоваться, что все работает, как возникает другая проблема (
на странице в таблице только 20 строк, потом кнопка “В конец”.
все новые добавления в таблицу попадают на вторую страницу, соответственно написал условие, что
if (driver.findElements(By.xpath("//таблица/tr")).size() !=20)
{
driver.findElement(By.xpath("//В конец")).click();
}
if (driver.findElements(By.xpath("//таблица/tr")).size() !=20)
не было ;
а вообще это работает так:
когда набирается 20 записей, 21 попадает на страницу 2 и появляется две кнопки “Далее” и “В конец”, потом вторая страница заполняется и так далее.
я чуть облегчил задачу и делаю сразу переход “В конец”, что позволяет мне всегда попадать на страницу где меньше 20 записей ))
а правильнее было бы “Далее” нажимать, но мне этого не сделать, к сожалению, было.
Поставив там где ты указал ; ты просто сделал строчку с if бессмысленной, а клик на кнопку безусловным. Поэтому он и работает всегда.
Зачем тебе этот if вообще, если ты всегда ищешь вновь добавленную строчку на последней странице? Тебе надо проверять наличие кнопки “В конец” и если она есть - кликать на неё. И уже там считать строчки.
Постарайся сам думать, прежде чем на форум писать. Здесь не обучают программированию.
Без программирования, Selenium IDE - предел. Учите джаву, ибо в противном случае вы будете тратить все свое время на исправление технического брака, а не на создание тестов.
У вас первоначальная проблема не с программированием, а с тестированием:
assertEquals(rowCount+1, rowCount2); эта проверка ровным счетом ни о чем. То, что кол-во записей в таблице увеличилось на одну единицу не говорит о том, что функционал добавления записи работает.
2.[quote]я чуть облегчил задачу и делаю сразу переход “В конец”[/quote]
Моделирую ситуацию, когда даже с этим переходом ваш тест будет фейлится: До добавления имеем 40 записей -> кликаем “В коней” -> попадаем на вторую страницу, на которой 20 записей -> добавляем новую запись -> в таблице появляется третья страница, а на второй кол-во записей осталось неизменным.
убрал проверку на сравнение количества записей до и после добавления.
добавил проверку на то, что добавилось именно то, что должно было добавиться, но с пагинаций не могу разобраться.
листать при условии количества записей на странице =20 и переходить “в конец” не верно.
если на последней странице есть 20 записей, то добавленная 21 попадет уже на следующую
но проверять что кнопка “в конец” кликабельна тоже не получается, потому что она кликабельна всегда, даже если страница всего одна.
временно решение, делать клик на “в конец” после добавления новой записи, но хочется сделать грамотно, и за одно научиться как это можно сделать.
какое условие можно прикрутить в моем случае, чтобы попадать на последнюю страницу и там делать проверку на добавление новой записи?
мои мысли. добавить запись, искать запись в таблице, если нет, то клик на “в конец” и assertTrue последнюю ячейку.
написал условие, что если есть запись на странице, проверяй последнюю строку, иначе кликай “в конец” и проверяй последнюю строку там, но клик на кнопку “в конец” почему-то совершается всегда
Если клик на кнопку совершается всегда, значит у тебя неправильное условие в if, либо условие правильное и оно всегда ложно. Что непонятно? Дебаг используй