Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ua.com.azhytnytskyi.poctask;
- import com.codeborne.selenide.Configuration;
- import com.codeborne.selenide.ElementsCollection;
- import com.codeborne.selenide.SelenideElement;
- import org.junit.Test;
- import static com.codeborne.selenide.CollectionCondition.exactTexts;
- import static com.codeborne.selenide.Condition.exactText;
- import static com.codeborne.selenide.Selenide.$;
- import static com.codeborne.selenide.Selenide.$$;
- import static com.codeborne.selenide.Selenide.open;
- public class TodoMvcTest {
- @Test
- public void completeTask(){
- open("http://todomvc.com/examples/emberjs");
- //Add 3 new tasks and check
- addNewTasks("a","b","c");
- allTasks.shouldHaveSize(3);
- allTasks.shouldHave(exactTexts("a", "b", "c"));
- //Toggle task check
- performToggleAction(getSpecificTaskByIndex(2));
- completedTasks.shouldHave(exactTexts("b"));
- notCompletedTasks.shouldHave(exactTexts("a","c"));
- //Check Completed tab
- openSpecificFooterTab("completed");
- allTasks.shouldHave(exactTexts("b"));
- //Check Active tab
- openSpecificFooterTab("active");
- allTasks.shouldHave(exactTexts("a","c"));
- //Return back to all tasks tab
- openSpecificFooterTab("all");
- //Untoggle task check
- performToggleAction(getSpecificTaskByIndex(2));
- notCompletedTasks.shouldHave(exactTexts("a", "b", "c"));
- //Editing check
- getSpecificTaskByExactText("a").doubleClick();
- $("#todo-list li").find(".edit").setValue("new a").pressEnter();
- //Delete one task check
- getSpecificTaskByExactText("new a").hover().find(".destroy").click();
- allTasks.shouldHave(exactTexts("b", "c"));
- //Toggle All check
- $("#toggle-all").click();
- completedTasks.shouldHave(exactTexts("b","c"));
- //Clear all check
- $("#footer #clear-completed").click();
- }
- private final ElementsCollection allTasks = $$("#todo-list li");
- private final ElementsCollection notCompletedTasks = $$("#todo-list li:not(.completed)");
- private final ElementsCollection completedTasks = $$("#todo-list li.completed");
- private void addNewTasks(String... tasks) {
- for (String task: tasks){
- $("#new-todo").setValue(task).pressEnter();
- }
- }
- private SelenideElement getSpecificTaskByIndex(int index){
- return $("#todo-list li:nth-of-type( " + index + ")");
- }
- private SelenideElement getSpecificTaskByExactText(String text){
- return allTasks.findBy(exactText(text));
- }
- private void openSpecificFooterTab(String tabName){
- $$("#filters li").findBy(exactText(tabName)).click();
- }
- private void performToggleAction(SelenideElement selenideElement){
- selenideElement.find(".toggle").click();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement