SeleniumBase/examples/test_todomvc.py

25 lines
1.1 KiB
Python
Raw Normal View History

2021-10-06 05:33:07 +08:00
from parameterized import parameterized
from seleniumbase import BaseCase
2023-01-15 10:32:43 +08:00
BaseCase.main(__name__, __file__)
2021-10-06 05:33:07 +08:00
class TodoMVC(BaseCase):
2023-05-13 00:45:47 +08:00
@parameterized.expand([["jquery"], ["react"], ["vue"]])
2021-10-06 05:33:07 +08:00
def test_todomvc(self, framework):
self.open("https://todomvc.com/")
self.clear_local_storage()
self.click('a[href="examples/%s"]' % framework)
self.assert_element("section.todoapp")
new_todo_input = "input.new-todo"
todo_count_span = "span.todo-count"
self.type(new_todo_input, "Learn Python\n")
self.type(new_todo_input, "Learn JavaScript\n")
self.type(new_todo_input, "Learn SeleniumBase\n")
self.assert_text("3 items left", todo_count_span)
self.check_if_unchecked("ul.todo-list li input")
self.check_if_unchecked("ul.todo-list li:nth-of-type(2) input")
self.check_if_unchecked("ul.todo-list li:nth-of-type(3) input")
self.assert_text("0 items left", todo_count_span)
self.click('label[for="toggle-all"]')
self.assert_text("3 items left", todo_count_span)