Ejemplo n.º 1
0
def batch_add_workman(driver, file_path, remark):
    # 批量发起请假申请
    """

    :param driver:
    :param file_path: 附件路径
    :param remark: 备注信息
    :return:
    """
    into_one_level(driver, '任务面板')
    sleep(1)
    into_one_level(driver, '发起申请')
    get_element(driver, ('xpath', "//div[contains(text(),'请假申请')]")).click()
    sleep(0.5)
    # 请假类型
    element = "//select[@class='form-control input-sm']/option[%s]" % str(
        random.randint(1, 7))
    get_element(driver, ('xpath', element)).click()
    get_element(driver, ('id', 'leaveAdd')).click()
    sleep(0.5)
    for i in range(0, 3):
        elements = "//tr[@data-index='%s']/td/input" % i
        get_element(driver, ('xpath', elements)).click()
        sleep(0.1)
    get_element(driver, ('xpath', "//a[contains(text(),'确定')]")).click()
    setting_input_time(driver)
    get_elements(driver,
                 ('xpath', "//input[@placeholder='选择日期在合同范围内']"))[0].send_keys(
                     get_now_dates())
    get_elements(driver,
                 ('xpath', "//input[@placeholder='选择日期在合同范围内']"))[1].send_keys(
                     get_tomorrow_dates())
    get_element(
        driver,
        ('xpath', "//textarea[@class='form-control']")).send_keys(remark)
    get_element(
        driver,
        ('xpath', "//div[@id='uploadFile']/input")).send_keys(file_path)
    get_element(driver, ('xpath', "//button[contains(text(),'提交申请')]")).click()
    get_element(driver, ('id', "success")).click()
    sleep(1.5)
    into_one_level(driver, '我的任务')
    get_element(driver, ('xpath', "//a[contains(text(),'我发起的')]")).click()
    try:
        get_element(driver,
                    ('xpath', "//button[contains(text(),'请假工作流')]")).click()
        sleep(3)
        get_element(
            driver,
            ('xpath',
             "//*[@id='task-mytask-table']/tbody/tr[1]/td[8]/a")).click()
        assert_element = "//div[@class='tsk-inp col-xs-8' and contains(text(),'%s')]" % remark
        is_element_present(driver, ('xpath', assert_element))
    except Exception as e:
        print(e)
        print('工人已经存在请假工作流,无法继续发起')
        bug_photo(driver)
        assert False
Ejemplo n.º 2
0
def to_apply_for_leave(driver, file_path, remark):
    """

    :param driver:
    :param file_path: 附件路径
    :param remark: 备注
    :return:
    """
    into_one_level(driver, '任务面板')
    sleep(1)
    into_one_level(driver, '发起申请')
    get_element(driver, ('xpath', "//div[contains(text(),'请假申请')]")).click()
    sleep(0.5)
    element = "//select[@class='form-control input-sm']/option[%s]" % str(
        random.randint(1, 7))
    get_element(driver, ('xpath', element)).click()
    get_element(driver, ('id', 'leaveAdd')).click()
    get_element(driver, ('id', 'realname')).send_keys('曹永')
    get_element(driver, ('id', 'realsearch')).click()
    sleep(0.5)
    get_element(
        driver,
        ('xpath', "//*[@id='lay-user-f']/tbody/tr/td[1]/input")).click()
    get_element(driver,
                ('xpath', "//button[contains(text(),'添加至已选')]")).click()
    get_element(driver, ('xpath', "//a[contains(text(),'确定')]")).click()
    setting_input_time(driver)
    get_elements(driver,
                 ('xpath', "//input[@placeholder='选择日期在合同范围内']"))[0].send_keys(
                     get_now_dates())
    get_elements(driver,
                 ('xpath', "//input[@placeholder='选择日期在合同范围内']"))[1].send_keys(
                     get_tomorrow_dates())
    get_element(
        driver,
        ('xpath', "//textarea[@class='form-control']")).send_keys(remark)
    get_element(
        driver,
        ('xpath', "//div[@id='uploadFile']/input")).send_keys(file_path)
    get_element(driver, ('xpath', "//button[contains(text(),'提交申请')]")).click()
    get_element(driver, ('id', "success")).click()
    sleep(2)
    into_one_level(driver, '我的任务')
    get_element(driver, ('xpath', "//a[contains(text(),'我发起的')]")).click()
    try:
        get_element(driver,
                    ('xpath', "//button[contains(text(),'请假工作流')]")).click()
        get_element(
            driver,
            ('xpath',
             "//*[@id='task-mytask-table']/tbody/tr[1]/td[8]/a")).click()
        assert_element = "//div[@class='tsk-inp col-xs-8' and contains(text(),'%s')]" % remark
        assert is_element_present(driver, ('xpath', assert_element))
    except Exception as e:
        print(e)
        bug_photo(driver)
        assert False
Ejemplo n.º 3
0
def personal_certificate(driver, file_path):
    sleep(3)
    try:
        if is_element_present(driver,
                              ('xpath', "//i[@data-target='#mo-book-add']")):
            get_element(driver,
                        ('xpath', "//i[@data-target='#mo-book-add']")).click()
        else:
            get_element(driver,
                        ('xpath', "//div[@data-target='#mo-book']")).click()
            get_element(driver, (
                'xpath',
                "//div[@data-target='#mo-book-add' and contains(text(),'添加证书')]"
            )).click()
        work_type = "//div[1]/div[1]/select[@class='form-control']/option[%s]" % str(
            random.randint(2, 39))
        get_elements(driver, ('xpath', work_type))[0].click()
        certificate_number = random_str() + get_org_no()[:-3]
        get_element(
            driver,
            ('xpath',
             "//input[@placeholder='请输入工种证书号']")).send_keys(certificate_number)
        level_education = "//div[3]/div[1]/select[@class='form-control']/option[%s]" % str(
            random.randint(2, 11))
        get_elements(driver, ('xpath', level_education))[0].click()
        setting_input_time(driver)
        get_element(
            driver,
            ('xpath', "//input[@placeholder='选择日期不得晚于当前日期']")).send_keys(
                get_pass_dates(random.randint(200, 400)))
        get_element(
            driver,
            ('xpath', "//input[@placeholder='选择日期大于等于领证日期']")).send_keys(
                get_pass_dates(random.randint(50, 199)))
        get_element(
            driver,
            ('xpath', "//input[@placeholder='选择日期大于使用开始日期']")).send_keys(
                get_tomorrow_dates())
        get_element(
            driver,
            ('xpath',
             "//div[7]/div[1][@class='col-sm-6']/input")).send_keys('政府')
        if len(get_elements(driver, ('xpath', "//input[@name='file']"))) == 2:
            get_elements(
                driver,
                ('xpath', "//input[@name='file']"))[0].send_keys(file_path)
            get_elements(
                driver,
                ('xpath', "//input[@name='file']"))[1].send_keys(file_path)
        else:
            get_elements(
                driver,
                ('xpath', "//input[@name='file']"))[-2].send_keys(file_path)
            get_elements(
                driver,
                ('xpath', "//input[@name='file']"))[-1].send_keys(file_path)
        # 利用js 获取当前元素位置
        driver.execute_script(
            "arguments[0].scrollIntoView();",
            get_element(driver, ('xpath', "//button[contains(text(),'提交')]")))
        sleep(0.5)
        get_element(driver,
                    ('xpath', "//button[contains(text(),'提交')]")).click()
        element = "//h4[contains(text(),'%s')]" % certificate_number
        assert is_element_present(driver, ('xpath', element)), "添加证书失败"
    except Exception as e:
        print(e)
        bug_photo(driver)
        assert False