Example #1
0
def _send_exit_flow_marker(
        *args, **kwargs):  # for apiritif. remove when compatibiltiy code in
    stage = "stop"  # apiritif removed (http.py) and apiritif released ( > 0.9.2)
    labels = "status", "message"
    values = get_from_thread_store(labels)
    params = dict(zip(labels, values))
    _send_marker(stage, params)
Example #2
0
def _get_timeout():
    timeout = get_from_thread_store("timeout")
    if not (timeout
            or timeout == 0):  # timeout in (None, []), default requires
        timeout = 30

    return timeout
Example #3
0
def _wait_for_opened_window(expected_windows_no, timeout=2):
    driver = _get_driver()
    windows = get_from_thread_store("windows")
    WebDriverWait(driver, timeout).until(econd.number_of_windows_to_be(expected_windows_no))
    windows_after = driver.window_handles
    new_window = [x for x in windows_after if x not in list(windows.values())][0]
    name = "wnd_name_internal_%s" % expected_windows_no    # just any unique name
    windows[name] = new_window
    driver.switch_to.window(new_window)
Example #4
0
def go(url):
    dialogs_replace()
    driver = _get_driver()
    windows = get_from_thread_store("windows")
    wait_for_wnd_open = False
    if len(windows) == 0:
        wait_for_wnd_open = True
    driver.get(url)
    if wait_for_wnd_open:
        WebDriverWait(driver, _get_timeout()).until(econd.number_of_windows_to_be(1))
        windows["wnd_name_internal_0"] = driver.window_handles[0]
Example #5
0
def close_window(window_name=None):
    driver = _get_driver()
    prev_windows = get_from_thread_store("windows")
    prev_no_of_windows = len(prev_windows)
    if window_name:
        switch_window(window_name)
    _get_driver().close()
    WebDriverWait(driver, _get_timeout()).until(econd.number_of_windows_to_be(prev_no_of_windows-1))
    windows_after = driver.window_handles
    closed_window = [x for x in list(prev_windows.values()) if x not in windows_after][0]
    key_list = list(prev_windows.keys())
    val_list = list(prev_windows.values())
    key = key_list[val_list.index(closed_window)]
    del prev_windows[key]
Example #6
0
def _send_start_flow_marker(*args, **kwargs):   # for apiritif. remove when compatibiltiy code in
    stage = "start"                             # apiritif removed (http.py) and apiritif released ( > 0.9.2)

    test_case, test_suite, scenario_name, data_sources = get_from_thread_store(
        ['test_case', 'test_suite', 'scenario_name', 'data_sources']
    )
    params = {
        "testCaseName": test_case,
        "testSuiteName": scenario_name or test_suite}

    if data_sources:
        params["testDataIterationId"] = get_iteration()

    _send_marker(stage, params)
Example #7
0
def _switch_by_win_ser(window_name):
    driver = _get_driver()
    if window_name == "win_ser_local":
        wnd_handlers = driver.window_handles
        if len(wnd_handlers) > 0:
            driver.switch_to.window(wnd_handlers[0])
        else:
            raise NoSuchWindowException("Invalid Window ID: %s" % window_name)
    elif window_name.split("win_ser_")[1].isdigit():  # e.g. win_ser_1
        _switch_by_idx(int(window_name.split("win_ser_")[1]))
    else:
        windows = get_from_thread_store("windows")
        if window_name not in windows:
            windows[window_name] = driver.current_window_handle
        driver.switch_to.window(windows[window_name])
Example #8
0
    def _run_transaction(self):
        apiritif.put_into_thread_store(driver=self.driver,
                                       func_mode=False,
                                       controller=self.controller)
        apiritif.set_transaction_handlers({
            'enter': [self._enter_handler],
            'exit': [self._exit_handler]
        })

        tran = smart_transaction(self.thread_name)
        with tran:
            self.transaction_driver = tran.driver
            self.transaction_controller = tran.controller
            raise Exception(self.exception_message)

        self.message_from_thread_store = apiritif.get_from_thread_store(
            'message')
Example #9
0
def _send_start_flow_marker(
        *args, **kwargs):  # for apiritif. remove when compatibiltiy code in
    stage = "start"  # apiritif removed (http.py) and apiritif released ( > 0.9.2)

    test_case, test_suite, scenario_name, data_sources, action_handlers, driver = get_from_thread_store(
        [
            'test_case', 'test_suite', 'scenario_name', 'data_sources',
            'action_handlers', 'driver'
        ])
    params = {
        "testCaseName": test_case,
        "testSuiteName": scenario_name or test_suite
    }

    if data_sources:
        params["testDataIterationId"] = get_iteration()

    for handler in action_handlers:
        handler.handle(driver.session_id, BaseActionHandler.TEST_CASE_START,
                       params)

    _send_marker(stage, params)
Example #10
0
    def test_setup_teardown_graceful(self):
        error_tests = [
            os.path.join(RESOURCES_DIR, "setup_teardown_graceful.py")
        ]

        outfile = tempfile.NamedTemporaryFile()
        params = Params()
        params.concurrency = 1
        params.iterations = 1
        params.report = outfile.name
        params.tests = error_tests
        params.verbose = True

        worker = Worker(params)
        worker.run_nose(params)

        # todo: fix result of "samples = self.apiritif_extractor.parse_recording(recording, sample)"
        test_result = apiritif.get_from_thread_store('test_result')
        sample = [
            '1. setup1', '2. setup2', '3. main1', '4. main2', '5. teardown1',
            '6. teardown2'
        ]
        self.assertEqual(sample, test_result)
Example #11
0
 def setUp(self):
     (self.vars, self.driver, self.wnd_mng, self.frm_mng) = apiritif.get_from_thread_store()
Example #12
0
def teardown():
    (_, driver, _, _) = apiritif.get_from_thread_store()
    driver.quit()
Example #13
0
def _get_driver():
    return get_from_thread_store("driver")
Example #14
0
def _send_marker(stage, params):
    driver = get_from_thread_store("driver")
    driver.execute_script('/* FLOW_MARKER test-case-%s */' % stage, params)
Example #15
0
 def setUp(self):
     (self.vars, self.target) = apiritif.get_from_thread_store()
Example #16
0
def check_opened_new_window():
    windows = get_from_thread_store("windows")
    try:
        _wait_for_opened_window(len(windows)+1)
    except TimeoutException:
        pass                # OK, the action didn't open a new window
Example #17
0
 def setUp(self):
     self.vars, self.target = apiritif.get_from_thread_store()
Example #18
0
def teardown():
    (_, driver, _, _) = apiritif.get_from_thread_store()
    driver.quit()
Example #19
0
def write(line):
    test_result = apiritif.get_from_thread_store('test_result')
    test_result.append(line)
    apiritif.put_into_thread_store(test_result=test_result)
Example #20
0
 def setUp(self):
     (self.vars, ) = apiritif.get_from_thread_store()
Example #21
0
 def setUp(self):
     (self.vars, self.driver, self.wnd_mng,
      self.frm_mng) = apiritif.get_from_thread_store()
Example #22
0
def open_window(url):
    driver = _get_driver()
    prev_windows = get_from_thread_store("windows")
    driver.execute_script("window.open('%s');" % url)
    _wait_for_opened_window(len(prev_windows)+1, _get_timeout())