def open_app(self): browser.open('#/') browser.should( have.js_returned( True, 'return Object.keys(require.s.contexts._.defined).length === 39' ))
def visit(self): download_page = "return $._data($('#clear-completed')[0],"\ "'events').hasOwnProperty('click')" browser.open('https://todomvc4tasj.herokuapp.com') browser.should(have.js_returned(True, download_page)) return self
def open_app(): browser.open('https://todomvc4tasj.herokuapp.com/') window_uploaded = "return $._data($('#clear-completed')[0], 'events')" \ ".hasOwnProperty('click') " \ "& " \ "Object.keys(require.s.contexts._.defined).length == 39" browser.should(have.js_returned(True, window_uploaded))
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'))
def test_filter_tasks(self): 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)) browser.wait_to(have.title(u'TroopJS • TodoMVC')) browser.element('#new-todo').should( be.enabled).set_value('a').press_enter() browser.element('#new-todo').should( be.enabled).set_value('b').press_enter() browser.element('#new-todo').should( be.enabled).set_value('c').press_enter() browser.all("#todo-list>li").should(have.texts('a', 'b', 'c')) browser.all("#todo-list>li").element_by( have.exact_text('b')).find(".toggle").click() browser.element(by.link_text("Active")).click() browser.all("#todo-list>li").filtered_by(be.visible).should( have.texts('a', 'c')) browser.element(by.link_text("Completed")).click() browser.all("#todo-list>li").filtered_by(be.visible).should( have.texts('b'))
def test_selene_demo(self): tasks = browser.all("#todo-list>li") active_tasks = tasks.filtered_by(have.css_class("active")) browser.open(app_url) browser.should(have.js_returned(True, is_TodoMVC_loaded)) for task_text in ["1", "2", "3"]: browser.element("#new-todo").set_value(task_text).press_enter() tasks.should(have.texts("1", "2", "3")).should_each(have.css_class("active")) browser.element("#todo-count").should(have.text('3')) tasks[2].element(".toggle").click() active_tasks.should(have.texts("1", "2")) active_tasks.should(have.size(2)) tasks.filtered_by(have.css_class("completed")).should(have.texts("3")) tasks.element_by(not_(have.css_class("completed"))).should( have.text("1")) tasks.filtered_by(not_(have.css_class("completed"))).should( have.texts("1", "2")) browser.element(by.link_text("Active")).click() tasks[:2].should(have.texts("1", "2")) tasks[2].should(be.hidden) browser.element(by.id("toggle-all")).click() browser.element("//*[@id='clear-completed']").click() tasks.should(be.empty)
def visit(): 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')" ))
def visit(self): self.browser.open('http://todomvc4tasj.herokuapp.com/#/') self.browser.should( have.js_returned( True, 'return Object.keys(require.s.contexts._.defined).length === 39;' )) return self
def open_todomvc(): # browser.open('#/') \ # .should(have.js_returned(True, # 'return ($._data($("#clear-completed").get(0), "events")' # '.hasOwnProperty("click") && ' # '(Object.keys(require.s.contexts._.defined).length === 39))')) browser.open('#/') # browser.element('#main').should( # have.attribute('style').value('display: none;') # .or_(have.attribute('style').value('display: block;'))) # browser.element('#main').should(be.in_dom) # .should(have.js_returned(True, # 'return ($._data($("#clear-completed").get(0), "events")' # '.hasOwnProperty("click") && ' # '(Object.keys(require.s.contexts._.defined).length === 39))')) browser.should( have.js_returned( True, '$("#main")[0].style.display === "none" ||' '$("#main")[0].style.display === "block"'))
def test_filter_tasks(self): browser.open(APP_URL) clear_completed_js_loaded = "return $._data($('#clear-completed').get(0), 'events').hasOwnProperty('click')" browser.wait.for_(have.js_returned(True, clear_completed_js_loaded)) browser.element('#new-todo').should( be.enabled).set_value('a').press_enter() browser.element('#new-todo').should( be.enabled).set_value('b').press_enter() browser.element('#new-todo').should( be.enabled).set_value('c').press_enter() browser.all("#todo-list>li").should(have.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.texts('a', 'c')) browser.element(by.link_text("Completed")).click() browser.all("#todo-list>li").filtered_by(be.visible).should( have.texts('b'))
def open(self): browser.open('https://todomvc4tasj.herokuapp.com/') app_wait = "return $._data($('#clear-completed')[0], 'events')"\ ".hasOwnProperty('click')" browser.should(have.js_returned(True, app_wait)) return self
def open_todomvc(): browser.open('') \ .should(have.js_returned(True, 'return ($._data($("#clear-completed").get(0), "events")' '.hasOwnProperty("click") && ' '(Object.keys(require.s.contexts._.defined).length === 39))'))
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 open_todomvc(): # todo: refactor to use repo copy of todomvc browser.open(TODOMVC_URL) browser.wait_until(have.js_returned(True, is_TodoMVC_loaded))
def visit(self): browser.open('https://todomvc4tasj.herokuapp.com/') script_on_clear_completed = "return 'click' in $._data($('#clear-completed')[0],'events')" browser.should(have.js_returned(True, script_on_clear_completed)) return self