コード例 #1
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 + "检验不通过")
コード例 #2
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()
コード例 #3
0
    def test_allApprover_adopt_chaos_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)
        #time.sleep(0.5)
        #李玲建单提交
        comp.launch_a_flowform(name)
        #再次打开记录获取流程状态处理人
        text = comp.openagain_to_getapprover(name)
        #断言
        self.assertIn('王聪', text, msg=name + "检验不通过")
        #time.sleep(0.5)
        #退出切换账号,查看是否有提交按钮
        bb = comp.logoff_and_check_submitbtn("zhangqiang", "123456", menu1,
                                             menu2, menu3, name)
        self.assertEqual("true", bb, msg=name + "检验不通过")
        #time.sleep(0.5)
        #提交后再次打开表单获取流程处理人
        text2 = comp.aftersumbit_getapprover(name)
        # 断言
        self.assertIn('王聪', text2, msg=name + "检验不通过")
        #time.sleep(0.5)
        # 退出切换账号,查看是否有提交按钮
        bb2 = comp.logoff_and_check_submitbtn("weiqiang", "123456", menu1,
                                              menu2, menu3, name)
        self.assertEqual("true", bb2, msg=name + "检验不通过")
        #time.sleep(0.5)
        #提交后再次打开表单获取流程处理人
        text3 = comp.aftersumbit_getapprover(name)
        self.assertIn('王聪', text3, msg=name + "检验不通过")
        #time.sleep(0.5)
        # 退出切换账号,查看是否有提交按钮
        bb3 = comp.logoff_and_check_submitbtn("wangcong", "123456", menu1,
                                              menu2, menu3, name)
        self.assertEqual("true", bb3, msg=name + "检验不通过")
        #time.sleep(0.5)
        #提交后判断流程是否已归档
        bool = comp.is_filed_for_aftersumbit(name)
        self.assertIsNone(bool, msg=name + "检验不通过")

        def init(self):
            self.allApprover_adopt_chaos_Test()
コード例 #4
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()
コード例 #5
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()
コード例 #6
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 + "检验不通过")
コード例 #7
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 + "检验不通过")
コード例 #8
0
 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 + '校验不通过')
コード例 #9
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 + "检验不通过")
コード例 #10
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()
コード例 #11
0
    def test_default_check_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').is_selected()
        self.assertTrue(bool1, msg=name + '检验不通过')
        bool2 = comp.find_elem('fieldset#fieldset_commit_to > div:nth-child(3)>label>input').is_selected()
        self.assertTrue(bool2, msg=name + '检验不通过')
        comp.find_elem('fieldset#fieldset_commit_to > div:nth-child(3)>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_check_case()