Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class TodoMVCTest {
- @Test
- public void testCreateTask(){
- /*
- строки 5-21 в http://pastebin.com/ieY3rwh2
- */
- open("https://todomvc4tasj.herokuapp.com/");
- // 1-4. Task creation
- $("#new-todo").setValue("task1").pressEnter();
- $("#new-todo").setValue("task2").pressEnter();
- $("#new-todo").setValue("task3").pressEnter();
- $("#new-todo").setValue("task4").pressEnter();
- $$("#todo-list li").shouldHave(size(4));
- $$("#todo-list li").shouldHave(exactTexts("task1", "task2", "task3", "task4"));
- /*
- проверки кондишена exactTexts - достаточно
- она проверяет количество, порядок и текст
- см строки 37-43 в http://pastebin.com/ieY3rwh2
- учти это и для проверок во всем коде
- */
- // 5. delete task2
- $(By.cssSelector("#todo-list li:nth-of-type(2)")).hover();
- $(By.cssSelector("#todo-list li:nth-of-type(2) .destroy")).click();
- /*
- используй пропуски строк единообразно
- http://joxi.ru/Vm6Qqxphxg7YLr
- 1 - то не пропускаешь строки после комментария,то пропускаешь
- советую между комметарием и к нему относящимся кодом - не делать пропусков
- пусть пропуски строк отделяют блоки кода
- каждый блок - своя какая-то часть (комментарий+действие(я)+проверка)
- 2 - выравнивай комментарии тоже в одном стиле
- выравнивать на том же уровне с кодом - хорошая идея
- эти мелочи улучшают восприятие кода
- причем существенно
- учти это для всего кода
- *************************************
- сравни
- $(By.cssSelector("#todo-list li:nth-of-type(2)"))
- и
- $("#todo-list li:nth-of-type(2)")
- технически - одно и то же
- но код читается легче - когда он короче
- здесь и в других аналогичных местах - подправь
- */
- $$("#todo-list li").shouldHave(size(3));
- $$("#todo-list li").shouldHave(exactTexts("task1", "task3", "task4"));
- // 6. mark task4 as completed
- $(By.cssSelector("#todo-list li:nth-of-type(3)")).hover();
- $(By.cssSelector("#todo-list li:nth-of-type(3) .toggle")).click();
- /*
- в случае с удалением таски - нам нужно было выполнить hover()
- чтобы кнопка удаления таски стала видимой
- для чекбокса .toggle - такой проблемы нет
- он и так видим
- достаточно просто click() вызывать
- hover() - в данном случае лишнее действие
- комментарий к коду - может быть и проще - complete task4
- старайся вообще ничего лишнего в комментариях не писать
- со временем понадобится поменять сценарий - пространные комментарии дольше менять
- вообще - со временем сможем вообще избавиться от большинства комментариев
- сейчас - ты можешь их как минимум сделать не такими многословными
- некоторые - даже убрать - т к и без того код понятен
- например - нумерацию из комментариев точно стоит убрать
- */
- // 7. clear completed
- $("#clear-completed").click();
- $$("#todo-list li").shouldHave(size(2));
- $$("#todo-list li").shouldHave(exactTexts("task1", "task3"));
- // 8. mark all as completed
- $("#toggle-all").click();
- // 9. clear completed
- $("#clear-completed").click();
- $("#clear-completed").should(disappear);
- /*
- гораздо важнее - что в списке тасок нет ни одной таски теперь
- то, что кнопка clear completed стала не видимой - это конечно факт)
- но гораздо менее важный с точки зрения логики приложения
- главная наша цель - чтобы после нажатия на clear completed - все закомпличеные таски в списке
- были удалены
- тут нужна проверка списка
- где и как делать такие второстепенные по важности проверки - рассмотрим на курсе
- а наш е2е сценарий - лучше не засорять второстепенными вещами
- */
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement