Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.mytests;
- import org.junit.Test;
- import org.openqa.selenium.By;
- import static com.codeborne.selenide.Selenide.open;
- import static com.codeborne.selenide.Selenide.$;
- public class TodoMVCTest {
- @Test
- public void testCreateTask() {
- /*
- почитай в FAQ о подборе имен ;)
- */
- /*
- 1 create task1
- 2 create task2
- 3 create task3
- 4 create task4
- */
- 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();
- //5 delete task2
- $(By.xpath("//*[@id='todo-list']/li[2]/div/label")).hover();
- /*
- Насчет икспасов почитай вот это: http://automated-testing.info/t/pomogite-razobratsya-s-problemoj-czikla-v-selenide/10467/8
- если кратко - то в тестах самое важное - это читабельность
- потому что их много, их пишут разные люди, они частно меняются - поэтому по факту нет времени в них вдумываться, они должны
- быть буквально - очевидными
- также обычно лаконичность - первый друг читабельности (если при этом ее, читабельность, не нарушает)
- а икспасы абсолютно не очевидны, громоздки и содержать не нужную информацию (без которой можно обойтись)
- так что переделывай все на цсс ;)
- */
- $(By.xpath("//*[@id='todo-list']/li[2]/div/button")).hover().click();
- /*
- клик и так подефолту делает ховер, поэтому еще раз его делать не нужно
- */
- //6 mark task4 as completed
- $(By.xpath("//*[@id='todo-list']/li[3]/div/label")).hover();
- /*
- задай себе вопрос - зачем реально был нужен ховер в удалении?
- а теперь подумай - разве здесь такая же ситуация?
- почитай в FAQ вдруг что о реализации удаления, если будет не очевидно в чем дело...
- */
- $(By.xpath("//*[@id='todo-list']/li[3]/div/input")).hover().click();
- //7 clear completed
- $(By.xpath("//*[@id='todo-list']/li[3]/div/label")).hover();
- $(By.xpath("//*[@id='todo-list']/li[3]/div/button")).hover().click();
- //8 mark all as completed
- $(By.xpath("//*[@id='todo-list']/li[1]/div/label")).hover();
- $(By.xpath("//*[@id='todo-list']/li[1]/div/input")).hover().click();
- $(By.xpath("//*[@id='todo-list']/li[2]/div/label")).hover();
- $(By.xpath("//*[@id='todo-list']/li[2]/div/input")).hover().click();
- //9 clear completed
- $(By.xpath("//*[@id='todo-list']/li[1]/div/label")).hover();
- $(By.xpath("//*[@id='todo-list']/li[1]/div/button")).hover().click();
- $(By.xpath("//*[@id='todo-list']/li[1]/div/label")).hover();
- $(By.xpath("//*[@id='todo-list']/li[1]/div/button")).hover().click();
- }
- }
- /*
- у тебя во всем тесте нет ни одной явной проверки
- а тест - это ведь не только шаги, а и сравнение актуального результата с ожидаемым ;)
- */
Advertisement
Add Comment
Please, Sign In to add comment