コード例 #1
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()
コード例 #2
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 + "检验不通过")
コード例 #3
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='自定义关闭按钮检验不通过')
コード例 #4
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()
コード例 #5
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()
コード例 #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_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()
コード例 #9
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 + '校验不通过')
コード例 #10
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='保存并返回按钮检验不通过')
コード例 #11
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='自定义跳转按钮检验不通过')
コード例 #12
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()
コード例 #13
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()
コード例 #14
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()