Esempio n. 1
0
def get_url(url):
    try:
        driver.get(url)
    except Exception as e:
        err = e
    allure.attach(driver.get_screenshot_as_png(), '跳转url链接错误',
                  allure.attachment_type.PNG)
    raise err
Esempio n. 2
0
def refresh():
    try:
        driver.refresh()
        return
    except Exception as e:
        err = e
    allure.attach(driver.get_screenshot_as_png(), '页面刷新错误',
                  allure.attachment_type.PNG)
    raise err
Esempio n. 3
0
def switch_to_frame(element):
    for i in range(repeat_operation_num):
        try:
            driver.switch_to_frame(find_element(element))
            return
        except Exception as e:
            err = e
        time.sleep(fail_wait_time)
    allure.attach(driver.get_screenshot_as_png(), '切换frame逻辑错误',
                  allure.attachment_type.PNG)
Esempio n. 4
0
def switch_to_window(num=1):
    for i in range(repeat_operation_num):
        try:
            all_handles = driver.window_handles
            driver.switch_to_window(all_handles[num])
            return
        except Exception as e:
            err = e
        time.sleep(fail_wait_time)
    allure.attach(driver.get_screenshot_as_png(), '切换handle逻辑错误',
                  allure.attachment_type.PNG)
Esempio n. 5
0
def drag_and_drop(source, target):
    for i in range(repeat_operation_num):
        try:
            ActionChains(driver).drag_and_drop(source, target).perform()
            return
        except Exception as e:
            err = e
        time.sleep(fail_wait_time)
    allure.attach(driver.get_screenshot_as_png(), '鼠标拖拽事件错误',
                  allure.attachment_type.PNG)
    raise err
Esempio n. 6
0
def double_click(element):
    for i in range(repeat_operation_num):
        try:
            ActionChains(driver).double_click(find_element(element)).perform()
            return
        except Exception as e:
            err = e
        time.sleep(fail_wait_time)
    allure.attach(driver.get_screenshot_as_png(), '鼠标双击事件错误',
                  allure.attachment_type.PNG)
    raise err
Esempio n. 7
0
def send_keys(element, value):
    for i in range(repeat_operation_num):
        try:
            find_element(element).send_keys(value)
            return
        except Exception as e:
            err = e
        time.sleep(fail_wait_time)
    allure.attach(driver.get_screenshot_as_png(), '输入框输入数据错误',
                  allure.attachment_type.PNG)
    raise err
Esempio n. 8
0
def find_elements_elem(elem, element):
    for i in range(repeat_operation_num):
        try:
            if 'xpath' not in element:
                return elem.find_elements_by_css_selector(element)
            else:
                return elem.find_elements_by_xpath(element.split('=>')[-1])
        except Exception as e:
            err = e
    allure.attach(driver.get_screenshot_as_png(), '定位错误',
                  allure.attachment_type.PNG)
    raise err
Esempio n. 9
0
def check_text(element, text):
    for i in range(repeat_operation_num):
        try:
            elem_text = find_element(element).text
            assert text == elem_text
            return
        except Exception as e:
            err = e
        time.sleep(fail_wait_time)
    allure.attach(driver.get_screenshot_as_png(), '检查数据错误',
                  allure.attachment_type.PNG)
    raise err
Esempio n. 10
0
def get_elements_text(element):
    for i in range(repeat_operation_num):
        try:
            elems = find_elements(element)
            texts = []
            for elem in elems:
                text = elem.text
                texts.append(text)
            return texts
        except Exception as e:
            err = e
    allure.attach(driver.get_screenshot_as_png(), '获取元素列表的文本错误',
                  allure.attachment_type.PNG)
    raise err
Esempio n. 11
0
def switch_to_alert(Boole=True):
    for i in range(repeat_operation_num):
        try:
            if Boole:
                driver.swtich_to_alert().accept()
            else:
                driver.switch_to_alert().dismiss()
            return
        except Exception as e:
            err = e
        time.sleep(fail_wait_time)
    allure.attach(driver.get_screenshot_as_png(), '处理警告框逻辑错误',
                  allure.attachment_type.PNG)
    raise err
Esempio n. 12
0
def clear(element=None, e=None):
    assert e or element
    for i in range(repeat_operation_num):
        try:
            if e:
                e.click()
            else:
                find_element(element).clear()
            return
        except Exception as e:
            err = e
        time.sleep(fail_wait_time)
    allure.attach(driver.get_screenshot_as_png(), '输入框清除错误',
                  allure.attachment_type.PNG)
    raise err
Esempio n. 13
0
def attr(key, element=None, e=None):
    assert element or e
    for i in range(repeat_operation_num):
        try:
            if e:
                value = e.get_attribute(key)
                return value
            else:
                value = find_element(element).get_attribute(key)
                return value
        except Exception as e:
            err = e
    allure.attach(driver.get_screenshot_as_png(), '获取元素属性错误',
                  allure.attachment_type.PNG)
    raise err
Esempio n. 14
0
def find_elements(element, wait=wait_time):
    try:
        if 'xpath' not in element:
            elem = WebDriverWait(driver, wait).until(
                EC.visibility_of_any_elements_located(
                    (By.CSS_SELECTOR, element)))
        else:
            elem = WebDriverWait(driver, wait).until(
                EC.visibility_of_any_elements_located(
                    (By.XPATH, element.split('=>')[-1])))
        return elem
    except Exception as e:
        err = e
    time.sleep(fail_wait_time)
    allure.attach(driver.get_screenshot_as_png(), '定位错误',
                  allure.attachment_type.PNG)
    raise err
Esempio n. 15
0
def find_element(element):
    try:
        if 'xpath' not in element:
            elem = WebDriverWait(driver, wait_time).until(
                EC.visibility_of(
                    driver.find_element(by=By.CSS_SELECTOR, value=element)))
        else:
            elem = WebDriverWait(driver, wait_time).until(
                EC.visibility_of(
                    driver.find_element(by=By.XPATH,
                                        value=element.split('=>')[-1])))
        return elem
    except Exception as e:
        err = e
    allure.attach(driver.get_screenshot_as_png(), '定位错误',
                  allure.attachment_type.PNG)
    raise err