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_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_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_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_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_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_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_open_todo_more(self): '''打开 主页-我的待办-更多''' mp = MainPhonePage(self.driver) mp.wait_Tabloading_show_then_hide() mp.click_todo_handle_more() # 点击主页-我的待办-更多 mp.wait_Tabloading_show_then_hide() self.assertIn('待办', mp.find_element('.weui_navbar_item.weui_bar_item_on').text, msg='主页-我的待办-更多校验不通过')
def test_open_mainpage_handle(self): '''打开经办跟踪''' mp = MainPhonePage(self.driver) mp.wait_Tabloading_show_then_hide() mp.click_handle_first_data() # 点击主页-经办跟踪第一条数据 mp.wait_Tabloading_show_then_hide() self.assertTrue(mp.find_element('#flowhis_panel').is_displayed(), msg='主页-经办跟踪打开校验不通过')
def test_open_mainpage_todo(self): '''打开 主页-我的待办''' mp = MainPhonePage(self.driver) mp.wait_Tabloading_show_then_hide() mp.click_todo_first_data() # 打开主页-我的待办第一条数据 mp.wait_Tabloading_show_then_hide() self.assertTrue(mp.find_element('#flowhis_panel').is_displayed(), msg='主页-我的待办打开校验不通过')
def test_open_fold_query(self): '''查询表单-列表视图的折叠展开''' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, self.menu3) # 打开菜单 qf = QueryFormPhonePage(self.driver) qf.click_fold_query() # 点击查询按钮 #time.sleep(0.5) self.assertTrue(qf.is_open_query_page(), msg='查询表单-列表视图打开校验不通过') qf.click_close_query() # 点击关闭查询表单的图标 time.sleep(0.3) # 必须,时间稳定。过程无loading,判断查询表单消失/消失后的界面再断言没有意义 self.assertFalse(qf.is_open_query_page(), msg='查询表单-列表视图打开校验不通过')
def test_readonly(self): '''只读''' menu3 = '列表视图_只读_是' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 lp = ListViewPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() lp.open_fisrt_doc() lp.wait_Tabloading_show_then_hide() btn = ButtonPhonePage(self.driver) self.assertTrue(btn.is_button_exist('新建'), msg='非只读检验不通过')
def test_column_open_by_module(self): '''列-操作类型-以模板表单方式打开''' menu3 = '列表视图_列_操作类型_以模板表单方式打开' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 lp = ListViewPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() lp.click_module_btn() btn = ButtonPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() self.assertFalse(btn.is_button_exist('新建'), msg='非只读检验不通过')
def test_column_type_jump(self): '''列-操作类型-跳转''' menu3 = '列表视图_列_操作类型_跳转' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 lp = ListViewPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() lp.click_jump() btn = ButtonPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() self.assertTrue(btn.is_button_exist('保存'), msg='非只读检验不通过')
def default_notcheck_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) po = LoginPage(self.driver) lp.clear_all_data() # 清空所有数据 bt.click_button('新建') # 点击新建按钮 fp.input_reason(title) # 录入请假原因 bt.click_button('提交') # 点击提交按钮 self.assertNotIn(True, fp.get_nodes_checked_stable(), msg=title + '测试不通过') fp.flow_sumit() # 提交流程 self.assertIn('请选择一项操作', fp.is_alert_exist(), msg=title + '测试不通过') fp.accept_alert() # 接受alert fp.find_elem( '#flow-submit__node-box > div:nth-child(4) > label > div.weui-cell__hd > i' ).click() # 点击 第一个流程节点状态使他成为选中 fp.flow_sumit() # 提交流程 lp.open_fisrt_doc() # 打开记录 self.assertNotIn('张强', 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('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 + "测试不通过") bt.click_button('提交') fp.flow_sumit() # 提交流程 lp.open_fisrt_doc() # 打开记录 fp.click_flow_more() # 点击流程栏更多 self.assertEqual('归档', fp.get_cur_flow_state(), msg=title + '测试不通过') # 检查当前流程状态是不是归档
def test_user_defined_close_btn(self): '''自定义关闭按钮''' menu3 = '表单按钮_自定义按钮' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 lp = ListViewPhonePage(self.driver) lp.open_fisrt_doc() #打开第一条数据 bt = ButtonPhonePage(self.driver) bt.click_button('自定义关闭') #点击按钮 msgtitle = lp.get_msg() #获取消息 self.assertEqual('[自定义关闭成功]', msgtitle, msg='自定义关闭按钮检验不通过')
def test_save_draft_btn(self): '''保存草稿按钮''' menu3 = '表单按钮_保存类' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 lp = ListViewPhonePage(self.driver) lp.open_fisrt_doc() #打开第一条数据 bt = ButtonPhonePage(self.driver) bt.click_button('保存草稿') #点击按钮 msgtitle = lp.get_msg() #获取消息 self.assertEqual('[保存成功]', msgtitle, msg='保存草稿按钮检验不通过')
def open_menus(self, menu1, menu2, menu3): mp = MainPhonePage(self.driver) mp.open_menu(menu1) mp.open_menu(menu2) #time.sleep(0.5) mp.made_nav_hide() mp.open_menu(menu3)
def test_user_defined_jump_btn(self): '''自定义跳转按钮''' menu3 = '表单按钮_自定义按钮' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 lp = ListViewPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() lp.open_fisrt_doc() #打开第一条数据 bt = ButtonPhonePage(self.driver) bt.click_button('自定义跳转列表') #点击按钮 msgtitle = lp.get_msg() #获取消息 self.assertEqual('[自定义跳转列表成功]', msgtitle, msg='自定义跳转按钮检验不通过') self.assertEqual('保存', lp.get_column_row1_col2(), msg='自定义跳转按钮检验不通过')
def test_column_type_del(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.add_one_row() lp.wait_Tabloading_show_then_hide() if lp.get_rows_total() == 1: lp.click_del() lp.wait_Tabloading_show_then_hide() self.assertEqual(0, lp.get_rows_total(), msg='列-操作类型-删除检验不通过')
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_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_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_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 open_menu_send_keys_search(self, type, comp_name, val): '''打开菜单设置控件值并查询和返回检验结果''' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, self.menu3) # 打开菜单 lp = ListViewPhonePage(self.driver) qf = QueryFormPhonePage(self.driver) qf.wait_Tabloading_show_then_hide() lp.set_td_by_title(comp_name) #设置显示列 qf.click_fold_query() # 点击查询按钮 time.sleep(0.3) #时间稳定,等查询页面展示,中间无loading,不受服务器速度影响,作判断无意义 col_num = self.set_val_by_component_type(type, comp_name, val) # 设置查询控件值并返回当前检验是第几列 qf.click_search() # 点击查询按钮 qf.wait_Tabloading_show_then_hide() return col_num
def test_new_case(self): '''新建按钮''' menu3 = '按钮_case001' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 mp.wait_Tabloading_show_then_hide() btn = ButtonPhonePage(self.driver) btn.click_button('新建') #点击新建 mp.wait_Tabloading_show_then_hide() self.assertTrue(btn.is_button_exist('保存'), msg='新建按钮检验不通过')
def test_retreat_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.assertTrue(bt.is_button_exist('回撤'), msg=title + '测试不通过') bt.click_button('回撤') self.assertIn('李玲', fp.get_curnode_user(), msg=title + '测试不通过') self.assertFalse(bt.is_button_exist('回撤'), msg=title + '测试不通过') self.assertTrue(bt.is_button_exist('提交'), msg=title + '测试不通过') bt.click_button('提交') # 点击提交按钮 fp.flow_sumit() # 提交流程 po.user_login('zhangqiang', '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('归档', fp.get_cur_flow_state(), msg=title + '测试不通过') # 检查当前流程状态是不是归档
def test_save_btn(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() #清除数据 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='保存按钮检验不通过')
def test_import_view_case(self): '''载入视图按钮''' menu3 = '按钮_case002' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 mp.wait_Tabloading_show_then_hide() btn = ButtonPhonePage(self.driver) btn.click_button('载入视图') #点击载入视图 mp.wait_Tabloading_show_then_hide() lp = ListViewPhonePage(self.driver) self.assertIsNotNone(lp.get_column_head('单行文本_载入视图'), msg='载入视图按钮检验不通过')
def test_freeflow_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) us = UserSelectPhonePage(self.driver, 'free_flow') 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('王聪') bt.click_flowpanel_button('取消') # 点击取消按钮 self.assertTrue(bt.is_button_exist('提交'), msg=title + '测试不通过') bt.click_button('提交') # 点击提交按钮 fp.click_flow_submit_user_avatar() # 点击选择流程审批人 us.select_user_by_name('王聪') bt.click_flowpanel_button('发起') # 提交流程 lp.open_fisrt_doc() # 打开记录 self.assertEqual('王聪', fp.get_curnode_user(), msg=title + '测试不通过') po.user_login('wangcong', '123456') # 切换王聪登陆 mp.switch_to_menu_page() self.open_menus(self.menu1, menu2, menu3) # 打开相应的菜单 lp.open_fisrt_doc() # 打开记录 self.assertTrue(bt.is_button_exist('提交'), msg=title + '测试不通过') self.assertTrue(bt.is_button_exist('回退'), msg=title + '测试不通过') self.assertTrue(bt.is_button_exist('结束流程'), msg=title + '测试不通过')