def add_group_by_root_group_name(self, name, is_peer=True, parent_name='Default', confirm=True): """ 添加指定命名的根节点设备分组 参数: name: 设备分组名称 is_peer: 是否同级或下一级,默认为同级 confirm: 是否确认,默认为确认 """ if is_peer: GroupTree.click_group_menu_by_name(self, parent_name, '创建同级') else: GroupTree.click_group_menu_by_name(self, parent_name, '创建下一级') GROUP_NAME_INPUT = f'div[aria-label="{self.menu}"] > .el-dialog__body > div > div > .el-form > div > div > div > input' CONFIRM_BUTTON = f'div[aria-label="{self.menu}"] > .el-dialog__footer > .dialog-footer > .el-button--primary' CANCEL_BUTTON = f'div[aria-label="{self.menu}"] > .el-dialog__footer > .dialog-footer > .el-button--info' self.update_text(GROUP_NAME_INPUT, name) if confirm: self.slow_click(CONFIRM_BUTTON) self.sleep(1) else: self.slow_click(CANCEL_BUTTON)
def assert_view_device_group_by_name(self, name): self.menu = '详情' CANCEL_VIEW_DEVICE_GROUP = f'div[aria-label="{self.menu}"] >.el-dialog__footer > span > button.el-button.el-button--primary' GroupTree.click_group_menu_by_name(self, name, self.menu) DevicePage.assert_element_text(self, '.div-right-detail', name) self.click(CANCEL_VIEW_DEVICE_GROUP) self.sleep(1)
def add_department_by_parent_department_name(self, name, parent_name='Default', is_peer=True, confirm=True): """ 添加指定命名的子部门 参数: name: 子部门名称 parent_name: 父部门名称,默认为Default is_peer: 是否同级或下一级,默认为同级 confirm: 是否确认,默认为确认 """ if is_peer: GroupTree.click_group_menu_by_name(self, parent_name, '创建同级') else: GroupTree.click_group_menu_by_name(self, parent_name, '创建下一级') DEPARTMENT_NAME_INPUT = f'div[aria-label="{self.menu}"] > .el-dialog__body > div > span > div > input' CONFIRM_BUTTON = f'div[aria-label="{self.menu}"] > .el-dialog__footer > .dialog-footer > .el-button--primary' CANCEL_BUTTON = f'div[aria-label="{self.menu}"] > .el-dialog__footer > .dialog-footer > .el-button--info' self.update_text(DEPARTMENT_NAME_INPUT, name) if confirm: self.slow_click(CONFIRM_BUTTON) else: self.slow_click(CANCEL_BUTTON)
def add_portrait_database_by_name(self, name, type='白名单', is_frontend=False, confirm=True): """ 添加指定命名和类型的人像库 参数: name: 人像库名称 type: 人像库类型,默认为白名单,可选重点人员 is_frontend: confirm: 是否确认,默认为确认 """ GroupTree.click_group_menu_by_name(self, type, "创建下一级") GROUP_TYPE_XDROPDOWN = '//div[@class="el-dialog__body"]//input[@placeholder="请选择"]' GROUP_TYPE_XOPTION = f'//div[@class="el-scrollbar"][1]//span[text()="{type}"]' GROUP_IS_FRONTEND_XSWITCH = '//div[@class="el-dialog__body"]//div[@class="el-switch"]' self.click(GROUP_TYPE_XDROPDOWN) self.slow_click(GROUP_TYPE_XOPTION) PortraitPage.input_portrait_database_name(self, name) if is_frontend: self.click(GROUP_IS_FRONTEND_XSWITCH, delay=1) if confirm: Dialog.click_dialog_footer_button_by_text(self, '创建下一级', '确定') else: Dialog.click_dialog_footer_button_by_text(self, '创建下一级', '取消')
def search_portrait_database_by_name(self, name): """ 搜索指定命名的人像库 参数: name: 人像库名称 """ GroupTree.search_group_by_name(self, name)
def test_search_dep_by_name(self, dep_name): # 测试group_tree的搜索功能 GroupTree(dep_name[0]).search_dep_by_name(dep_name[1]) # 断言搜索到的内容<前端缩略显示的>在dep_name字符串内 result = GroupTree(dep_name[0]).judge_search_success(dep_name[1]) # 正则表达式匹配 - 'UDN-871888...' in 'UDN-871888b9-8004-4b95-954f-562f3e50d421' 字符串在字符内部 # result = re.match('^[.]', result) # TODO assert True
def click_portrait_database_by_name(self, name, type='白名单'): """ 点击指定名称人像库 参数: name: 人像库名称 type: 人像库类型,默认为白名单,可选重点人员 """ PortraitPage.expend_portrait_database_by_type(self, type) GroupTree.click_group_by_name(self, name)
def add_department_by_root_name(self, flag=True): """ 从根部门 - Default 下创建 同级 / 下一级 分组 :param flag: 判断是创建同级分组还是下一级分组 :return: 当前需要创建的分组类别 """ if flag: GroupTree(self.driver).click_menu_by_name("Default", "创建同级") title_name = "创建同级" else: GroupTree(self.driver).click_menu_by_name("Default", "创建下一级") title_name = "创建下一级" return title_name
def create_department_from_user_defined(self, group_name, parent_name="Default", is_peer=True): if is_peer: # 滑动到创建同级分组 GroupTree(self.driver).click_menu_by_name(parent_name, "创建同级") # 动态定位title 为 创建同级 GroupTree(self.driver).create_dep_group_com(group_name, "创建同级") else: # 滑动到创建下一级分组 GroupTree(self.driver).click_menu_by_name(parent_name, "创建下一级") # 动态定位title 为 创建下一级 GroupTree(self.driver).create_dep_group_com(group_name, "创建下一级")
def view_portrait_database_by_name(self, name, confirm=True): """ 查看指定命名人像库 参数: name: 人像库名称 confirm: 是否确认,默认为确认 """ PortraitPage.search_portrait_database_by_name(self, name) GroupTree.click_group_menu_by_name(self, name, menu='详情') if confirm: Dialog.click_dialog_footer_button_by_text(self, '详情', '确定') else: Dialog.click_dialog_footer_button_by_text(self, '详情', '取消')
def delete_group_by_name(self, name, confirm=True): """ 删除指定命名的设备分组 参数: name: 设备分组名称 confirm: 是否确认,默认为确认 """ GroupTree.click_group_menu_by_name(self, name, '删除') CANCEL_BUTTON = f'div[aria-label="{self.menu}"] > .el-dialog__footer > .dialog-footer > .el-button--info' DELETE_BUTTON = f'div[aria-label="{self.menu}"] > .el-dialog__footer > .dialog-footer > .el-button--danger' if confirm: self.slow_click(DELETE_BUTTON) else: self.slow_click(CANCEL_BUTTON)
def create_department_from_Default(self, group_name, is_peer=True): """ 通过Default部门创建 同级/下一级分组 :param group_name: 组名称 :param is_peer: 判断是否创建同级分组 默认为创建同级 """ if is_peer: # 滑动到创建同级分组 GroupTree(self.driver).click_menu_by_name("Default", "创建同级") # 动态定位title 为 创建同级 GroupTree(self.driver).create_dep_group_com(group_name, "创建同级") else: # 滑动到创建下一级分组 GroupTree(self.driver).click_menu_by_name("Default", "创建下一级") # 动态定位title 为 创建下一级 GroupTree(self.driver).create_dep_group_com(group_name, "创建下一级")
def rename_group_by_parent_name(self, old_name, new_name, parent_name='Default', confirm=True): GroupTree.click_group_by_name(self, parent_name) GroupTree.click_group_menu_by_name(self, old_name, '重命名') self.menu = '编辑' GROUP_NAME_INPUT = f'div[aria-label="{self.menu}"] > .el-dialog__body > div > div > .el-form > div > div > div > input ' CONFIRM_BUTTON = f'div[aria-label="{self.menu}"] > .el-dialog__footer > .dialog-footer > .el-button--primary' CANCEL_BUTTON = f'div[aria-label="{self.menu}"] > .el-dialog__footer > .dialog-footer > .el-button--info' self.update_text(GROUP_NAME_INPUT, new_name) if confirm: self.click_visible_elements(CONFIRM_BUTTON) else: self.slow_click(CANCEL_BUTTON)
def delete_floor_by_name(self, name, confirm=True): """ 删除指定命名的楼层 参数: name: 楼层名称 confirm: 是否确认,默认为确认 """ MapPage.search_floor_by_name(self, name) GroupTree.click_group_menu_by_name(self, name, '删除') CANCEL_BUTTON = f'div[aria-label="{self.menu}"] > .el-message-box > .el-message-box__btns > .el-button--info' DELETE_BUTTON = f'div[aria-label="{self.menu}"] > .el-message-box > .el-message-box__btns > .el-button--danger' if confirm: self.slow_click(DELETE_BUTTON) else: self.slow_click(CANCEL_BUTTON)
def rename_portrait_database_by_name(self, old_name, new_name, confirm=True): """ 重命名指定命名人像库 参数: old_name: 原人像库名称 new_name: 新人像库名称 confirm: 是否确认,默认为确认 """ PortraitPage.search_portrait_database_by_name(self, old_name) GroupTree.click_group_menu_by_name(self, old_name, menu='重命名') PortraitPage.input_portrait_database_name(self, new_name) if confirm: Dialog.click_dialog_footer_button_by_text(self, '编辑', '确定') else: Dialog.click_dialog_footer_button_by_text(self, '编辑', '取消')
def rename_floor_by_root_floor_name(self, old_name, new_name, confirm=True): """ 重命名根节点楼层名称 参数: old_name: 原楼层名称 new_name: 新楼层名称 confirm: 是否确认,默认为确认 """ GroupTree.click_group_menu_by_name(self, old_name, '重命名') GROUP_NAME_INPUT = f'div[aria-label="{self.menu}"] > .el-dialog__body > .el-form > div > div > div > input ' CONFIRM_BUTTON = f'div[aria-label="{self.menu}"] > .el-dialog__footer > .dialog-footer > .el-button--primary' CANCEL_BUTTON = f'div[aria-label="{self.menu}"] > .el-dialog__footer > .dialog-footer > .el-button--info' self.update_text(GROUP_NAME_INPUT, new_name) if confirm: self.slow_click(CONFIRM_BUTTON) else: self.slow_click(CANCEL_BUTTON)
def delete_department_by_name(self, sub_name=None, parent_name="Default", is_peer=True, delete=True): """ 通过组名称删除分组 :param sub_name: 子级分组 :param parent_name: 父级分组 :param is_peer: 判断删除父级/子级分组,默认删除父级 :param delete: 判断点击删除还是取消按钮,默认删除 """ if is_peer: GroupTree(self.driver).click_group_by_name(parent_name) # 滑动到删除 GroupTree(self.driver).click_menu_by_name(parent_name, "删除") else: # 点击父级分组,出现子级分组列表 GroupTree(self.driver).click_group_by_name(parent_name) time.sleep(0.5) # 滑动到删除 GroupTree(self.driver).click_menu_by_name(sub_name, "删除") if delete: # 点击删除按钮 GroupTree(self.driver).delete_dep_group_com() else: # 点击取消按钮 GroupTree(self.driver).delete_dep_group_com(delete=False)