def test_termination_case(self): """允许审批人终止流程""" menu2 = '基本信息' # 主页打开菜单时使用 menu3 = '允许审批人终止流程' title = '允许审批人终止流程' self.open_menus(self.menu1, menu2, menu3) fp = FlowPhonePage(self.driver) lp = ListViewPhonePage(self.driver) mp = MainPhonePage(self.driver) bt = ButtonPhonePage(self.driver) lp.clear_all_data() # 清空所有数据 bt.click_button('新建') # 点击新建按钮 fp.input_reason(title) # 录入请假原因 bt.click_button('提交') fp.flow_sumit() # 提交流程 po = LoginPage(self.driver) po.user_login('zhangqiang', '123456') # 切换张强登陆 mp.switch_to_menu_page() self.open_menus(self.menu1, menu2, menu3) # 打开相应的菜单 lp.open_fisrt_doc() # 打开记录 bool = bt.is_button_exist('终止流程') # 查看有没有编辑流程审批人按钮 self.assertTrue(bool, msg=title + "测试不通过") bt.click_button('终止流程') # 点击终止流程按钮 fp.sendkey_in_confirmPanel_textarea('终止流程') fp.click_flow_more() # 点击流程栏更多 self.assertEqual('终止', fp.get_cur_flow_state(), msg=title + '测试不通过') # 检查当前流程状态是不是终止
def test_ccForRole_case(self): '''流程抄送通过角色''' menu2 = '抄送设置' # 主页打开菜单时使用 menu3 = '流程抄送' title = "流程抄送通过角色" self.open_menus(self.menu1, menu2, menu3) fp = FlowPhonePage(self.driver) lp = ListViewPhonePage(self.driver) mp = MainPhonePage(self.driver) bt = ButtonPhonePage(self.driver) us = UserSelectPhonePage(self.driver, 'copyto_user_select') po = LoginPage(self.driver) lp.clear_all_data() # 清空所有数据 bt.click_button('新建') # 点击新建按钮 fp.input_reason(title) # 录入请假原因 bt.click_button('提交') # 点击提交按钮 fp.click_flow_copyTo() # 点击选择抄送人 self.assertTrue(fp.is_flow_copyTo_exsit(), msg=title + '测试不通过') us.select_user_by_name('伟强') fp.flow_sumit() # 提交流程 lp.open_fisrt_doc() # 打开记录 fp.click_flow_more() # 点击流程栏更多 self.assertEqual('归档', fp.get_cur_flow_state(), msg=title + '测试不通过') # 检查当前流程状态是不是归档
def test_skipprocess_case(self): """流程节点跳过""" menu2 = '审批送出设置' # 主页打开菜单时使用 menu3 = '流程节点跳过' title = '流程节点跳过' self.open_menus(self.menu1, menu2, menu3) fp = FlowPhonePage(self.driver) lp = ListViewPhonePage(self.driver) mp = MainPhonePage(self.driver) bt = ButtonPhonePage(self.driver) po = LoginPage(self.driver) lp.clear_all_data() # 清空所有数据 bt.click_button('新建') # 点击新建按钮 fp.input_reason(title) # 录入请假原因 bt.click_button('提交') # 点击提交按钮 fp.flow_sumit() # 提交流程 time.sleep(10) lp.open_fisrt_doc() # 打开记录 fp.click_flow_more() # 点击流程栏更多 self.assertEqual('归档', fp.get_cur_flow_state(), msg=title + '测试不通过') # 检查当前流程状态是不是归档
def test_select_usefulopinions_case(self): '''选择常用意见''' bt = ButtonPhonePage(self.driver) lp = ListViewPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() if lp.get_rows_total() != 0: lp.clear_all_data() # 清除数据 bt.click_button('新建') # 点击按钮 lp.wait_Tabloading_show_then_hide() bt.click_button('提交') # 点击按钮 fsp = FlowSubmitPanelPage(self.driver) fsp.click_usefulopinions() # 展开常用意见 fsp.wait_elem_visible('.flow-submit__proposal-box') fsp.select_usefulopinions('同意') # 选择意见 self.assertEqual('同意', fsp.get_usefulopinions(), msg='选择常用意见校验不通过') fsp.click_usefulopinions() # 收起常用意见 bt.click_flowpanel_button('提交') # 点击按钮 mp = MainPhonePage(self.driver) lp.wait_msg_show_then_hide() lp.wait_Tabloading_show_then_hide() mp.return_to_homepage() # 返回主页 mp.switch_to_flow_page() # 切换到流程面板 mp.switch_flow_center_byname('经办') # 点击切换到经办页面 mp.click_processing_first_data() # 点击经办第一条数据 fp = FlowPhonePage(self.driver) fp.click_flow_more() # 点击更多切换到流程历史 self.assertEqual('同意', fp.get_flow_history_useopinions(), msg='选择常用意见校验不通过')
def test_default_check_case(self): """并行默认选中""" menu2 = '流程并行' # 主页打开菜单时使用 menu3 = '并行默认选中' title = '并行默认选中' self.open_menus(self.menu1, menu2, menu3) fp = FlowPhonePage(self.driver) lp = ListViewPhonePage(self.driver) mp = MainPhonePage(self.driver) bt = ButtonPhonePage(self.driver) po = LoginPage(self.driver) lp.clear_all_data() # 清空所有数据 bt.click_button('新建') # 点击新建按钮 fp.input_reason(title) # 录入请假原因 bt.click_button('提交') # 点击提交按钮 self.assertNotIn(False, fp.get_nodes_checked_stable(), msg=title + '测试不通过') fp.find_elem( '#flow-submit__node-box > div:nth-child(4) > label > div.weui-cell__hd > i' ).click() # 点击 第一个流程节点状态使他成为未选中 self.assertFalse(fp.get_nodes_checked_stable()[0], msg=title + '测试不通过') fp.flow_sumit() # 提交流程 lp.open_fisrt_doc() # 打开记录 self.assertIn('张强', fp.get_curnode_user(), msg=title + '测试不通过')
def test_timeout_submit_case(self): """超时自动提交""" menu2 = '审批时限设置' # 主页打开菜单时使用 menu3 = '审批超时自动提交' title = '审批超时自动提交' self.open_menus(self.menu1, menu2, menu3) fp = FlowPhonePage(self.driver) lp = ListViewPhonePage(self.driver) mp = MainPhonePage(self.driver) bt = ButtonPhonePage(self.driver) po = LoginPage(self.driver) lp.clear_all_data() # 清空所有数据 bt.click_button('新建') # 点击新建按钮 fp.input_reason(title) # 录入请假原因 bt.click_button('提交') # 点击提交按钮 fp.flow_sumit() # 提交流程 lp.open_fisrt_doc() # 打开记录 fp.click_flow_more() # 点击流程栏更多 self.assertEqual('审批人', fp.get_cur_flow_state(), msg=title + '测试不通过') # 检查当前流程状态是不是审批人 po.user_login('liling', '123456') # 切换李玲登陆 time.sleep(60) mp.switch_to_menu_page() self.open_menus(self.menu1, menu2, menu3) # 打开相应的菜单 lp.open_fisrt_doc() # 打开记录 fp.click_flow_more() # 点击流程栏更多 self.assertEqual('归档', fp.get_cur_flow_state(), msg=title + '测试不通过') # 检查当前流程状态是不是归档
def test_delete_case(self): '''删除按钮''' menu3 = '按钮_case001' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 lp = ListViewPhonePage(self.driver) if 0 != lp.get_rows_total(): lp.clear_all_data() #清空所有数据 else: #新建一条数据 btn = ButtonPhonePage(self.driver) btn.click_button('新建') #点击新建 mp.wait_Tabloading_show_then_hide() ip = InputPhonePage(self.driver, '单行文本') ip.element.send_keys('保存') btn.click_button('保存') mp.wait_Tabloading_show_then_hide() mp.wait_msg_show_then_hide() btn.click_button('返回') mp.wait_Tabloading_show_then_hide() #确定已经有一条数据 self.assertEqual(1, lp.get_rows_total(), msg='删除按钮检验不通过') lp.clear_all_data() #点击全选 self.assertEqual(0, lp.get_rows_total(), msg='删除按钮检验不通过')
def test_approver_organization_case(self): '''流程审批人for组织形式''' menu2 = '审批人设置' # 主页打开菜单时使用 menu3 = '' title = '流程审批人for组织形式' self.open_menus(self.menu1, menu2, menu3) fp = FlowPhonePage(self.driver) lp = ListViewPhonePage(self.driver) mp = MainPhonePage(self.driver) bt = ButtonPhonePage(self.driver) us = UserSelectPhonePage(self.driver, '通过角色指定') lp.clear_all_data() # 清空所有数据 bt.click_button('新建') # 点击新建按钮 fp.input_reason(title) # 录入请假原因 bt.click_button('提交') # 点击提交按钮 fp.click_flow_submit_user_avatar() # 点击选择流程审批人 us.select_user_by_name('伟强') fp.flow_sumit() # 提交流程 lp.open_fisrt_doc() # 打开记录 fp.click_flow_more() # 点击流程栏更多 self.assertEqual('通过角色指定', fp.get_cur_flow_state(), msg=title + '测试不通过') # 检查当前流程状态是不是通过角色指定
def test_approver_role_case(self): '''流程审批人for角色形式''' menu2 = '审批人设置' # 主页打开菜单时使用 menu3 = '' title = '流程审批人for角色形式' self.open_menus(self.menu1, menu2, menu3) fp = FlowPhonePage(self.driver) lp = ListViewPhonePage(self.driver) mp = MainPhonePage(self.driver) bt = ButtonPhonePage(self.driver) us = UserSelectPhonePage(self.driver, '通过角色指定') po = LoginPage(self.driver) lp.clear_all_data() # 清空所有数据 bt.click_button('新建') # 点击新建按钮 fp.input_reason(title) # 录入请假原因 bt.click_button('提交') # 点击提交按钮 fp.click_flow_submit_user_avatar() # 点击选择流程审批人 us.select_user_by_name('伟强') fp.flow_sumit() # 提交流程 po.user_login('weiqiang', '123456') # 切换伟强登陆 mp.switch_to_menu_page() self.open_menus(self.menu1, menu2, menu3) # 打开相应的菜单 lp.open_fisrt_doc() # 打开记录 bt.click_button('提交') # 点击提交按钮 fp.flow_sumit() # 提交流程 lp.open_fisrt_doc() # 打开记录 fp.click_flow_more() # 点击流程栏更多 self.assertEqual('通过iscript指定', fp.get_cur_flow_state(), msg=title + '测试不通过') # 检查当前流程状态是不是通过iscript指定
def test_column_type_submit(self): '''列-操作类型-提交流程''' menu3 = '列表视图_列_操作类型_提交流程' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 lp = ListViewPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() if lp.get_rows_total() != 0: lp.clear_all_data() lp.wait_Tabloading_show_then_hide() if lp.get_rows_total() == 0: lp.add_one_row() lp.wait_Tabloading_show_then_hide() if lp.get_rows_total() == 1: lp.click_submit() lp.wait_Tabloading_show_then_hide() lp.set_val_and_submit('请审批') lp.wait_Tabloading_show_then_hide() #点击行数据 lp.open_fisrt_doc() lp.wait_Tabloading_show_then_hide() bp = ButtonPhonePage(self.driver) self.assertEqual(0, bp.is_button_exist('流程处理'), msg='列-操作类型-提交流程检验不通过')
def test_save_new_btn(self): '''保存并新建按钮''' lp = ListViewPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() if lp.get_rows_total() != 0: lp.clear_all_data() # 清除数据 bt = ButtonPhonePage(self.driver) bt.click_button('新建') # 点击按钮 lp.wait_Tabloading_show_then_hide() ip = InputPhonePage(self.driver, '单行文本') ip.element.send_keys('保存') # 输入文本 bt.click_button('保存并新建') # 点击按钮 msgtitle = lp.get_msg() # 获取消息 self.assertEqual('[保存成功]', msgtitle, msg='保存并新建按钮检验不通过') lp.wait_msg_show_then_hide() ip2 = InputPhonePage(self.driver, '单行文本') ip2.element.send_keys('保存') bt.click_button('保存') # 点击按钮 msgtitle = lp.get_msg() # 获取消息 self.assertEqual('[保存成功]', msgtitle, msg='保存并新建按钮检验不通过') lp.wait_msg_show_then_hide() bt.click_button('返回') # 点击按钮 self.assertEqual(2, lp.get_rows_total(), msg='保存并新建按钮检验不通过')
def test_desription_case(self): '''描述''' lp = ListViewPhonePage(self.driver) lp.open_fisrt_doc() name = '流程历史_描述' comp = FlowhistoryPhonePage(self.driver, name) self.assertTrue(comp.is_desription_effect(name), msg=name + '检验不通过')
def test_arbitrarily_adopt_case(self): '''任意审批人通过则节点通过''' menu2 = '流程节点通过条件' # 主页打开菜单时使用 menu3 = '任意审批人通过则节点通过' title = "任意审批人通过则节点通过" self.open_menus(self.menu1, menu2, menu3) fp = FlowPhonePage(self.driver) lp = ListViewPhonePage(self.driver) mp = MainPhonePage(self.driver) bt = ButtonPhonePage(self.driver) po = LoginPage(self.driver) lp.clear_all_data() # 清空所有数据 bt.click_button('新建') # 点击新建按钮 fp.input_reason(title) # 录入请假原因 bt.click_button('提交') # 点击提交按钮 fp.flow_sumit() # 提交流程 lp.open_fisrt_doc() # 打开记录 self.assertIn('王聪', fp.get_curnode_user(), msg=title + '测试不通过') self.assertIn('伟强', fp.get_curnode_user(), msg=title + '测试不通过') self.assertIn('张强', fp.get_curnode_user(), msg=title + '测试不通过') po.user_login('zhangqiang', '123456') # 切换张强登陆 mp.switch_to_menu_page() self.open_menus(self.menu1, menu2, menu3) # 打开相应的菜单 lp.open_fisrt_doc() # 打开记录 bool = bt.is_button_exist('提交') # 查看有没有提交按钮 self.assertTrue(bool, msg=title + "测试不通过") po.user_login('weiqiang', '123456') # 切换伟强登陆 mp.switch_to_menu_page() self.open_menus(self.menu1, menu2, menu3) # 打开相应的菜单 lp.open_fisrt_doc() # 打开记录 bool = bt.is_button_exist('提交') # 查看有没有提交按钮 self.assertTrue(bool, msg=title + "测试不通过") po.user_login('wangcong', '123456') # 切换伟强登陆 mp.switch_to_menu_page() self.open_menus(self.menu1, menu2, menu3) # 打开相应的菜单 lp.open_fisrt_doc() # 打开记录 bool = bt.is_button_exist('提交') # 查看有没有提交按钮 self.assertTrue(bool, msg=title + "测试不通过") bt.click_button('提交') # 点击提交按钮 fp.flow_sumit() # 提交流程 lp.open_fisrt_doc() # 打开记录 fp.click_flow_more() # 点击流程栏更多 self.assertEqual('归档', fp.get_cur_flow_state(), msg=title + '测试不通过') # 检查当前流程状态是不是归档 po.user_login('weiqiang', '123456') # 切换伟强登陆 mp.switch_to_menu_page() self.open_menus(self.menu1, menu2, menu3) # 打开相应的菜单 lp.open_fisrt_doc() # 打开记录 bool = bt.is_button_exist('提交') # 查看有没有提交按钮 self.assertFalse(bool, msg=title + "测试不通过")
def test_column_show_val(self): '''显示值''' menu3 = '列表视图_列_值类型_显示值' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 lp = ListViewPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() self.assertEqual('测试部', lp.get_column_row1_col1(), msg='显示值检验不通过')
def test_flow_img_case(self): '''图表''' lp = ListViewPhonePage(self.driver) lp.open_fisrt_doc() name = '流程历史_图表' comp = FlowhistoryPhonePage(self.driver, name) self.assertTrue(comp.check_title(), msg=name + '检验不通过') self.assertTrue(comp.check_flow_img(), msg=name + '检验不通过')
def test_column_sort_down(self): '''排序降序''' menu3 = '列表视图_列_排序_降序' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 lp = ListViewPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() self.assertIn('down.gif', lp.get_column_sort_img_src('列表视图_部门选择框'), msg='真实值检验不通过')
def test_val_type_font_length(self): '''列_显示文字方式_文字长度''' menu3 = '列表视图_列_显示文字方式_文字长度' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 lp = ListViewPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() self.assertEqual('666666...', lp.get_column_row1_col1(), msg=menu3 + '检验不通过')
def test_val_type_cash(self): '''列-格式-类型-货币_小数位美元''' menu3 = '列表视图_列_格式类型_货币_小数位美元' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 lp = ListViewPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() self.assertEqual('$22,222.000', lp.get_column_row1_col1(), msg=menu3 + '检验不通过')
def test_val_type_number(self): '''列-格式-类型-数值-小数3位且使用千分位分隔符''' menu3 = '列表视图_列_格式类型_数值_小数位千分位' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 lp = ListViewPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() self.assertEqual('22,222.000', lp.get_column_row1_col1(), msg=menu3 + '检验不通过')
def test_column_hide(self): '''列隐藏''' menu3 = '列表视图_列_隐藏条件' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 lp = ListViewPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() self.assertFalse(lp.is_column_head_hide('列表视图_树形视图选择框'), msg='列隐藏检验不通过')
def test_column_multilingual(self): '''列多语言''' menu3 = '列表视图_列_多语言' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 lp = ListViewPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() self.assertIsNotNone(lp.get_column_head('文本二'), msg='列多语言检验不通过')
def test_column_true_val(self): '''真实值''' menu3 = '列表视图_列_值类型_真实值' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 lp = ListViewPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() self.assertEqual('11e7-5f99-e70d1a49-917f-e799edecb417', lp.get_column_row1_col1(), msg='真实值检验不通过')
def test_column_order(self): '''类型序号''' menu3 = '列表视图_列_类型_序号' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 lp = ListViewPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() self.assertEqual('1', lp.get_column_row1_col1(), msg='类型序号检验不通过')
def test_desription_case(self): '''描述''' lp = ListViewPhonePage(self.driver) lp.open_fisrt_doc() name = '微信录音控件_描述' #time.sleep(0.5) comp = RecordPhonePage(self.driver, name) self.assertTrue(comp.is_desription_effect(name), msg=name + '检验不通过')
def test_save_draft_btn(self): '''保存草稿按钮''' lp = ListViewPhonePage(self.driver) lp.open_fisrt_doc() # 打开第一条数据 bt = ButtonPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() bt.click_button('保存草稿') # 点击按钮 self.assertEqual('[保存成功]', lp.get_msg(), msg='保存草稿按钮检验不通过')
def test_column_return_mark(self): '''流程回退标识''' menu3 = '列表视图_列_流程回退标识' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 lp = ListViewPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() self.assertIn('backstatelabel01.gif', lp.get_column_row1_col1_img(), msg='真实值检验不通过') self.assertIn('#ff0000', lp.get_column_row1_col1_font(), msg='真实值检验不通过')
def test_readonly_case(self): '''控件属性''' lp = ListViewPhonePage(self.driver) lp.open_fisrt_doc() name = '微信录音控件_只读条件' comp = RecordPhonePage(self.driver, name) #time.sleep(0.5) self.assertFalse(comp.check_del_icon(), msg=name + '检验不通过') #删除后音频文件不存在
def test_paging_not(self): '''不分页''' menu3 = '列表视图_分页_否' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 lp = ListViewPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() self.assertEqual('', lp.get_pagination_body(), msg='不分页检验不通过')
def test_paging_30(self): '''分页-每页30条''' menu3 = '列表视图_分页_30条' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 lp = ListViewPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() self.assertEqual(30, lp.get_rows_total(), msg='分页-每页30条检验不通过')
def test_desription_case(self): '''描述''' compname = 'GPS定位_描述' comp = GPSPhonePage(self.driver) lp = ListViewPhonePage(self.driver) lp.open_fisrt_doc() # 打开记录 target_element = comp.getcomp(compname) comp.scroll_to_target_element(target_element) bool = comp.is_desription_effect(compname) self.assertTrue(bool, msg=compname + '检验不通过')