示例#1
0
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()
示例#2
0
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'))
示例#3
0
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)
示例#4
0
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)
示例#5
0
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)
示例#6
0
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'))
示例#7
0
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)
示例#8
0
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)
示例#9
0
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)
示例#10
0
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)
示例#11
0
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
示例#12
0
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()
示例#13
0
    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'))
示例#14
0
    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'))
示例#15
0
def test_can_wait_for_part_of_url():
    visit(start_page)
    wait_to(url_containing("start_page.html"))
示例#16
0
def test_auto_start():
    visit(start_page)
    s("#header").should_have(exact_text("Selene"))
示例#17
0
def test_auto_start_2():
    visit(start_page)
    s("#selene_link").should_have(exact_text("Selene site"))
示例#18
0
def test_can_scroll_to():
    visit(start_page)
    driver().set_window_size(300, 400)
    s("#invisible_link").scroll_to().click()
示例#19
0
def test_can_init_default_browser_on_visit():
    visit(start_page)
    s("#header").should_have(exact_text("Selene"))
示例#20
0
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"))
示例#21
0
def test_can_wait_for_exact_url():
    visit(start_page)
    wait_to(url(driver().current_url))
示例#22
0
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))
示例#23
0
def test_manual_start():
    driver = get_test_driver()
    set_driver(driver)
    visit(start_page)
    s("#header").should_have(exact_text("Selene"))
示例#24
0
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
示例#25
0
def test_should_wait_and_fail_for_incorrect_url():
    config.timeout = 0.1
    with pytest.raises(TimeoutException):
        visit(start_page)
        wait_to(url("xttp:/"))
示例#26
0
 def open(self):
     browser.visit('order.html')
示例#27
0
def setup_module(m):
    config.browser_name = Browser.CHROME
    browser.visit(start_page)