Пример #1
0
def script_click_view(context):
    """Добавляет скрипт на страницу, который показывает место клика"""
    try:
        browser.driver().execute_script(CLICK_VIEW)
    except Exception:
        warn('Не удалось выполнить скрипт отображения места клика.',
             stacklevel=2)
def collect_repos():
    logging.info("start collecting repo urls ...")
    urls = {}

    page.projects_button.should(be.clickable).click()
    projects_url = browser.driver().current_url

    time.sleep(10)
    for project in page.projects:

        # form project dir name
        project_dir = project.get_attribute("href").split("/")[-1].lower()
        urls[project_dir] = []

        project.click()

        repos_url = browser.driver().current_url

        time.sleep(10)
        for repo in page.repos:
            repo.click()
            page.clone_button.click()

            url = page.actual_href_element.should(
                be.visible).get_attribute("value")
            urls[project_dir].append(url)
            logging.info(f"repo url: '{url}' has been collected ...")

            browser.open_url(repos_url)
        browser.open_url(projects_url)

    logging.info("repo collecting has been finished.")
    return urls
Пример #3
0
 def use_forgot_password_link(self, mail, subject_email):
     link = search_email_imap(mail,
                              subject_email,
                              get_for_forgot_password_link,
                              unquote=False).link
     browser.driver().get(link)
     return link
Пример #4
0
def step_impl(context):
    """Проверяет, что все предметы стартрэк"""
    selectors_statTrack = len(browser.driver().find_elements_by_css_selector(
        '.items [cc="item"] .st'))
    selectors_all_item = len(
        browser.driver().find_elements_by_css_selector('.items [cc="item"]'))
    assert selectors_all_item == selectors_statTrack, 'Фильтр по статтрэку отработал некорректно %s != %s' % (
        selectors_all_item, selectors_statTrack)
Пример #5
0
def step_impl(context):
    """Проверяет, что все товары в листинге имеют стикеры"""
    selectors_stickers = len(browser.driver().find_elements_by_css_selector(
        '.items [cc="item"]  .s'))
    selectors_all_item = len(
        browser.driver().find_elements_by_css_selector('.items [cc="item"]'))
    assert selectors_stickers == selectors_all_item, 'Фильтр по стикерам отработал некорректно %s != %s' % (
        selectors_stickers, selectors_all_item)
Пример #6
0
def additional_tab():
    def switch(num=0):
        browser.driver().switch_to.window(browser.driver().window_handles[num])

    browser.driver().execute_script("window.open('');")
    switch(1)
    browser.open_url(CURRENT_SPRINT)
    switch(0)
    yield switch
Пример #7
0
 def screenshot(self, url, file_name):
     print("Capturing", url, "screenshot as", file_name, "...")
     print("before opening")
     browser.open_url(url)
     print("after opening")
     browser.driver().set_window_size(1024, 768)
     print("SAVING HERE:", os.path.join(os.path.dirname(os.path.realpath(__file__)), 'screenshots', file_name))
     browser.driver().get_screenshot_as_file(
         os.path.join(os.path.dirname(os.path.realpath(__file__)), 'screenshots', file_name))
     print("Done.")
def setup_function(request):
    print("\n         >>> Before Function")
    if rerun_controller.is_test_listened(request.node):
        rerun_controller.add_run()
    yield
    if rerun_controller.is_test_listened(request.node):
        if request.node.rep_call.passed:
            rerun_controller.reset_runs()
    browser.driver().delete_all_cookies()
    print("\n         >>> After Function")
Пример #9
0
 def register(auth=PageAuth()):
     email = get_random_email()
     password = get_random_low_string()
     try:
         customer = auth.register(email, password)
         yield {'first_name': customer['first_name'], 'last_name': customer['last_name']}
     except Exception as e:
         print(e)
     finally:
         driver().quit()
Пример #10
0
def test_can_scroll_to_via_js():
    browser.open_url(start_page)
    logging.warning(browser.driver().current_url)
    browser.driver().set_window_size(300, 400)
    link = s("#invisible_link")
    # browser.driver().execute_script("arguments[0].scrollIntoView();", link)
    # - this code does not work because SeleneElement is not JSON serializable, and I don't know the way to fix it
    #   - because all available in python options needs a change to json.dumps call - adding a second parameter to it
    #     and specify a custom encoder, but we can't change this call inside selenium webdriver implementation
    browser.driver().execute_script("arguments[0].scrollIntoView();", link.get_actual_webelement())
    link.click()
Пример #11
0
def add_choice():
    # re-write this code using selene.elements
    __work_area.should(be.visible)
    element(by_css(".loading-bar")).should_not(be.visible)
    chain = ActionChains(browser.driver())
    chain.click_and_hold(__choice_interaction_btn).move_to_element(__work_area).perform()
    chain.release().perform()
Пример #12
0
def pytest_exception_interact(node, call, report):
    driver = node.instance.driver
    allure.attach(
        name='Скриншот',
        body=browser.driver().get_screenshot_as_png(),
        attachment_type=allure.attachment_type.PNG,
    )
Пример #13
0
class Test_Simple:
    driver = browser.driver()

    def setup(m):
        print('\n ****************** START TEST CASE ************** \n')

    def teardown(m):
        print('\n ****************** END TEST KEYS ***************** \n')

    @allure.step("Test case 1")
    @allure.testcase("http://my.tms.org/TESTCASE-1")
    @allure.severity(allure.severity_level.BLOCKER)
    def test_simple(self):
        print('test 1 ')
        open_browser()

    @allure.step("Test case 2")
    @allure.testcase("http://my.tms.org/TESTCASE-2")
    @allure.severity(allure.severity_level.CRITICAL)
    def test_simple_1(self):
        print('test 2 ')
        open_browser()

    @allure.step("Test case 3")
    @allure.testcase("http://my.tms.org/TESTCASE-3")
    @allure.severity(allure.severity_level.NORMAL)
    def test_simple_2(self):
        open_browser()
        print('test 3 ')
        print(browser.driver().title)
        s('error').click()
Пример #14
0
 def test_able_to_authorize_session(self, additional_tab, one_proctor, one_testtaker, one_delivery):
     # Try to start test as TestTaker
     login_page.make_login(one_testtaker.label, one_testtaker.password)
     test_passing_page.select_delivery_for_passing(one_delivery)
     assert test_passing_page.get_delivery_popup_message(
         one_delivery) == "Please wait, authorization in process ..."
     # Authorize test as Proctor
     additional_tab(1)
     login_page.make_login(one_proctor.label, one_proctor.password)
     test_passing_page.open_delivery_monitor(one_delivery)
     test_passing_page.authorize_delivery(one_delivery)
     assert test_passing_page.get_delivery_status(one_delivery) == "Authorized but not started"
     # Check that test authorized
     additional_tab(0)
     browser.driver().refresh()
     login_page.make_login(one_testtaker.label, one_testtaker.password)
     assert test_passing_page.get_delivery_popup_message(one_delivery) == "Authorized, you may proceed"
Пример #15
0
def step_impl(context):
    """Активирует чек бокс про-версия"""
    context.pro_version = s(".trade_container.wrapper").get_attribute(
        'version')
    actions = ActionChains(browser.driver())
    actions.click(
        s(".filter_mobile_container .filter_checkbox_switch [name='proVersion']"
          )).perform()
    sleep(2)
Пример #16
0
def before_all(context):
    if os.environ.get('DOCKER') == "true":
        browser.set_driver(
            webdriver.Remote(
                command_executor='http://selenoid:4444/wd/hub',
                desired_capabilities={
                    "browserName": "chrome",
                    "version": "latest",
                    'chromeOptions': {
                        'args': [
                            '--no-sandbox', '--start-maximized',
                            '--disable-infobars', '--disable-extensions'
                        ],
                        'prefs': {
                            "download.default_directory":
                            "/tmp/downloads",
                            "download.prompt_for_download":
                            False,
                            'profile.default_content_setting_values.automatic_downloads':
                            1
                        }
                    },
                    'enableVNC': True,
                    'screenResolution': '1920x1080x24'
                }))
        browser.driver().set_window_size(1920, 1080)
        context.session_id = browser.driver().session_id
    elif os.environ.get('DOCKER') == "false":
        chrome_options = webdriver.ChromeOptions()
        chrome_options.add_argument('--no-sandbox')
        chrome_options.add_argument('--window-size=1420,1080')
        chrome_options.add_argument('--headless')
        chrome_options.add_argument('--disable-gpu')
        browser.set_driver(webdriver.Chrome(chrome_options=chrome_options))
    else:
        if os.environ.get('BROWSER', 'chrome') == "chrome":
            chromedriver = ChromeDriverManager().install()
            browser.set_driver(
                webdriver.Chrome(executable_path=chromedriver,
                                 chrome_options=capabilities(context)))
            context.session_id = browser.driver().session_id
Пример #17
0
def browser_sign_in() -> str:
    browser.open_url("https://leetcode.com/accounts/login/")

    s('[name="login"]').set(LEETCODE_EMAIL.get())
    s('[name="password"]').set(LEETCODE_PASSWORD.get())

    s("#initial-loading").should_not(be.visible)
    s("#signin_btn").should(be.visible).click()

    s(".storyboard").should(be.visible)

    leetcode_session = driver().get_cookie("LEETCODE_SESSION")

    if leetcode_session is None:
        raise ValueError

    return leetcode_session["value"]
Пример #18
0
def move_to_element(element):
    # if the page is scrolled down we move to element without any action
    action = ActionChains(browser.driver())
    action.move_to_element(element)
    action.perform()
Пример #19
0
def step_impl(context):
    """Удаляет cookies браузера"""
    browser.driver().delete_all_cookies()
    browser.driver().execute_script('window.localStorage.clear();')
Пример #20
0
def step_impl(context):
    """Переключает на последнюю вкладку браузера"""
    tab_list = browser.driver().window_handles
    browser.driver().switch_to.window(tab_list[len(tab_list) - 1])
Пример #21
0
def execute_js(js_string):
    return driver().execute_script(js_string)
Пример #22
0
def given_at_other_page():
    if not satisfied(s("#order_details"), visible):
        driver().get('file://' + os.path.abspath(os.path.dirname(__file__)) + '/../resources/orderapp/order.html')
Пример #23
0
def open_todomvc():
    # todo: refactor to use repo copy of todomvc
    driver().get(TODOMVC_URL)
    WebDriverWait(driver(), config.timeout).until(
        element_to_be_clickable((By.CSS_SELECTOR, "#new-todo")))
Пример #24
0
def teardown_module(m):
    browser.driver().quit()
Пример #25
0
def teardown_function(m):
    driver().quit()
    config.app_host = ''
Пример #26
0
 def get_current_url():
     return driver().current_url
Пример #27
0
def step_impl(context, value):
    """Активирует чек бокс стикеры/стартрэк зависит от {value}"""
    actions = ActionChains(browser.driver())
    actions.click(
        s('.filter_mobile_container .filter_checkbox_switch [name="%s"]' %
          value)).perform()
Пример #28
0
def test_can_wait_for_exact_url():
    open_url(start_page)
    wait_to(url(driver().current_url))
Пример #29
0
import self as self
from selene import config, browser
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.select import Select
from selene.api import s, ss
from selene.browser import open_url, driver
from selene.support.conditions import have

from Exist.object_page_my_orders import MyOrders
from Exist.object_page_persona_cabinet import PersonalCabinet

config.timeout = 4
config.hold_browser_open = False
config.browser_name = 'chrome'
browser.driver()
browser.open_url('https://exist.ua/')

pc = PersonalCabinet()
mo = MyOrders
pc.log_in()
mo.click_my_orders()
time.sleep(15)

# -----------------------------------------------
# office_select = mo.office_list()[0]
# mo.click_office_sale()
# mo.click_select_office_sale(office=office_select)
# mo.click_btn_blue()
# time.sleep(1)
# office = list(set(mo.office_list()))
Пример #30
0
 def teardown():
     driver().quit()