예제 #1
0
def test_filter_tasks():
    browser.open('https://todomvc4tasj.herokuapp.com')
    clear_completed_js_loaded = "return $._data($('#clear-completed').get(0), 'events').hasOwnProperty('click')"
    browser.wait_to(
        have.js_returned(True, clear_completed_js_loaded),
        timeout=config.timeout * 3,
    )

    browser.element('#new-todo').set_value('a').press_enter()
    browser.element('#new-todo').set_value('b').press_enter()
    browser.element('#new-todo').set_value('c').press_enter()
    browser.all('#todo-list li').should(have.exact_texts('a', 'b', 'c'))

    browser.all('#todo-list li').element_by(
        have.exact_text('b')).element('.toggle').click()
    browser.element(by.link_text('Active')).click()
    browser.all('#todo-list li').filtered_by(be.visible).should(
        have.exact_texts('a', 'c'))

    browser.element(by.link_text('Completed')).click()
    browser.all('#todo-list li').filtered_by(be.visible).should(
        have.exact_texts('b'))

    browser.element(by.link_text('All')).click()
    browser.all('#todo-list li').filtered_by(be.visible).should(
        have.exact_texts('a', 'b', 'c'))
예제 #2
0
def test_complete_todo():
    browser.open('http://todomvc.com/examples/emberjs/')

    browser.element('#new-todo').type('a').press_enter()
    browser.element('#new-todo').type('b').press_enter()
    browser.element('#new-todo').type('c').press_enter()
    browser.all('#todo-list>li').should(have.exact_texts('a', 'b', 'c'))

    browser.element('#todo-list>li:nth-of-type(2) .toggle').click()
    browser.all('#todo-list>li.completed').should(have.exact_texts('b'))
    browser.all('#todo-list>li:not(.completed)').should(
        have.exact_texts('a', 'c'))
예제 #3
0
def test_add_todo_3_at_new_page_in_fresh_browser(web):
    Settings.reset_driver = True
    assert Settings.reset_driver
    web.open('https://todomvc.com/examples/emberjs/')
    assert not Settings.reset_driver

    web.element('#new-todo').type('c').press_enter()
    web.all('#todo-list>li').should(have.exact_texts('c'))
예제 #4
0
def test_completed_tasks():
    browser.element('[id="new-todo"]').type('a').press_enter()
    browser.element('[id="new-todo"]').type('b').press_enter()
    browser.element('[id="new-todo"]').type('c').press_enter()
    browser.all('#todo-list>li').should(have.exact_texts('a', 'b', 'c'))
    browser.element('#todo-list>li:nth-child(2) .toggle').click()
    browser.element('#todo-list>li:nth-child(2)').should(
        have.css_class('completed'))
    browser.element('#todo-list>li:nth-child(1)').should(
        have.no.css_class('completed'))
    browser.element('#todo-list>li:nth-child(3)').should(
        have.no.css_class('completed'))
예제 #5
0
def test_complete_task():
    # browser.config.driver =
    # browser.config.hook_wait_failure=\
    #     lambda error: TimeoutException(error.msg.replace('file://', ''))
    # browser.config.timeout = 6
    # browser.config.save_screenshot_on_failure = False
    # browser.config.save_page_source_on_failure = False
    browser.open('http://todomvc.com/examples/emberjs/')

    browser.element('#new-todo').type('a').press_enter()
    browser.element('#new-todo').type('b').press_enter()
    browser.element('#new-todo').type('c').press_enter()
    # browser.element('#new-todo').with_(Config(timeout=2)).should(have.value('foo'))
    browser.all('#todo-list>li').should(have.exact_texts('a', 'b', 'c'))

    browser.all('#todo-list>li').element_by(have.exact_text('b'))\
        .element('.toggle').click()
    browser.all('#todo-list>li').filtered_by(have.css_class('completed'))\
        .should(have.exact_texts('b'))
    browser.all('#todo-list>li').filtered_by(have.no.css_class('completed'))\
        .should(have.exact_texts('a', 'c'))
예제 #6
0
from selene import have
from selene.support.shared import browser

# Arrange
browser.open('http://todomvc.com/examples/emberjs/')

# Act
browser.element('[id="new-todo"]').type('listen lesson').press_enter()
browser.element('[id="new-todo"]').type('have a rest').press_enter()
browser.element('[id="new-todo"]').type('do homework').press_enter()

# Assert
browser.all('[id="todo-list"] li').should(
    have.exact_texts('listen lesson', 'have a rest', 'do homework'))
예제 #7
0
 def todos_should_be(self, *with_texts):
     self.todos.should(have.exact_texts(*with_texts))
예제 #8
0
def test_add_todo_4_at_same_page(web):
    web.element('#new-todo').type('d').press_enter()
    web.all('#todo-list>li').should(have.exact_texts('c', 'd'))
예제 #9
0
 def active_todos_should_be(self, *names: str):
     self.todos.filtered_by(have.css_class('active'))\
         .should(have.exact_texts(*names))
     return self
예제 #10
0
 def list_should_be(self, *names: str):
     self.todos.should(have.exact_texts(*names))
     return self
예제 #11
0
def todos_should_be(*with_texts):
    todos.should(have.exact_texts(*with_texts))
예제 #12
0
 def should_have_active(self, *todos: str):
     self.todo_list.filtered_by(be_completed.not_)\
         .should(have.exact_texts(*todos))
     return self
예제 #13
0
def assert_todos(*texts):
    todo_list.should(have.exact_texts(*texts))
def assert_todos(*names) -> None:
    todos.should(have.exact_texts(*names))
예제 #15
0
def test_add_tasks():
    browser.element('#new-todo').type('a').press_enter()
    browser.element('#new-todo').type('b').press_enter()
    browser.element('#new-todo').type('c').press_enter()
    browser.all('#todo-list .view').should(
        have.size(3) and have.exact_texts('a', 'b', 'c'))
예제 #16
0
def test_check_active_tasks():
    browser.all('#todo-list [class=ember-view] .view').should(
        have.size(2) and have.exact_texts('a', 'c'))
예제 #17
0
def test_check_completted_tasks():
    browser.all('#todo-list .completed .view').should(
        have.size(1) and have.exact_texts('b'))
예제 #18
0
def assert_list(*tasks: str):
    todo_list.should(have.exact_texts(*tasks))
예제 #19
0
 def todos_should_be(self, *texts):
     todo_list.should(have.exact_texts(*texts))
     return self
예제 #20
0
 def should_be(self, *texts):
     self._elements().should(have.exact_texts(*texts))
예제 #21
0
 def should_have(self, *todos: str):
     self.todo_list.should(have.exact_texts(*todos))
     return self
예제 #22
0
 def should_have_completed(self, *todos: str):
     self._list.filtered_by(have.css_class('completed')).should(
         have.exact_texts(*todos))
     return self
def should_have(*todos: str):
    todo_list.should(have.exact_texts(*todos))
예제 #24
0
 def should_have_active(self, *todos: str):
     self._list.filtered_by(have.css_class('active')).should(
         have.exact_texts(*todos))
     return self
예제 #25
0
 def should_have_completed(self, *todos: str):
     self.list_.filtered_by(be_completed).should(have.exact_texts(*todos))
     return self
예제 #26
0
from selene import have
from selene.support.shared import browser
from selene.support.shared.jquery_style import s, ss

# ARRANGE
browser.config.hold_browser_open = True
browser.open('http://todomvc.com/examples/emberjs/')

# ACTS
s('[id="new-todo"]').type('Listen Lesson').press_enter()
s('[id="new-todo"]').type('Listen Book').press_enter()
s('[id="new-todo"]').type('Watch TV').press_enter()

# ASSERT
ss('[id="todo-list"] li').should(
    have.exact_texts('Listen Lesson.', 'Listen Book', 'Watch TV'))
예제 #27
0
 def completed_todos_should_be(self, *names: str):
     self.todos.filtered_by(have.css_class('completed'))\
         .should(have.exact_texts(*names))
     return self
from selene import have
from selene.support.shared import browser

browser.config.hold_browser_open = True
browser.open("http://todomvc4tasj.herokuapp.com/")
browser.should(have.js_returned(True, "return $._data($('#clear-completed')[0], 'events').hasOwnProperty('click')"))

# Add
browser.element('#new-todo').type('a').press_enter()
browser.element('#new-todo').type('b').press_enter()
browser.element('#new-todo').type('c').press_enter()
browser.all('#todo-list>li').should(have.exact_texts('a', 'b', 'c'))

# Edit
browser.all('#todo-list>li').element_by(have.exact_text('b')).double_click()
browser.all('#todo-list>li').element_by(have.css_class('editing')).element('.edit').type(' edited').press_enter()

# Complete & Clear
browser.all('#todo-list>li').element_by(have.exact_text('b edited')).element('.toggle').click()
browser.element('#clear-completed').click()
browser.all('#todo-list>li').should(have.exact_texts('a', 'c'))

# Cancel Edit
browser.all('#todo-list>li').element_by(have.exact_text('c')).double_click()
browser.all('#todo-list>li').element_by(have.css_class('editing')).element('.edit').type('to be canceled').press_escape()

# Delete
browser.all('#todo-list>li').element_by(have.exact_text('c')).hover().element('.destroy').click()
browser.all('#todo-list>li').should(have.exact_text('a'))
 def should_be_completed(self, *todos: str):
     self.todo_list.filtered_by(completed) \
         .should(have.exact_texts(*todos))
     return self
예제 #30
0
def test_add_todo_1(web):
    web.open('https://todomvc.com/examples/emberjs/')
    web.element('#new-todo').type('a').press_enter()
    web.all('#todo-list>li').should(have.exact_texts('a'))