def test_can_hold_autocreated_browser_open(): config.hold_browser_open = True visit(start_page) webdriver = driver() factory.kill_all_started_drivers() assert factory.is_driver_still_open(webdriver) webdriver.quit()
def test_filter_tasks(): config.browser_name = 'chrome' browser.visit('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) s('#new-todo').set_value('a').press_enter() s('#new-todo').set_value('b').press_enter() s('#new-todo').set_value('c').press_enter() ss('#todo-list li').should(have.exact_texts('a', 'b', 'c')) ss('#todo-list li').element_by( have.exact_text('b')).element('.toggle').click() s(by.link_text('Active')).click() ss('#todo-list li').filtered_by(be.visible).should( have.exact_texts('a', 'c')) s(by.link_text('Completed')).click() ss('#todo-list li').filtered_by(be.visible).should(have.exact_texts('b')) s(by.link_text('All')).click() ss('#todo-list li').filtered_by(be.visible).should( have.exact_texts('a', 'b', 'c'))
def test_can_make_screenshot_with_custom_name(): visit(start_page) actual = take_screenshot(filename="custom") expected = os.path.join(get_default_screenshot_folder(), 'custom.png') assert expected == actual assert os.path.exists(actual)
def test_can_make_screenshot_with_default_name(): visit(start_page) actual = take_screenshot() expected = os.path.join(get_default_screenshot_folder(), 'screen_{id}.png'.format(id=get_screen_id())) assert expected == actual assert os.path.exists(actual)
def test_can_make_screenshot_automatically(): visit(start_page) config.timeout = 0.1 with pytest.raises(TimeoutException) as ex: s("#selene_link").should_have(exact_text("Selen site")) expected = os.path.join(get_default_screenshot_folder(), 'screen_{id}.png'.format(id=get_screen_id())) assert os.path.exists(expected)
def test_filter_tasks(): browser.visit('file://' + os.path.abspath(os.path.dirname(__file__)) + '/../../resources/todomvcapp/home.html') s('#new-todo').should(be.enabled).set_value('a').press_enter() s('#new-todo').should(be.enabled).set_value('b').press_enter() s('#new-todo').should(be.enabled).set_value('c').press_enter() ss("#todo-list>li").should(have.texts('a', 'b', 'c'))
def test_can_get_latest_screenshot_path(): config.screenshot_folder = os.path.dirname( os.path.abspath(__file__)) + '/../../build/screenshots' visit(start_page) with pytest.raises(TimeoutException): s("#s").should_be(visible) picture = latest_screenshot() assert os.path.exists(picture)
def test_can_save_screenshot_to_custom_folder_specified_through_config(): config.screenshot_folder = os.path.dirname( os.path.abspath(__file__)) + '/../../build/screenshots' visit(start_page) actual = take_screenshot() expected = os.path.join(get_default_screenshot_folder(), 'screen_{id}.png'.format(id=get_screen_id())) assert expected == actual assert os.path.isfile(actual) assert os.path.exists(actual)
def test_can_save_screenshot_to_custom_folder_specified_as_parameter(): screenshot_folder = os.path.dirname( os.path.abspath(__file__)) + '/../../build/screenshots' visit(start_page) actual = take_screenshot(path=screenshot_folder) expected = os.path.join(screenshot_folder, 'screen_{id}.png'.format(id=get_screen_id())) assert expected == actual assert os.path.isfile(actual) assert os.path.exists(actual)
def test_can_save_screenshot_to_custom_folder_with_custom_name(): screenshot_folder = os.path.dirname( os.path.abspath(__file__)) + '/../../build/screenshots' visit(start_page) actual = take_screenshot(path=screenshot_folder, filename="custom_file_in_custom_folder") expected = os.path.join(screenshot_folder, 'custom_file_in_custom_folder.png') assert expected == actual assert os.path.isfile(actual) assert os.path.exists(actual)
def test_filter_tasks(): browser.visit('file://' + os.path.abspath(os.path.dirname(__file__)) + '/../../resources/todomvcapp/home.html') s('#new-todo').should(be.enabled).set_value('a').press_enter() s('#new-todo').should(be.enabled).set_value('b').press_enter() s('#new-todo').should(be.enabled).set_value('c').press_enter() config.timeout = 0.5 with pytest.raises(TimeoutException) as ex: ss("#todo-list>li").should(have.size(3)) assert "actual: 6" in ex.value.msg
def setup_function(f): global browser global shaded_browser set_driver(get_test_driver()) visit(TODOMVC_URL) s("#new-todo").should_be(visible) browser = get_test_driver() browser.get(TODOMVC_URL) WebDriverWait(browser, 4).until( expected_conditions.visibility_of_element_located( (By.CSS_SELECTOR, "#new-todo"))) shaded_browser = get_test_driver()
def test_filter_tasks(self): browser.visit(APP_URL) s('#new-todo').should(be.enabled).set_value('a').press_enter() s('#new-todo').should(be.enabled).set_value('b').press_enter() s('#new-todo').should(be.enabled).set_value('c').press_enter() ss("#todo-list>li").should(have.texts('a', 'b', 'c')) ss("#todo-list>li").element_by(exact_text('b')).find(".toggle").click() s(by_link_text("Active")).click() ss("#todo-list>li").filtered_by(be.visible).should(have.texts('a', 'c')) s(by_link_text("Completed")).click() ss("#todo-list>li").filtered_by(be.visible).should(have.texts('b'))
def test_filter_tasks(self): browser.visit('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.wait_to(have.title(u'TroopJS • TodoMVC')) s('#new-todo').should(be.enabled).set_value('a').press_enter() s('#new-todo').should(be.enabled).set_value('b').press_enter() s('#new-todo').should(be.enabled).set_value('c').press_enter() ss("#todo-list>li").should(have.texts('a', 'b', 'c')) ss("#todo-list>li").element_by(exact_text('b')).find(".toggle").click() s(by_link_text("Active")).click() ss("#todo-list>li").filtered_by(be.visible).should(have.texts( 'a', 'c')) s(by_link_text("Completed")).click() ss("#todo-list>li").filtered_by(be.visible).should(have.texts('b'))
def test_can_wait_for_part_of_url(): visit(start_page) wait_to(url_containing("start_page.html"))
def test_auto_start(): visit(start_page) s("#header").should_have(exact_text("Selene"))
def test_auto_start_2(): visit(start_page) s("#selene_link").should_have(exact_text("Selene site"))
def test_can_scroll_to(): visit(start_page) driver().set_window_size(300, 400) s("#invisible_link").scroll_to().click()
def test_can_init_default_browser_on_visit(): visit(start_page) s("#header").should_have(exact_text("Selene"))
def test_can_init_custom_browser_on_visit(): selene.config.browser_name = Browser.CHROME visit(start_page) s("#selene_link").should_have(exact_text("Selene site"))
def test_can_wait_for_exact_url(): visit(start_page) wait_to(url(driver().current_url))
def visit(): browser.visit('file://' + os.path.abspath(os.path.dirname(__file__)) + '/../../../../resources/todomvcapp/home.html') clear_completed_js_loaded = "return $._data($('#clear-completed').get(0), 'events').hasOwnProperty('click')" browser.wait_to(have.js_returned_true(clear_completed_js_loaded))
def test_manual_start(): driver = get_test_driver() set_driver(driver) visit(start_page) s("#header").should_have(exact_text("Selene"))
def test_can_auto_close_browser(): config.hold_browser_open = False visit(start_page) webdriver = driver() factory.kill_all_started_drivers() assert factory.is_driver_still_open(webdriver) is False
def test_should_wait_and_fail_for_incorrect_url(): config.timeout = 0.1 with pytest.raises(TimeoutException): visit(start_page) wait_to(url("xttp:/"))
def open(self): browser.visit('order.html')
def setup_module(m): config.browser_name = Browser.CHROME browser.visit(start_page)