Exemple #1
0
    def test_user_defined_close_btn(self):
        '''自定义关闭按钮'''
        menu3 = '表单按钮_自定义关闭按钮'
        Process_approver = ProcessApproverPage(self.driver)
        Process_approver.close_message()  #
        self.open_menu3(menu3)  # 打开三级菜单
        lp = ListViewPage(self.driver)
        # 清空多余数据
        if 0 != lp.get_rows_total():
            lp.clear_all_data()
            lp.add_one_row_div()
        # 无数据时添加一条数据
        if lp.get_rows_total() == 0:
            lp.add_one_row_div()
        # 点击第一条数据
        lp.open_fisrt_doc()

        mp = MainPage(self.driver)
        mp.switch_to_div_iframe()  # 切换到弹出层页面

        btn = ButtonPage(self.driver)
        btn.click_default_btn("自定义关闭")  #点击自定义关闭按钮
        self.assertTrue(lp.is_msg_visiable(), msg='自定义关闭按钮检验不通过')
        msgtitle = lp.is_test_in_msg('自定义关闭成功')
        self.assertTrue(msgtitle, msg='自定义关闭按钮检验不通过')
        lp.wait_loading_hide()  # 等待视图加载完成
        self.assertTrue(mp.div_is_close(), msg='自定义关闭按钮检验不通过')
Exemple #2
0
 def test_flow_start_user_appoint_btn(self):
     '''流程启动用户指定按钮'''
     menu3 = '表单按钮_流程相关'
     Process_approver = ProcessApproverPage(self.driver)
     Process_approver.close_message()
     self.open_menu3(menu3)
     #清数据
     lp = ListViewPage(self.driver)
     if 0 != lp.get_rows_total():
         lp.clear_all_data()
     #新建记录
     btn = ButtonPage(self.driver)
     btn.click_button(btn.new_btn)
     #time.sleep(0.5)
     ip = InputPage(self.driver, '单行文本')
     ip.element.send_keys('保存')
     #点击流程启动用户指定按钮
     btn.click_button(btn.flow_start)
     #time.sleep(0.5)
     mp = MainPage(self.driver)
     #切到iframe
     mp.switch_to_div_iframe()
     #在启动流程界面指定流程并确定
     btn.appoint_flow()
     mp.switch_to_parent()
     mp.switch_to_iframe()
     #time.sleep(0.5)
     msgtitle = lp.is_test_in_msg('成功保存并开启流程')
     self.assertTrue(msgtitle, msg='流程启动用户指定按钮检验不通过')
     btn.click_button(btn.to_return)
     lp.wait_loading_hide()  #表单中
     if 0 != lp.get_rows_total():
         lp.clear_all_data()
Exemple #3
0
 def test_approver_iscript_case(self):
     '''流程审批人for_iscript形式'''
     menu1 = '流程'
     menu2 = '审批人设置'  # 主页打开菜单时使用
     menu3 = ''
     name = "流程审批人设置_通过iscript形式"
     #time.sleep(0.5)
     comp = ProcessApproverPage(self.driver)
     # 判断是否要删除记录
     lp = ListViewPage(self.driver)
     lp.judge_delete(name)
     #李玲新建单据
     self.lilingnew(name)
     #退出当前登录,切换账号并打开菜单记录for视图
     comp.logoff_and_openrecord('weiqiang', '123456', menu1, menu2, menu3,
                                name)
     comp.direct_sumit()  # 直接提交
     #退出切换账号,查看是否有提交按钮
     bb = comp.logoff_and_check_submitbtn('zhangqiang', '123456', menu1,
                                          menu2, menu3, name)
     self.assertEqual("true", bb, msg=name + "检验不通过")
     #time.sleep(0.5)
     #表单是否已归档
     bool = comp.is_filed_for_aftersumbit(name)
     self.assertIsNone(bool, msg=name + "检验不通过")
Exemple #4
0
 def test_save_return_btn(self):
     '''保存并返回按钮'''
     menu3 = '表单按钮_保存类'
     Process_approver = ProcessApproverPage(self.driver)
     Process_approver.close_message()
     self.open_menu3(menu3)
     lp = ListViewPage(self.driver)
     if 0 != lp.get_rows_total():
         lp.clear_all_data()
     if lp.get_rows_total() == 0:
         lp.add_one_row2()  #无数据时添加一条数据
     lp.open_fisrt_doc()
     btn = ButtonPage(self.driver)
     btn.click_button(btn.save_return)
     msgtitle = lp.is_test_in_msg('保存成功')
     #self.assertTrue(lp.is_msg_visiable(),msg='保存并返回按钮检验不通过')
     self.assertTrue(msgtitle, msg='保存并返回按钮检验不通过')
     lp.wait_loading_hide()  # 等待视图加载
     self.assertEqual('保存', lp.get_column_row1_col1(), msg='保存并返回按钮检验不通过')
Exemple #5
0
 def test_approver_role_case(self):
     '''流程审批人for角色形式'''
     menu1 = '流程'
     menu2 = '审批人设置'  # 主页打开菜单时使用
     menu3 = ''
     name = "流程审批人设置_通过角色"
     comp = ProcessApproverPage(self.driver)
     # 判断是否要删除记录
     lp = ListViewPage(self.driver)
     lp.judge_delete(name)
     #李玲新建单据
     self.lilingnew(name)
     #退出切换账号,查看是否有提交按钮
     bb = comp.logoff_and_check_submitbtn('weiqiang', '123456', menu1,
                                          menu2, menu3, name)
     self.assertEqual("true", bb, msg=name + "检验不通过")
     #time.sleep(0.5)
     #提交后再次打开表单获取流程处理人
     text = comp.aftersumbit_getapprover(name)
     self.assertIn('张强', text, msg=name + "检验不通过")
Exemple #6
0
    def test_user_defined_jump_btn(self):
        '''自定义跳转按钮'''
        menu3 = '表单按钮_自定义按钮'
        Process_approver = ProcessApproverPage(self.driver)
        Process_approver.close_message()
        self.open_menu3(menu3)
        lp = ListViewPage(self.driver)
        if 0 != lp.get_rows_total():
            lp.clear_all_data()
        if lp.get_rows_total() == 0:
            lp.add_one_row2()  #无数据时添加一条数据
        lp.open_fisrt_doc()

        #time.sleep(0.5)
        btn = ButtonPage(self.driver)
        btn.click_default_btn("自定义跳转列表")
        self.assertTrue(lp.is_msg_visiable(), msg='自定义跳转按钮检验不通过')
        msgtitle = lp.is_test_in_msg('自定义跳转列表成功')
        self.assertTrue(msgtitle, msg='自定义跳转按钮检验不通过')
        #time.sleep(0.5)
        self.assertEqual('保存', lp.get_column_row1_col1(), msg='自定义跳转按钮检验不通过')
Exemple #7
0
 def test_flow_process_btn(self):
     '''流程处理按钮'''
     menu3 = '表单按钮_流程相关'
     Process_approver = ProcessApproverPage(self.driver)
     Process_approver.close_message()
     self.open_menu3(menu3)
     #time.sleep(0.5)
     lp = ListViewPage(self.driver)
     if 0 != lp.get_rows_total():
         lp.clear_all_data()
     btn = ButtonPage(self.driver)
     btn.click_button(btn.new_btn)
     #time.sleep(0.5)
     ip = InputPage(self.driver, '单行文本')
     ip.element.send_keys('保存')
     #time.sleep(0.5)
     btn.click_button(btn.flow_process)  #点击流程提交按钮
     #time.sleep(0.3)
     btn.click_confirm_submit()
     msgtitle = lp.is_test_in_msg('提交成功')
     self.assertTrue(msgtitle, msg='流程处理按钮检验不通过')
     #time.sleep(0.5)
     if 0 != lp.get_rows_total():
         lp.clear_all_data()
Exemple #8
0
 def test_approver_organization_case(self):
     '''流程审批人for组织形式'''
     name = "流程审批人设置_通过组织"
     #time.sleep(0.5)
     comp = ProcessApproverPage(self.driver)
     self.driver.switch_to_default_content()
     comp.close_message()
     comp.switch_to_formiframe()
     # 判断是否要删除记录
     lp = ListViewPage(self.driver)
     lp.judge_delete(name)
     #李玲新建单据#333333
     self.lilingnew(name)
     #再次打开记录获取流程状态处理人
     text = comp.openagain_to_getapprover(name)
     #断言
     self.assertIn('伟强', text, msg=name + "检验不通过")
    def test_termination_case(self):
        '''允许审批人终止流程'''
        menu1 = '流程'
        menu2 = '基本信息'  # 主页打开菜单时使用
        menu3 = '允许审批人终止流程'
        name = "允许审批人终止流程"
        #time.sleep(0.5)
        comp = ProcessApproverPage(self.driver)
        # 判断是否要删除记录
        lp = ListViewPage(self.driver)
        lp.judge_delete(name)
        #李玲建单提交
        comp.launch_a_flowform(name)
        #退出当前登录,切换账号并打开菜单记录for视图
        comp.logoff_and_openrecord("zhangqiang", "123456",menu1, menu2, menu3,name)
        #time.sleep(0.5)
        comp.click_terminationbtn() #点击终止按钮
        #time.sleep(0.5)
        # 判段是否已归档
        bool = comp.is_filed()
        self.assertIsNone(bool, msg=name + "检验不通过")

        def init(self):
            self.test_termination_case()
Exemple #10
0
 def default_notcheck_case(self):
     """并行默认不选中"""
     name = "并行默认不选中"
     #time.sleep(0.5)
     comp = ProcessApproverPage(self.driver)
     # 判断是否要删除记录
     lp = ListViewPage(self.driver)
     lp.judge_delete(name)
     # 点击新建进入表单
     comp.click_newbtn()
     # 录入请假原因
     comp.input_reason(name)
     # 点击提交按钮
     comp.click_flow_processbtn()
     #time.sleep(0.5)
     bool1 = self.find_elem(
         'fieldset#fieldset_commit_to > div:nth-child(2)>label>input'
     ).is_selected()
     self.assertFalse(bool1, msg=name + '检验不通过')
     bool2 = self.find_elem(
         'fieldset#fieldset_commit_to > div:nth-child(3)>label>input'
     ).is_selected()
     self.assertFalse(bool2, msg=name + '检验不通过')
     self.find_elem(
         'fieldset#fieldset_commit_to > div:nth-child(2)>label>input'
     ).click()
     # 点击确认提交
     comp.submit()
     #time.sleep(0.5)
     # 再次相应记录
     comp.openagain_record(name)
     # 获取流程状态的处理人
     text = comp.get_approver()
     # 断言
     self.assertIn('王聪', text, msg=name + "检验不通过")
Exemple #11
0
 def overcount(self):
     '''审批意见超出'''
     name = '审批意见超出'
     title = '很好允许通过'
     comp = ProcessApproverPage(self.driver)
     comp.wait_loading_hide()  #等待视图页面加载完成
     comp.click_newbtn()
     comp.wait_loading_hide()  #等待表单页面加载完成
     comp.click_flow_processbtn()
     i = 0
     while i < 24:
         comp.find_elem('textarea[name="_attitude"]').send_keys(title)
         i += 1
     count = comp.get_usefulopinions_count()
     self.assertEqual('140', count, msg=name + "检测不通过")
    def test_flow_complete(self):
        '''自由流程结束流程'''
        name = '自由流程结束流程'
        comp = ProcessApproverPage(self.driver)
        # 判断是否要删除记录
        lp = ListViewPage(self.driver)
        if lp.get_rows_total() != 0:
            lp.delete_all_data()  # 删除所有数据

        comp.click_newbtn()  # 点击新建进入表单

        comp.input_reason(name)  # 录入请假原因
        comp.click_submit_star_flowbtn()  # 点击提交按钮
        comp.select_user('员工')  # 选择审批人
        comp.submit()  # 点击确认
        comp.wait_loading_hide()  # 等待视图loading消失
        lp.click_row()  # 点击第一条记录
        comp.click_end_flow()  # 点击结束流程按钮
        comp.wait_elem_visible(
            '#flowprocessDiv #div_button_place')  # 等待流程面板展开按钮可见
        comp.submit()  # 点击确认按钮
        #
        comp.wait_loading_hide()  # 等待视图loading消失
        lp.click_row()  # 点击第一条记录
        self.assertFalse(comp.is_flow_actbutton_exist('提交 _结束流程'),
                         msg=name + '校验不通过')
Exemple #13
0
 def test_skipprocess_case(self):
     """流程节点跳过"""
     name = "流程节点跳过"
     #time.sleep(0.5)
     comp = ProcessApproverPage(self.driver)
     #把消息关掉
     self.driver.switch_to_default_content()
     comp.close_message()
     comp.switch_to_formiframe()
     # 判断是否要删除记录
     lp = ListViewPage(self.driver)
     lp.judge_delete(name)
     # 点击新建进入表单
     comp.click_newbtn()
     # 录入请假原因
     comp.input_reason(name)
     # 点击提交按钮
     comp.click_flow_processbtn()
     # 点击确认提交
     comp.submit()
     time.sleep(10)
     # 再次相应记录
     comp.openagain_record(name)
     #表单是否已归档
     bool = comp.is_filed()
     self.assertIsNone(bool, msg=name + "检验不通过")
 def test_freeflow_case(self):
     '''自由流程提交'''
     name = '自由流程直接提交'
     comp = ProcessApproverPage(self.driver)
     self.driver.switch_to_default_content()
     comp.close_message()
     comp.switch_to_formiframe()
     # 判断是否要删除记录
     lp = ListViewPage(self.driver)
     if lp.get_rows_total() != 0:
         lp.delete_all_data()  # 删除所有数据
     comp.click_newbtn()  # 点击新建进入表单
     comp.input_reason(name)  # 录入请假原因
     comp.click_submit_star_flowbtn()  # 点击提交按钮
     comp.select_user('自动化测试组长')  # 选择审批人
     comp.submit()  # 点击确认发起
     lp.click_row()  # 打开第一条记录
     self.assertFalse(comp.is_flow_actbutton_exist('提交 _提交流程'),
                      msg=name + '校验不通过')
    def test_flow_backoff(self):
        '''自由流程回退'''
        name = '自由流程回退'
        comp = ProcessApproverPage(self.driver)
        # 判断是否要删除记录
        lp = ListViewPage(self.driver)
        if lp.get_rows_total() != 0:
            lp.delete_all_data()  # 删除所有数据
        comp.click_newbtn()  # 点击新建进入表单
        comp.input_reason(name)  # 录入请假原因
        comp.click_submit_star_flowbtn()  # 点击提交按钮
        comp.select_user('自动化测试组长')  # 选择审批人
        comp.submit()  # 点击确认提交
        comp.goback()  # 退出登录
        # 张强回退流程
        comp.switch_account('zhangqiang', '123456')  # 切换帐号
        self.open_3_menus()
        mp = MainPage(self.driver)
        mp.switch_to_iframe()
        lp.click_row()  # 点击第一条记录
        self.assertTrue(comp.is_flow_actbutton_exist('提交_回退流程'),
                        msg=name + '校验不通过')
        comp.click_backoff_btn()  # 点击回退按钮
        comp.backoff_select_approver('李玲')  # 选择审批人
        comp.wait_lock_screen_div_not_visible()  # 等待用户选择div消失
        comp.submit()  # 点击确认回退

        comp.switch_account('liling', '123456')  # 切换帐号
        self.open_3_menus()
        mp = MainPage(self.driver)
        mp.switch_to_iframe()

        comp.wait_loading_hide()  # 等待视图loading消失
        lp.click_row()  # 点击第一条记录
        self.assertTrue(comp.is_flow_actbutton_exist('提交_回退流程'),
                        msg=name + '校验不通过')
Exemple #16
0
    def test_cc_for_iscript_case(self):
        '''流程抄送通过iscript'''
        menu1 = '流程'
        menu2 = '抄送设置'  # 主页打开菜单时使用
        menu3 = '流程抄送通过iscript'
        name = "流程抄送通过iscript"
        name2 = "消息中心"
        comp = ProcessApproverPage(self.driver)
        comp.goback()
        comp.switch_account('zhangqiang', '123456')
        comp.go_messagecenter_toclear()  #进入消息中心清空工作事项通知
        self.assertEqual(0,
                         comp.get_messagecenter_totalRowPanel(),
                         msg='进入消息中心清空工作事项通知失败')
        #张强去消息中心清空数据
        #退出登录#33
        comp.goback()
        # 切换账号登陆
        comp.switch_account('liling', '123456')
        #李玲发起请假申请单
        comp.open_m(menu1, menu2, menu3)
        # 判断是否要删除记录
        lp = ListViewPage(self.driver)
        lp.judge_delete(name)
        comp.click_newbtn()
        #comp.switch_to_formiframe()
        #李玲建单提交
        # 录入请假原因
        comp.input_reason(name)
        # 点击提交按钮
        comp.click_flow_processbtn()
        #选择抄送人
        comp.select_user_by_rolename("自动化测试组长")
        # 返回到表单所在的iframe
        comp.switch_to_formiframe()
        #time.sleep(0.5)
        # 点击确认提交
        comp.submit()
        #time.sleep(0.5)
        #退出登录
        comp.goback()
        #张强进入消息中心获取抄送消息
        comp.switch_account('zhangqiang', '123456')
        #获取消息中心的工作事项内容
        text = comp.get_messagecentercontent()
        self.assertIn("流程抄送", text, msg=name + "检验不通过")

        def init(self):
            self.test_cc_for_iscript_case()
    def test_default_lockandcheck_case(self):
        """并行默认选中并锁定"""
        name = "并行默认选中并锁定"
        #time.sleep(0.5)
        comp = ProcessApproverPage(self.driver)
        #把消息关掉
        self.driver.switch_to_default_content()
        comp.close_message()
        comp.switch_to_formiframe()
        # 判断是否要删除记录
        lp = ListViewPage(self.driver)
        lp.judge_delete(name)
        # 点击新建进入表单
        comp.click_newbtn()
        # 录入请假原因
        comp.input_reason(name)
        # 点击提交按钮
        comp.click_flow_processbtn()
        #time.sleep(0.5)
        bool1 = comp.find_elem('fieldset#fieldset_commit_to > div:nth-child(2)>label>input').get_attribute('locked')
        self.assertTrue(bool1, msg=name + '检验不通过')
        bool2 = comp.find_elem('fieldset#fieldset_commit_to > div:nth-child(3)>label>input').get_attribute('locked')
        self.assertTrue(bool2, msg=name + '检验不通过')
        comp.find_elem('fieldset#fieldset_commit_to > div:nth-child(2)>label>input').click()
        # 点击确认提交
        comp.submit()
        #time.sleep(0.5)
        # 再次相应记录
        comp.openagain_record(name)
        # 获取流程状态的处理人
        text = comp.get_approver()
        # 断言
        self.assertIn('王聪', text, msg=name + "检验不通过")

        def init(self):
            self.test_default_lockandcheck_case()
    def test_Hang_case(self):
        '''流程挂起'''
        menu1 = '流程'
        menu2 = '流程通知'  # 主页打开菜单时使用
        menu3 = '流程挂起'
        name = "流程挂起"
        #time.sleep(0.5)
        comp = ProcessApproverPage(self.driver)
        # 判断是否要删除记录
        lp = ListViewPage(self.driver)
        lp.judge_delete(name)
        #李玲建单提交
        comp.launch_a_flowform(name)
        #退出登录
        comp.goback()
        #切换张强账号登陆,
        comp.switch_account("zhangqiang", "123456")
        comp.close_message()
        # 打开菜单
        comp.open_m(menu1, menu2, menu3)
        #time.sleep(0.5)
        #检查有没有提交按钮
        bb = comp.is_submit_existed(name)
        self.assertEqual("true", bb, msg=name + "检验不通过")
        #time.sleep(0.5)
        comp.click_hangbtn()
        #time.sleep(0.5)
        bb2 = comp.is_elementPresent()
        self.assertEqual("false", bb2, msg=name + "检验不通过")
        #time.sleep(0.5)
        comp.click_retracementbtn()
        #time.sleep(0.5)
        bb3 = comp.is_elementPresent()
        self.assertEqual("true", bb3, msg=name + "检验不通过")
        #time.sleep(0.5)
        comp.direct_sumit()
        #time.sleep(0.5)
        #'''表单是否已归档'''
        bool = comp.is_filed_for_openagin(name)
        self.assertIsNone(bool, msg=name + "检验不通过")

        def init(self):
            self.test_Hang_case()
Exemple #19
0
 def test_add_usefulopinions_case(self):
     '''新增常用意见'''
     name = '新增常用意见'
     title = '很好允许通过'
     comp = ProcessApproverPage(self.driver)
     comp.wait_loading_hide()  #等待视图页面加载完成
     comp.click_newbtn()
     comp.wait_loading_hide()  #等待表单页面加载完成
     #time.sleep(0.5)
     comp.click_flow_processbtn()
     #点击展开常用意见
     comp.open_usefulopinionsboard()
     #判断是否已存在相同的意见
     comp.judgedel_usefulopinions(title)
     #点击添加常用意见
     comp.add_usefulopinions(title)
     time.sleep(0.5)  #必须,等待交互完成
     #点击常用意见的值
     comp.select__usefulopinions(title)
     time.sleep(5)  #必须,等待交互完成
     text = comp.get_usefulopinionsval()
     self.assertEqual('很好允许通过', text, msg=name + "检测不通过")
     count = comp.get_usefulopinions_count()
     self.assertEqual('6', count, msg=name + "检测不通过")
Exemple #20
0
 def test_ccForRole_case(self):
     '''流程抄送通过角色'''
     menu1 = '流程'
     menu2 = '抄送设置'  # 主页打开菜单时使用
     menu3 = '流程抄送'
     name = "流程抄送"
     name2 = "消息中心"
     #time.sleep(0.5)
     comp = ProcessApproverPage(self.driver)
     comp.goback()
     # 伟强去消息中心清空数据
     comp.switch_account('weiqiang', '123456')
     comp.go_messagecenter_toclear()
     #退出登录#33
     comp.goback()
     # 切换账号登陆
     comp.switch_account('liling', '123456')
     #李玲发起请假申请单
     comp.open_m(menu1, menu2, menu3)
     # 判断是否要删除记录
     lp = ListViewPage(self.driver)
     lp.judge_delete(name)
     comp.click_newbtn()
     #李玲建单提交
     # 录入请假原因
     comp.input_reason(name)
     # 点击提交按钮
     comp.click_flow_processbtn()
     #选择抄送人
     comp.select_user_by_rolename("测试主管")
     # 返回到表单所在的iframe
     comp.switch_to_formiframe()
     # 点击确认提交
     comp.submit()
     #退出登录
     comp.goback()
     #张强进入消息中心获取抄送消息
     comp.switch_account('weiqiang', '123456')
     # 获取消息中心的工作事项内容
     text = comp.get_messagecentercontent()
     self.assertIn("流程抄送", text, msg=name + "检验不通过")
Exemple #21
0
    def test_editApprover_case(self):
        '''允许编辑当前节点的审批人'''
        menu1 = '流程'
        menu2 = '基本信息'  # 主页打开菜单时使用
        menu3 = '允许编辑当前节点的审批人'
        name = "允许编辑当前节点的审批人"
        #time.sleep(0.5)
        comp = ProcessApproverPage(self.driver)
        # 判断是否要删除记录
        lp = ListViewPage(self.driver)
        lp.judge_delete(name)
        #李玲建单提交
        comp.launch_a_flowform(name)
        #退出当前登录,切换账号并打开菜单记录
        comp.logoff_and_openrecord("zhangqiang", "123456", menu1, menu2, menu3,
                                   name)
        #time.sleep(0.5)
        comp.select_approver("测试主管")
        #time.sleep(0.5)
        bool = comp.is_elementPresent()
        self.assertEqual("true", bool, msg=name + "检验不通过")
        #time.sleep(0.5)
        #退出当前登录,切换账号并打开菜单记录
        comp.logoff_and_openrecord("weiqiang", "123456", menu1, menu2, menu3,
                                   name)
        #提交后判断流程是否已归档
        bool = comp.is_filed_for_aftersumbit(name)
        self.assertIsNone(bool, msg=name + "检验不通过")

        def init(self):
            self.test_editApprover_case()
Exemple #22
0
 def test_polymerization_case(self):
     '''流程聚合'''
     menu1 = '流程'
     menu2 = '审批送出设置'  # 主页打开菜单时使用
     menu3 = '流程聚合'
     name = "流程聚合"
     #time.sleep(0.5)
     comp = ProcessApproverPage(self.driver)
     #判断是否要删除记录
     lp = ListViewPage(self.driver)
     lp.judge_delete(name)
     #李玲建单提交
     comp.launch_a_flowform(name)
     #time.sleep(0.5)
     #退出当前登录,切换账号并打开菜单记录for视图
     comp.logoff_and_openrecord('weiqiang', '123456', menu1, menu2, menu3,
                                name)
     #time.sleep(0.5)
     comp.direct_sumit()
     #再次打开记录获取流程状态处理人
     text = comp.openagain_to_getapprover(name)
     self.assertIn('张强', text, msg=name + "检验不通过")
     #退出切换账号,查看是否有提交按钮
     bb = comp.logoff_and_check_submitbtn('zjl01', '123456', menu1, menu2,
                                          menu3, name)
     self.assertEqual("false", bb, msg=name + "检验不通过")
     # 退出当前登录,切换账号并打开菜单记录for视图
     comp.logoff_and_openrecord('zhangqiang', '123456', menu1, menu2, menu3,
                                name)
     #time.sleep(0.5)
     comp.direct_sumit()
     #time.sleep(0.5)
     # 退出当前登录,切换账号并打开菜单记录for视图
     comp.logoff_and_openrecord('zjl01', '123456', menu1, menu2, menu3,
                                name)
     #time.sleep(0.5)
     #表单是否已归档
     bool2 = comp.is_filed_for_aftersumbit(name)
     self.assertIsNone(bool2, msg=name + "检验不通过")
Exemple #23
0
 def lilingnew(self, name):
     """李玲新建单据"""
     comp = ProcessApproverPage(self.driver)
     # 点击新建进入表单
     comp.click_newbtn()
     # 录入请假原因
     if (comp.find_elem_visible(
             'span[id="11e7-6619-cde06435-8f1a-bfe936d3ae2a_divid"]>textarea'
     ) == None):
         comp.wait_elem_visible(
             'span[id="11e7-6619-cde06435-8f1a-bfe936d3ae2a_divid"]>textarea'
         )
         time.sleep(1)
         comp.find_elem_visible(
             'span[id="11e7-6619-cde06435-8f1a-bfe936d3ae2a_divid"]>textarea'
         ).send_keys(name)
     else:
         comp.find_elem_visible(
             'span[id="11e7-6619-cde06435-8f1a-bfe936d3ae2a_divid"]>textarea'
         ).send_keys(name)
     # 点击提交按钮
     comp.click_flow_processbtn()
     # 点击指定审批人选择框
     comp.find_elem_is_clickable('span.flowToPerson>img').click()
     # 回到主文档,没有iframe
     self.driver.switch_to.default_content()
     # 切到指定审批人iframe
     comp.switchto_designatedapprover()
     comp.wait_elem_visible('.contentDiv.on')  #等待审批人框显示
     # 勾选审批人伟强
     comp.find_elem_visible(
         '#rightcontent>div>input[name="伟强"]+span').click()
     if (comp.find_elem('#rightcontent>div>input[name="伟强"]').is_selected()
             == False):
         for i in range(10):
             print('次数 %s' % i)
             comp.find_elem_visible(
                 '#rightcontent>div>input[name="伟强"]+span').click()
             if (comp.find_elem(
                     '#rightcontent>div>input[name="伟强"]').is_selected()):
                 break
     comp.wait_elem_visible('#selectedUserDiv>span[title="点击删除"]')
     #等待用户选中
     comp.find_elem_is_clickable('input#doReturn').click()
     # 等待确认后的灰色锁屏消失
     self.driver.switch_to.default_content()
     comp.wait_elem_disappear('#lock_screen_div>div')  #等待确认后的灰色锁屏消失
     # 返回到表单所在的iframe
     comp.switch_to_formiframe()
     # 点击确认提交
     comp.submit()
    def test_non_polymerization_case(self):
        '''流程非聚合'''
        menu1 = '流程'
        menu2 = '审批送出设置'  # 主页打开菜单时使用
        menu3 = '流程非聚合'
        name = "流程非聚合"
        #time.sleep(0.5)
        comp = ProcessApproverPage(self.driver)
        # 判断是否要删除记录
        lp = ListViewPage(self.driver)
        lp.judge_delete(name)
        #李玲建单提交
        comp.launch_a_flowform(name)
        #time.sleep(0.5)
        #退出当前登录,切换账号并打开菜单记录
        comp.logoff_and_openrecord('weiqiang', '123456', menu1, menu2, menu3,
                                   name)
        #time.sleep(0.5)
        comp.direct_sumit()
        #退出当前登录,切换账号并打开菜单记录for表单
        comp.logoff_and_openmenu('zjl01', '123456', menu1, menu2, menu3)
        text = comp.openagain_to_getapprover(name)
        # 断言
        self.assertIn('张强', text, msg=name + "检验不通过")
        # 判断总经理此时有无提交按钮
        bb = comp.is_elementPresent()
        self.assertEqual("true", bb, msg=name + "检验不通过")
        #time.sleep(0.5)
        #提交后判断流程是否已归档
        bool = comp.is_filed_for_aftersumbit(name)
        self.assertIsNone(bool, msg=name + "检验不通过")

        def init(self):
            self.test_non_polymerization_case()
Exemple #25
0
    def test_timeout_submit_case(self):
        """超时自动提交"""
        name = "审批超时自动提交"
        #time.sleep(0.5)
        comp = ProcessApproverPage(self.driver)
        #把消息关掉
        self.driver.switch_to_default_content()
        comp.close_message()  #关闭消息中心提示
        comp.switch_to_formiframe()
        # 判断是否要删除记录
        lp = ListViewPage(self.driver)
        lp.judge_delete(name)
        # 点击新建进入表单
        comp.click_newbtn()
        # 录入请假原因
        comp.input_reason(name)
        # 点击提交按钮
        comp.click_flow_processbtn()
        comp.wait_elem_visible('div[data-type="nodeItem"]')  #等待提交节点显示
        # 点击确认提交
        comp.submit()
        # 再次相应记录
        comp.openagain_record(name)
        # 获取流程状态的处理人
        text = comp.get_approver()
        # 断言
        self.assertIn('王聪', text, msg=name + "检验不通过")
        #点击返回按钮
        comp.click_rebackbtn()
        time.sleep(60)  #等待系统超时自动提交,再验证是否已提交
        # 再次相应记录
        comp.openagain_record(name)
        #time.sleep(0.5)
        bool = comp.is_filed()
        self.assertIsNone(bool, msg=name + "检验不通过")

        def init(self):
            self.test_timeout_submit_case()
Exemple #26
0
    def test_arbitrarily_adopt_case(self):
        '''任意审批人通过则节点通过'''
        menu1 = '流程'
        menu2 = '流程节点通过条件'  # 主页打开菜单时使用
        menu3 = '任意审批人通过则节点通过'
        name = "任意审批人通过则节点通过"
        #time.sleep(0.5)
        comp = ProcessApproverPage(self.driver)
        #把消息关掉
        self.driver.switch_to_default_content()
        comp.close_message()
        comp.switch_to_formiframe()
        # 判断是否要删除记录
        lp = ListViewPage(self.driver)
        lp.judge_delete(name)
        comp.launch_a_flowform(name)
        comp.goback()
        comp.switch_account('zhangqiang', '123456')
        comp.close_message()
        comp.open_m(menu1,menu2,menu3)
        text = comp.openagain_to_getapprover(name)
        # 断言
        self.assertIn('王聪', text, msg=name + "检验不通过")
        # 判断总经理此时有无提交按钮
        bb = comp.is_elementPresent()
        self.assertEqual("true", bb, msg=name + "检验不通过")
        #time.sleep(0.5)
        #提交后判断流程是否已归档
        bool = comp.is_filed_for_aftersumbit(name)
        self.assertIsNone(bool, msg=name + "检验不通过")

        def init(self):
            self.test_arbitrarily_adopt_case()
Exemple #27
0
    def test_retreat_case(self):
        '''流程回撤'''
        menu1 = '流程'
        menu2 = '流程通知'  # 主页打开菜单时使用
        menu3 = '流程回撤'
        name = "流程回撤"
        #time.sleep(0.5)
        comp = ProcessApproverPage(self.driver)
        # 判断是否要删除记录
        lp = ListViewPage(self.driver)
        lp.judge_delete(name)
        #李玲建单提交
        comp.launch_a_flowform(name)
        #退出切换账号,查看是否有提交按钮
        bb = comp.logoff_and_check_submitbtn("zhangqiang", "123456", menu1,
                                             menu2, menu3, name)
        self.assertEqual("true", bb, msg=name + "检验不通过")
        #time.sleep(0.5)
        #退出切换账号,查看是否有提交按钮
        bb2 = comp.logoff_and_check_submitbtn("liling", "123456", menu1, menu2,
                                              menu3, name)
        self.assertEqual("false", bb2, msg=name + "检验不通过")
        #time.sleep(0.5)
        bool = comp.is_btn_existed("act_flow_retracement")
        self.assertTrue(bool, msg=name + "检验不通过")
        #time.sleep(0.5)
        #点击回撤按钮
        comp.click_retreatbtn()
        #time.sleep(0.5)
        text = comp.get_approver()
        self.assertIn("李玲", text, msg=name + "检验不通过")
        #time.sleep(0.5)
        comp.direct_sumit()
        text2 = comp.openagain_to_getapprover(name)
        self.assertIn("张强", text2, msg=name + "检验不通过")

        def init(self):
            self.test_retreat_case()
 def test_adjustment_process_case(self):
     '''前台手动调整流程'''
     name = '前台手动调整流程'
     comp = ProcessApproverPage(self.driver)
     btn = ButtonPage(self.driver)
     #判断是否要删除记录
     lp = ListViewPage(self.driver)
     lp.judge_delete(name)
     #点击新建进入表单
     comp.click_newbtn()
     #录入请假原因
     #time.sleep(0.5)
     comp.input_reason(name)
     #点击保存并启动按钮
     comp.click_starprocessbtn()
     #time.sleep(0.5)
     self.assertTrue(btn.is_button_visiable('流程调整'), msg=name + "检验不通过")
     lp.wait_loading_hide()  # 等待视图加载
     #点击前台流程调整按钮
     comp.click_editFlowbtn()
     #回到主文档,没有iframe
     self.driver.switch_to.default_content()
     #获取弹出框的title
     text = comp.get_popuptitle()
     self.assertEqual("调整流程", text, msg=name + "检验不通过")
     mp = MainPage(self.driver)
     mp.switch_to_div_iframe()
     self.assertTrue(comp.is_embed_visit(), msg=name + "检验不通过")
Exemple #29
0
 def test_Fallback_case(self):
     '''流程回退'''
     menu1 = '流程'
     menu2 = '流程通知'  # 主页打开菜单时使用
     menu3 = '流程回退'
     name = "流程回退"
     #time.sleep(0.5)
     comp = ProcessApproverPage(self.driver)
     #把消息关掉
     self.driver.switch_to_default_content()
     comp.close_message()
     comp.switch_to_formiframe()
     # 判断是否要删除记录
     lp = ListViewPage(self.driver)
     lp.judge_delete(name)
     #李玲建单提交
     comp.launch_a_flowform(name)
     #进入消息中心清空工作事项通知
     comp.go_messagecenter_toclear()
     #退出切换账号,查看是否有提交按钮
     bb = comp.logoff_and_check_submitbtn("zhangqiang", "123456", menu1,
                                          menu2, menu3, name)
     self.assertEqual("true", bb, msg=name + "检验不通过")
     #time.sleep(0.5)
     comp.click_fallbackbtn()
     #退出登录
     comp.goback()
     #切换张强账号登陆,
     comp.switch_account("liling", "123456")
     #获取消息中心的工作事项内容
     text = comp.get_messagecentercontent()
     self.assertIn("流程回退", text, msg=name + "检验不通过")
     bname = '消息中心'
     comp.close_tab(bname)
     # 回到主文档,没有iframe
     self.driver.switch_to.default_content()
     # 打开菜单c
     comp.open_m(menu1, menu2, menu3)
     #time.sleep(0.5)
     #检查有没有提交按钮
     bb = comp.is_submit_existed(name)
     self.assertEqual("true", bb, msg=name + "检验不通过")
     #time.sleep(0.5)
     #提交后再次打开表单获取流程处理人
     text = comp.aftersumbit_getapprover(name)
     #time.sleep(0.5)
     self.assertIn('张强', text, msg=name + "检验不通过")
 def test_adjustment_process_case(self):
     '''前台手动调整流程'''
     name = '前台手动调整流程'
     comp = ProcessApproverPage(self.driver)
     #判断是否要删除记录
     lp = ListViewPage(self.driver)
     lp.judge_delete(name)
     #点击新建进入表单
     comp.click_newbtn()
     #录入请假原因
     comp.input_reason(name)
     #点击保存并启动按钮
     comp.click_starprocessbtn()
     #点击前台流程调整按钮
     comp.click_editFlowbtn()
     #回到主文档,没有iframe
     self.driver.switch_to.default_content()
     #获取弹出框的title
     text = comp.get_popuptitle()
     self.assertEqual("调整流程", text, msg=name + "检验不通过")
     self.assertTrue(comp.is_embed_visit(), msg=name + "检验不通过")