Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ua;
- import org.junit.Test;
- import static com.codeborne.selenide.Selenide.*;
- public class TodoMVCTest {
- /*
- везде ниже у тебя проблемы с выравниванием и лишними пустыми строками в конце...
- займись этим. Все должно быть красиво, иначе код сложно читать...
- с другой стороны у тебя в коде шагов - не хватает пустых строк - код чильно слитный
- это тоже плохо читается, поэтому поотделяй основные блоки пустыми строками что бы выделить структуру
- и сделать код более читабельным
- */
- @Test
- public void testCreateTask(){ // почитай в FAQ о именах тест методов, это имя неверное,разве ты только создание задач тестируешь?
- open("https://todomvc4tasj.herokuapp.com/");
- $("#new-todo").setValue("task1").pressEnter(); //Необходимо ли все действия проверять как в примерах?
- /* вопрос не понят. Какие ВСЕ? :)
- * а так то у тебя ни одной проверки в тесте нет. А тест ведь это не просто шаги а и проверки.
- * в задании же было сказано - написать автоТЕСТ на основе сценария (шагов) а не просто сценарий шагов перевести на язык джавы...
- */
- $("#new-todo").setValue("task2").pressEnter();
- $("#new-todo").setValue("task3").pressEnter();
- $("#new-todo").setValue("task4").pressEnter();
- $(".active[data-index='1'] .destroy").click(); // не дописано, не могу понять как правильно обозначить кнопку destroy
- /* в FAQ смотрел? там есть ответ на твой вопрос... там где о удалении задачи речь...
- */
- $(".active[data-index='3'] .toggle[type='checkbox']").click();
- /*
- * зачем type='checkbox', без этой части оно работать не будет?
- * разве просто .toggle - не достаточно что бы понять что речь идет о элементо который делает "тагл" для задачи? все ведь и так читабельно
- помни о правиле - всегда стремится к лаконичности ради читабельности
- (то есть не стоит делать код еще более лаконичным только если нарушится читабельность)
- дальше...
- data-index - плохой атрибут для определения задач... он не надежный... его значения всегда увеличиваются
- вот удалишь ты задачу, задач станет 3, создашь еще одну - у нее должен по идее снова быть этот атрибут равным 4, а он таки будет 5, ну или что то в таком духе
- в цсс селекторах есть другой способ выбрать элемент по индексу
- ищи: https://www.w3schools.com/cssref/css_selectors.asp
- .active - плохой селектор
- с него не понятно о чем речь...
- лучше вообще не привязываться к этим классам... мы же пользователи - просто видим задачи
- а этот класс - это уже дополнительная характеристика задач - то что они активные
- я бы построил более общий селектор, который будет находить все задачи - и активные и комплитед
- и тогда уже от него - можно будет плясать и делать выборки или активных или комплитед...
- (хотя забегая вперед - это будет не нужно... но это уже потом... )
- */
- $("button#clear-completed").click();
- $(".active[data-index='0'] .toggle[type='checkbox']").click(); // возможно их можно объеденить
- $(".active[data-index='2'] .toggle[type='checkbox']").click(); // и сделать покороче, если да то как (с $$ и объекты через запятую действие click не подходит)
- /* там же есть специальный чекбокс на юайе который сразу все задачи комплитит. Именно его и нужно было использовать ;)
- */
- $("button#clear-completed").click();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment