예제 #1
0
 def add_case(self,
              case_name: str,
              case_attribute: str = '私有',
              level_1_classify: str = '无分类',
              level_2_classify: str = None):
     """
     新增案件,新增成功后案件会自动打开
     :param case_name: 案件名
     :param case_attribute: 共享、私有
     :param level_1_classify: 一级分类
     :param level_2_classify: 二级分类
     :return: None
     """
     # 点击【新建】按钮
     time.sleep(0.5)
     self.case_page.case_button(button_name='新建案件').click()
     time.sleep(0.5)
     add_case_window = api.level_2_window(self.browser)
     # 输入案件名
     self.case_page.case_name_input_box(add_case_window).send_keys(
         case_name)
     # 选择案件属性
     self.case_page.case_attribute_radio(add_case_window,
                                         case_attribute).click()
     # 选择案件分类
     self.case_page.case_classify_drop_down_box(add_case_window).click()
     time.sleep(0.5)
     self.choose_case_classify(level_1_classify, level_2_classify)
     time.sleep(0.5)
     # 点击【新建】按钮
     self.case_page.window_button(add_case_window, button_name='确定').click()
     time.sleep(0.5)
예제 #2
0
 def close_user_window(self):
     """
     关闭用户管理窗口
     :return: None
     """
     user_manager_window = api.level_2_window(self.browser)
     self.menu_page.close_window_button(user_manager_window).click()
예제 #3
0
 def close_password_window(self):
     """
     关闭修改密码窗口
     :return: None
     """
     password_window = api.level_2_window(self.browser)
     self.menu_page.password_window_button(password_window, '取消').click()
예제 #4
0
 def restore_case(self):
     """
     案件回收站的案件进行还原
     :return: None
     """
     self.case_page.case_button('还原').click()
     prompt_window = api.level_2_window(self.browser)
     self.case_page.window_button(prompt_window, '确定').click()
예제 #5
0
 def find_user_group(self, group_name):
     """
     查找用户组
     :param group_name: 用户组名称
     :return: 用户组元素对象
     """
     user_manager_window = api.level_2_window(self.browser)
     result = self.menu_page.find_group_by_name(user_manager_window, group_name)
     return result
예제 #6
0
 def del_picture(self, picture_name):
     self.case_page.unfold_and_hide_button(folder_name='我的图片').click()
     time.sleep(0.5)
     picture_file = self.case_page.find_file_by_name(picture_name)
     picture_file.click()
     time.sleep(0.5)
     ActionChains(self.browser).context_click(picture_file).perform()
     self.case_page.file_context_menu('删除').click()
     time.sleep(0.5)
     prompt_window = api.level_2_window(self.browser)
     self.case_page.window_button(prompt_window, '确定').click()
예제 #7
0
 def add_identify_opinion(self, **data):
     # 定位鉴定意见窗口
     identify_opinion_window = api.level_2_window(self.browser)
     # 输入标题
     title = self.tool_page.identify_opinion_input(identify_opinion_window,
                                                   '标题')
     title.clear()
     title.send_keys(data.get('title'))
     # 输入页眉
     page_header = self.tool_page.identify_opinion_input(
         identify_opinion_window, '页眉')
     page_header.clear()
     page_header.send_keys(data.get('page_header'))
     # 输入页脚
     page_footer = self.tool_page.identify_opinion_input(
         identify_opinion_window, '页脚')
     page_footer.clear()
     page_footer.send_keys(data.get('page_footer'))
     time.sleep(1)
     # 切换到案件简介标签页进行输入
     self.tool_page.identify_opinion_tab(identify_opinion_window,
                                         '案件简介').click()
     title_1 = self.tool_page.identify_opinion_input(
         identify_opinion_window, '一')
     title_1.clear()
     title_1.send_keys(data.get('title_1'))
     textarea_1 = self.tool_page.identify_opinion_textarea(
         identify_opinion_window)
     textarea_1.clear()
     textarea_1.send_keys(data.get('textarea_1'))
     time.sleep(1)
     # 切换到比对结果进行输入
     self.tool_page.identify_opinion_tab(identify_opinion_window,
                                         '比对结果').click()
     title_3 = self.tool_page.identify_opinion_input(
         identify_opinion_window, '三')
     title_3.clear()
     title_3.send_keys(data.get('title_3'))
     textarea_3 = self.tool_page.identify_opinion_textarea(
         identify_opinion_window)
     textarea_3.clear()
     textarea_3.send_keys(data.get('textarea_3'))
     identifier = self.tool_page.identify_opinion_input(
         identify_opinion_window, '鉴定人')
     identifier.clear()
     identifier.send_keys(data.get('identifier'))
     identify_data = self.tool_page.identify_opinion_input(
         identify_opinion_window, '鉴定日期')
     identify_data.clear()
     identify_data.send_keys(data.get('identify_data'))
     time.sleep(1)
     self.tool_page.identify_opinion_button(identify_opinion_window,
                                            '保存').click()
     time.sleep(1)
예제 #8
0
 def find_user(self, group_name, user_name):
     """
     查找指定用户组下面的指定用户
     :param group_name: 用户组名称
     :param user_name: 用户名称
     :return: 用户元素对象
     """
     user_manager_window = api.level_2_window(self.browser)
     self.find_user_group(group_name).click()
     result = self.menu_page.find_user_by_name(user_manager_window, user_name)
     return result
예제 #9
0
 def del_user(self, group_name, user_name):
     """
     删除指定用户组下面的指定用户
     :param group_name: 用户组名称
     :param user_name: 用户名称
     :return: None
     """
     user_manager_window = api.level_2_window(self.browser)
     self.find_user(group_name, user_name).click()
     self.menu_page.del_user_button(user_manager_window).click()
     level_3_window = api.level_3_window(self.browser)
     api.level_window_button(level_3_window, '确定').click()
예제 #10
0
 def open_inspection_record(self):
     """
     打开检验记录窗口
     :return: 检验记录窗口对象
     """
     # 点击报告按钮
     self.click_tool_button('报告')
     # 点击打开检验记录
     self.tool_page.report(report_type='检验记录').click()
     # 定位“检验记录”窗口
     inspection_record_window = api.level_2_window(self.browser)
     return inspection_record_window
예제 #11
0
 def add_folder(self, parent_folder_name, folder_name):
     """
     新增子文件夹
     :param parent_folder_name: 父文件夹
     :param folder_name: 子文件夹名称
     :return:
     """
     parent_folder = self.case_page.folder_name(parent_folder_name)
     self.context_menu_operate(parent_folder, '新建文件夹')
     add_folder_window = api.level_2_window(self.browser)
     self.case_page.folder_name_input(add_folder_window).send_keys(
         folder_name)
     self.case_page.window_button(add_folder_window, '确认').click()
예제 #12
0
 def export_identify_opinion(self, file_path, window_name):
     """
     导出鉴定意见
     :param file_path: 文件路径及文件名
     :param window_name: 导出窗口标题
     :return: None
     """
     # 定位鉴定意见窗口
     identify_opinion_window = api.level_2_window(self.browser)
     self.tool_page.identify_opinion_button(identify_opinion_window,
                                            '导出').click()
     api.export_file(file_path, window_name)
     time.sleep(5)
예제 #13
0
 def del_user_group(self, group_name):
     """
     删除用户组
     :param group_name: 用户组名称
     :return: None
     """
     user_manager_window = api.level_2_window(self.browser)
     self.menu_page.find_group_by_name(user_manager_window, group_name).click()
     time.sleep(0.5)
     self.menu_page.group_button(user_manager_window, group_name, 1).click()
     time.sleep(0.5)
     prompt_window = api.level_3_window(self.browser)
     self.menu_page.confirm_button(prompt_window).click()
예제 #14
0
 def add_user_group(self, group_name):
     """
     新增用户组
     :param group_name: 用户组名称
     :return: None
     """
     user_manager_window = api.level_2_window(self.browser)
     self.menu_page.add_user_group_button(user_manager_window).click()
     time.sleep(0.5)
     add_group_window = api.level_3_window(self.browser)
     self.menu_page.user_group_input(add_group_window).send_keys(group_name)
     time.sleep(0.5)
     self.menu_page.confirm_button(add_group_window).click()
예제 #15
0
 def change_password(self, old_password, new_password, confirm_password):
     """
     修改密码
     :param old_password: 旧密码
     :param new_password: 新密码
     :param confirm_password: 确认新密码
     :return: None
     """
     password_window = api.level_2_window(self.browser)
     self.menu_page.password_input(password_window, 0).send_keys(old_password)
     self.menu_page.password_input(password_window, 1).send_keys(new_password)
     self.menu_page.password_input(password_window, 2).send_keys(confirm_password)
     self.menu_page.password_window_button(password_window, '保存').click()
예제 #16
0
 def complete_del_case(self, case_name):
     """
     回收站,彻底删除案件
     :param case_name:
     :return: None
     """
     # 执行删除操作
     case = self.case_page.find_case_in_recycle(case_name)
     self.context_menu_operate(case, button_name='彻底删除')
     time.sleep(0.5)
     # 操作确认提示框点击【确定】
     prompt_window = api.level_2_window(self.browser)
     self.case_page.window_button(prompt_window, '确定').click()
     time.sleep(2)
예제 #17
0
 def rename_case(self, case_name, new_name):
     """
     案件重命名
     :param case_name: 案件名
     :param new_name: 新案件名
     :return: None
     """
     self.case_context_menu_operate(case_name, '修改案件')
     rename_window = api.level_2_window(self.browser)
     case_name_input = self.case_page.case_name_input_box(rename_window)
     case_name_input.clear()
     case_name_input.send_keys(new_name)
     time.sleep(0.5)
     self.case_page.window_button(rename_window, '确定').click()
예제 #18
0
 def export_inspection_record(self, file_path, window_name):
     """
     导出检验记录
     :param file_path: 文件保存路径及名称
     :param window_name: 导出窗口名
     :return: None
     """
     # 定位检验记录窗口
     inspection_record_window = api.level_2_window(self.browser)
     self.tool_page.inspection_record_button(inspection_record_window,
                                             '导出').click()
     self.click_inspection_record_button("导出")
     api.export_file(file_path, window_name)
     time.sleep(5)
예제 #19
0
 def export_case_accept_record(self, case_name, file_path, window_name):
     """"""
     self.case_context_menu_operate(case_name, button_name='导出案件受理记录')
     self.click_material_drop_down_box()
     time.sleep(0.5)
     self.choose_folder([case_name, '检材'])
     time.sleep(0.5)
     self.click_sample_drop_down_box()
     time.sleep(0.5)
     self.choose_folder([case_name, '样本'])
     time.sleep(0.5)
     level_2_window = api.level_2_window(self.browser)
     api.level_window_button(level_2_window, '确认').click()
     api.export_file(file_path, window_name)
예제 #20
0
 def del_all_tag(self, window_index=0):
     """
     全选标记进行删除
     :param window_index: 语谱图窗口序号,从0开始
     :return: None
     """
     view_window = self.view_page.view_window(window_index)
     # 点击【全选】按钮
     self.view_page.tag_check_box(view_window)[0].click()
     self.view_page.tag_operate_button(view_window, '批量删除').click()
     time.sleep(0.5)
     warning_window = api.level_2_window(self.browser)
     api.level_window_button(warning_window, '确定').click()
     time.sleep(0.5)
예제 #21
0
 def add_user(self, group_name, user_name):
     """
     指定用户组下新增用户
     :param group_name: 用户组名称
     :param user_name: 用户名
     :return: None
     """
     user_manager_window = api.level_2_window(self.browser)
     # 点击选中用户组,在该用户组下新增用户
     self.find_user_group(group_name).click()
     self.menu_page.add_user_button(user_manager_window).click()
     # 打开的新增用户窗口输入信息保存
     add_user_window = api.level_3_window(self.browser)
     self.menu_page.user_name_input(add_user_window).send_keys(user_name)
     self.menu_page.confirm_button(add_user_window).click()
예제 #22
0
 def allocate_case_to_group(self, case_name, group_name):
     """
     给用户组分发案件
     :param case_name: 案件名称
     :param group_name: 用户组名称
     :return: None
     """
     case = self.case_page.folder_name(case_name)
     self.context_menu_operate(case, '分发案件')
     allocate_window = api.level_2_window(self.browser)
     time.sleep(1)
     self.case_page.user_group_check_box(allocate_window,
                                         group_name).click()
     time.sleep(0.5)
     self.case_page.window_button(allocate_window, button_name='确定').click()
     time.sleep(1)
예제 #23
0
 def add_file(self, window_index: int, sampling_rate='16K'):
     """
     新建文件
     :param window_index: 视图窗口序号
     :param sampling_rate: 采样率(只能是8K/16K/32K)
     :return: None
     """
     view_window = self.view_page.view_window(window_index)
     # 点击【新建文件】按钮
     self.view_page.add_file_button(view_window, button_index=0).click()
     choose_sampling_rate_window = api.level_2_window(self.browser)
     # 选择采样率
     self.view_page.sampling_rate_radio_button(choose_sampling_rate_window,
                                               sampling_rate).click()
     time.sleep(0.5)
     api.level_window_button(choose_sampling_rate_window,
                             button_name='确定').click()
예제 #24
0
 def get_audio_info(self, audio_name, info_name: str):
     """
     获取音频信息
     :param audio_name: 音频文件名
     :param info_name: 信息字段名
     :return: 音频信息
     """
     self.case_page.unfold_and_hide_case_button().click()
     self.case_page.unfold_and_hide_button(folder_name='检材').click()
     time.sleep(0.5)
     audio_file = self.case_page.find_file_by_name(audio_name)
     audio_file.click()
     time.sleep(0.5)
     ActionChains(self.browser).context_click(audio_file).perform()
     self.case_page.file_context_menu('文件详情').click()
     time.sleep(0.5)
     level_2_window = api.level_2_window(self.browser)
     info = self.case_page.audio_info(level_2_window, info_name)
     info_value = info.text
     return info_value
예제 #25
0
 def add_file(self, folder_name, file_path, file_type='常见格式'):
     """
     给指定文件夹下上传音频文件
     :param folder_name: 目标文件夹名称
     :param file_path:
     :param file_type:
     :return:
     """
     folder = self.case_page.folder_name(folder_name)
     self.context_menu_operate(folder, button_name='添加文件')
     level_2_window = api.level_2_window(self.browser)
     self.case_page.file_format_radio_button(level_2_window,
                                             file_type).click()
     self.case_page.window_button(level_2_window, "浏 览").click()
     api.import_file(file_path, '打开')
     time.sleep(1)
     if file_type != 'Wavf':
         self.case_page.window_button(level_2_window, '开始转换').click()
         time.sleep(2)
     self.case_page.window_button(level_2_window, "开始上传").click()
     time.sleep(2)
     self.case_page.window_button(level_2_window, "确 定").click()
     time.sleep(1)
예제 #26
0
 def click_sample_drop_down_box(self):
     level_2_window = api.level_2_window(self.browser)
     self.case_page.sample_drop_down_box(level_2_window).click()
예제 #27
0
 def close_level_2_window(self):
     """"""
     level_2_window = api.level_2_window(self.browser)
     api.close_window_button(level_2_window).click()
예제 #28
0
 def click_material_drop_down_box(self):
     level_2_window = api.level_2_window(self.browser)
     self.case_page.material_drop_down_box(level_2_window).click()
예제 #29
0
 def click_inspection_record_button(self, button_name):
     """点击检验记录窗口的【插入图片】【预览】【保存】【导出】按钮"""
     inspection_record_window = api.level_2_window(self.browser)
     self.tool_page.inspection_record_button(inspection_record_window,
                                             button_name).click()
예제 #30
0
 def close_add_case_window(self):
     """关闭新增案件窗口"""
     add_case_window = api.level_2_window(self.browser)
     self.case_page.window_button(add_case_window, button_name='取消').click()