yashaka

Untitled

Feb 16th, 2017
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.06 KB | None | 0 0
  1. package ua;                                                                    
  2.                                                                                                
  3. import org.junit.Test;                                                        
  4.                                                                                
  5. import static com.codeborne.selenide.Selenide.*;                              
  6.                                                                                
  7.                                                                                
  8.                                                                                
  9. public class TodoMVCTest {                                                    
  10.  
  11. /*
  12.  везде ниже у тебя проблемы с выравниванием и лишними пустыми строками в конце...
  13.  займись этим. Все должно быть красиво, иначе код сложно читать...
  14.  
  15.  с другой стороны у тебя в коде шагов - не хватает пустых строк - код чильно слитный
  16.  это тоже плохо читается, поэтому поотделяй основные блоки пустыми строками что бы выделить структуру
  17.  и сделать код более читабельным
  18.  */
  19.  
  20.  @Test                                                                
  21.  public void testCreateTask(){  // почитай в FAQ о именах тест методов, это имя неверное,разве ты только создание задач тестируешь?                                      
  22.      open("https://todomvc4tasj.herokuapp.com/");                    
  23.     $("#new-todo").setValue("task1").pressEnter();  //Необходимо ли все действия проверять как в примерах?  
  24.       /* вопрос не понят. Какие ВСЕ? :)
  25.        * а так то у тебя ни одной проверки в тесте нет. А тест ведь это не просто шаги а и проверки.
  26.        * в задании же было сказано - написать автоТЕСТ на основе сценария (шагов) а не просто сценарий шагов перевести на язык джавы...
  27.        */          
  28.      $("#new-todo").setValue("task2").pressEnter();                  
  29.      $("#new-todo").setValue("task3").pressEnter();                  
  30.      $("#new-todo").setValue("task4").pressEnter();                  
  31.       $(".active[data-index='1'] .destroy").click(); // не дописано, не могу понять как правильно обозначить кнопку destroy
  32.       /* в FAQ смотрел? там есть ответ на твой вопрос... там где о удалении задачи речь...
  33.        */
  34.       $(".active[data-index='3'] .toggle[type='checkbox']").click();  
  35.       /*
  36.        * зачем type='checkbox', без этой части оно работать не будет?
  37.        * разве просто .toggle - не достаточно что бы понять что речь идет о элементо который делает "тагл" для задачи? все ведь и так читабельно
  38.          помни о правиле - всегда стремится к лаконичности ради читабельности
  39.          (то есть не стоит делать код еще более лаконичным только если нарушится читабельность)
  40.          дальше...
  41.          data-index - плохой атрибут для определения задач... он не надежный... его значения всегда увеличиваются
  42.          вот удалишь ты задачу, задач станет 3, создашь еще одну - у нее должен по идее снова быть этот атрибут равным 4, а он таки будет 5, ну или что то в таком духе
  43.          в цсс селекторах есть другой способ выбрать элемент по индексу
  44.          ищи: https://www.w3schools.com/cssref/css_selectors.asp
  45.  
  46.          .active - плохой селектор
  47.          с него не понятно о чем речь...
  48.          лучше вообще не привязываться к этим классам... мы же пользователи - просто видим задачи
  49.          а этот класс - это уже дополнительная характеристика задач - то что они активные
  50.          я бы построил более общий селектор, который будет находить все задачи - и активные и комплитед
  51.          и тогда уже от него - можно будет плясать и делать выборки или активных или комплитед...
  52.          (хотя забегая вперед - это будет не нужно... но это уже потом... )
  53.        */
  54.       $("button#clear-completed").click();                            
  55.       $(".active[data-index='0'] .toggle[type='checkbox']").click(); // возможно их можно объеденить
  56.       $(".active[data-index='2'] .toggle[type='checkbox']").click(); // и сделать покороче, если да то как (с $$ и объекты через запятую действие click не подходит)
  57.       /* там же есть специальный чекбокс на юайе который сразу все задачи комплитит. Именно его и нужно было использовать ;)
  58.        */
  59.       $("button#clear-completed").click();                            
  60.      
  61.      
  62.           }      
  63.            
  64.            
  65. }
Advertisement
Add Comment
Please, Sign In to add comment