Exemplo n.º 1
0
 def test_add_tag(init_test_view):
     """给音素添加标记"""
     operate_case, operate_view = init_test_view
     data = api.read_excel('test_add_tag')
     # 根据案件名找到指定案件并打开案件
     case_name = data.get('case_name')
     operate_case.open_case(case_name)
     # 定义操作哪个语谱图窗口
     window_index = int(data.get('window_index'))
     # 获取当前标记个数
     current_tag_num = operate_view.get_tag_and_phoneme_num(
         '标记', window_index)
     # 切换到音素标签页
     operate_view.switch_tab('音素', window_index)
     time.sleep(1)
     operate_view.add_tag(window_index)
     time.sleep(1)
     # 再次获取标记个数
     finally_tag_num = operate_view.get_tag_and_phoneme_num(
         '标记', window_index)
     # 断言标记个数是否+1
     assert finally_tag_num == current_tag_num + 1
     # 还原环境,删除标记
     operate_view.switch_tab('标记', window_index)
     operate_view.del_all_tag(window_index)
Exemplo n.º 2
0
 def test_del_tag(init_test_view):
     """删除标记"""
     operate_case, operate_view = init_test_view
     data = api.read_excel('test_del_tag')
     # 根据案件名找到指定案件并打开案件
     case_name = data.get('case_name')
     operate_case.open_case(case_name)
     # 定义操作哪个语谱图窗口
     window_index = int(data.get('window_index'))
     # 在音素列表中添加一个标记
     operate_view.switch_tab('音素', window_index)
     time.sleep(0.5)
     operate_view.add_tag(window_index)
     time.sleep(0.5)
     # 获取当前标记个数
     current_tag_num = operate_view.get_tag_and_phoneme_num(
         '标记', window_index)
     operate_view.switch_tab('标记', window_index)
     time.sleep(0.5)
     operate_view.del_all_tag(window_index)
     time.sleep(0.5)
     finally_tag_num = operate_view.get_tag_and_phoneme_num(
         '标记', window_index)
     # 断言删除后的标记个数
     assert finally_tag_num == current_tag_num - 1
Exemplo n.º 3
0
 def test_user_and_group(login, init_test_menu):
     """测试新增用户"""
     operate_menu = init_test_menu
     # 打开用户管理窗口
     operate_menu.open_menu('设置', '用户管理')
     data = api.read_excel('test_user_and_group')
     user_name = data.get('user_name')
     group_name = data.get('group_name')
     # 新增用户组
     operate_menu.add_user_group(group_name)
     add_user_group_test_result = operate_menu.find_user_group(group_name)
     assert add_user_group_test_result
     # 新增用户
     operate_menu.add_user(group_name, user_name)
     # 断言:用户分组下是否存在刚才添加的用户
     add_user_test_result = operate_menu.find_user(group_name, user_name)
     assert add_user_test_result
     # 删除用户
     operate_menu.del_user(group_name, user_name)
     del_user_test_result = operate_menu.find_user(group_name, user_name)
     assert not del_user_test_result
     # 删除用户组
     operate_menu.del_user_group(group_name)
     del_user_group_test_result = operate_menu.find_user_group(group_name)
     assert not del_user_group_test_result
     # 关闭用户管理窗口
     operate_menu.close_user_window()
Exemplo n.º 4
0
 def test_export_case_accept_record(init_test_case):
     """导出案件受理记录"""
     operate_case, operate_view = init_test_case
     data = api.read_excel('test_export_case_accept_record')
     # 新建案件
     case_name = api.create_case_name()
     operate_case.add_case(case_name)
     # 新建检材文件夹,并上传音频
     operate_case.add_folder(case_name, '检材')
     time.sleep(0.5)
     operate_case.click_unfold_or_hide(case_name)
     file_path = data.get('material_audio')
     operate_case.add_file('检材', file_path)
     # 新建样本文件夹,并上传音频
     operate_case.add_folder(case_name, '样本')
     time.sleep(0.5)
     file_path = data.get('sample_audio')
     operate_case.add_file('样本', file_path)
     # 切换到案件列表标签页
     operate_case.switch_tab('案件列表')
     # 导出案件受理记录
     export_path = data.get('export_path')
     file_name = export_path + os.path.sep + f"案件《{case_name}》受理记录.docx"
     export_window_name = data.get('export_window_name')
     operate_case.export_case_accept_record(case_name, file_name, export_window_name)
     time.sleep(10)
     # 断言
     test_result = os.path.exists(file_name)
     assert test_result
     api.remove_doc(export_path)
Exemplo n.º 5
0
 def test_allocate_case_to_group(login, init_test_case):
     """分发案件给用户组"""
     operate_case, operate_view = init_test_case
     data = api.read_excel('test_allocate_case_to_group')
     group_name = data.get('group_name')
     case_name = api.create_case_name()
     operate_case.add_case(case_name)
     operate_case.allocate_case_to_group(case_name, group_name)
     prompt_message = api.prompt_message(login).text
     assert prompt_message == data.get('prompt_message')
Exemplo n.º 6
0
 def test_get_snr(init_test_view):
     """获取音频文件SNR值"""
     operate_case, operate_view = init_test_view
     data = api.read_excel('test_get_snr')
     case_name = data.get('case_name')
     audio_name = data.get('audio_name')
     info_name = data.get('info_name')
     operate_case.open_case(case_name)
     snr_value = operate_case.get_audio_info(audio_name, info_name)
     time.sleep(3)
     assert snr_value
Exemplo n.º 7
0
 def test_import_case(init_test_case):
     """案件导入"""
     operate_case, operate_view = init_test_case
     data = api.read_excel('test_import_case')
     file_path = data.get('file_path')
     case_name = file_path.split('\\')[-1][:-4]
     window_name = data.get('window_name')
     operate_case.import_case(file_path, window_name)
     time.sleep(5)
     test_result = operate_case.find_case_in_list(case_name)
     assert test_result
Exemplo n.º 8
0
 def test_get_mos(init_test_view):
     """测试获取音频文件MOS值"""
     operate_case, operate_view = init_test_view
     data = api.read_excel('test_get_mos')
     case_name = data.get('case_name')
     audio_name = data.get('audio_name')
     info_name = data.get('info_name')
     operate_case.open_case(case_name)
     time.sleep(1)
     mos_value = operate_case.get_audio_info(audio_name, info_name)
     time.sleep(3)
     assert mos_value
Exemplo n.º 9
0
 def test_password_change_succeed(login, init_test_menu):
     """修改密码成功"""
     operate_menu = init_test_menu
     operate_menu.open_menu('设置', '修改密码')
     data = api.read_excel('test_password_change_succeed')
     old_password = data.get('old_password')
     new_password = data.get('new_password')
     confirm_password = data.get('confirm_password')
     operate_menu.change_password(old_password, new_password,
                                  confirm_password)
     time.sleep(1)
     prompt_message = api.get_prompt_message(login)
     assert prompt_message == data.get('msg')
Exemplo n.º 10
0
 def test_allocate_case_to_user(login, init_test_case):
     """将分发案件给单个用户"""
     operate_case, operate_view = init_test_case
     data = api.read_excel('test_allocate_case_to_user')
     group_name = data.get('group_name')
     user_name = data.get('user_name')
     case_name = api.create_case_name()
     operate_case.add_case(case_name)
     operate_case.allocate_case_to_user(case_name, group_name, user_name)
     time.sleep(1)
     prompt_message = api.prompt_message(login).text
     time.sleep(1)
     assert prompt_message == data.get('prompt_message')
Exemplo n.º 11
0
 def test_upload_wav(self, init_test_case):
     operate_case, operate_view = init_test_case
     # 读取excel数据
     data = api.read_excel('test_upload_wav')
     file_path = data.get('file_path')
     assert_result = data.get('assert_result')
     # 新建案件
     case_name = api.create_case_name()
     operate_case.add_case(case_name)
     # 上传音频
     operate_case.add_file(case_name, file_path)
     # 验证音频是否存在
     result = operate_case.find_file(case_name, assert_result)
     assert result
Exemplo n.º 12
0
 def test_add_repetition_case(login, init_test_case):
     """新增重复案件"""
     operate_case, operate_view = init_test_case
     data = api.read_excel('test_add_repetition_case')
     case_name = api.create_case_name()
     # 新建案件
     operate_case.add_case(case_name)
     operate_case.switch_tab('案件列表')
     # 新建重复案件
     operate_case.add_case(case_name)
     # 获取提示信息
     prompt_message = api.prompt_message(login).text
     assert prompt_message == data.get('prompt_message')
     # 关闭新增案件窗口
     operate_case.close_add_case_window()
Exemplo n.º 13
0
 def test_new_password_diff(login, init_test_menu):
     """修改密码时,两次新密码不同"""
     operate_menu = init_test_menu
     operate_menu.open_menu('设置', '修改密码')
     data = api.read_excel('test_new_password_diff')
     old_password = data.get('old_password')
     new_password = data.get('new_password')
     confirm_password = data.get('confirm_password')
     operate_menu.change_password(old_password, new_password,
                                  confirm_password)
     time.sleep(1)
     prompt_message = api.prompt_message(login).text
     assert prompt_message == data.get('msg')
     time.sleep(1)
     # 关闭修改密码窗口
     operate_menu.close_password_window()
Exemplo n.º 14
0
 def test_add_inspection_record(init_test_tool):
     operate_case, operate_tool, tool_page = init_test_tool
     """新增检验记录"""
     # 从excel读取数据
     data = api.read_excel('test_add_inspection_record')
     case_name = data.get('case_name')
     # 打开案件
     operate_case.open_case(case_name)
     operate_tool.add_inspection_record(**data)
     save_prompt_message = tool_page.prompt_message().text
     # 保存结果断言
     assert save_prompt_message == data.get('save_prompt_message')
     # 关闭提示信息窗口及二级窗口
     operate_tool.click_confirm_button()
     time.sleep(0.5)
     operate_tool.close_level_2_window()
Exemplo n.º 15
0
 def test_upload_android_amr(self, init_test_case):
     """添加安卓微信音频文件"""
     operate_case, operate_view = init_test_case
     # 读取excel数据
     data = api.read_excel('test_upload_android_amr')
     file_path = data.get('file_path')
     file_type = data.get('file_type')
     assert_result = data.get('assert_result')
     # 新建案件
     case_name = api.create_case_name()
     operate_case.add_case(case_name)
     # 上传音频
     operate_case.add_file(case_name, file_path, file_type)
     # 验证音频是否存在
     result = operate_case.find_file(case_name, assert_result)
     assert result
Exemplo n.º 16
0
 def test_add_32k_sampling_rate_file(init_test_view):
     """新增32K采样率音频文件"""
     operate_case, operate_view = init_test_view
     data = api.read_excel('test_add_32k_sampling_rate_file')
     # 新建案件
     case_name = api.create_case_name()
     operate_case.switch_tab('案件列表')
     operate_case.add_case(case_name)
     time.sleep(1)
     # 新建16K音频
     sampling_rate = data.get('sampling_rate')
     operate_view.add_file(0, sampling_rate)
     time.sleep(1)
     # 断言
     sampling_rate = operate_view.get_sampling_rate(0)
     assert sampling_rate == '32kHz'
Exemplo n.º 17
0
 def test_export_case(self, init_test_case):
     """导出案件"""
     operate_case, operate_view = init_test_case
     data = api.read_excel('test_export_case')
     case_name = api.create_case_name()
     operate_case.add_case(case_name)
     operate_case.switch_tab('案件列表')
     operate_case.selected_case_in_list(case_name)
     file_path = data.get('file_path')
     window_name = data.get('window_name')
     file_name = file_path + os.path.sep + case_name + ".spk"
     operate_case.export_case(case_name, file_name, window_name)
     time.sleep(3)
     test_result = os.path.exists(file_name)
     assert test_result
     # 还原测试环境,删除导出的案件
     api.remove_spk(file_name)
Exemplo n.º 18
0
 def test_add_identify_opinion(init_test_tool):
     """新增鉴定意见"""
     operate_case, operate_tool, tool_page = init_test_tool
     # 读取excel数据
     data = api.read_excel('test_add_identify_opinion')
     case_name = data.get('case_name')
     # 打开案件
     operate_case.open_case(case_name)
     # 打开鉴定意见
     operate_tool.open_identify_opinion()
     # 新增鉴定意见
     operate_tool.add_identify_opinion(**data)
     time.sleep(1)
     # 对结果进行断言
     save_prompt_message = tool_page.prompt_message().text
     assert save_prompt_message == data.get('save_prompt_message')
     # 关闭提示信息窗口及二级窗口
     operate_tool.click_confirm_button()
     operate_tool.close_level_2_window()
Exemplo n.º 19
0
 def test_cancel_filter_phoneme(init_test_view):
     """减少过滤音素"""
     operate_case, operate_view = init_test_view
     data = api.read_excel('test_cancel_filter_phoneme')
     # 根据案件名找到指定案件并打开案件
     case_name = data.get('case_name')
     operate_case.open_case(case_name)
     # 定义操作哪个语谱图窗口
     window_index = int(data.get('window_index'))
     # 切换到音素标签页
     operate_view.switch_tab('音素', window_index)
     time.sleep(1)
     # 获取当前音素过滤数量
     current_filter_num = operate_view.get_filter_num(window_index)
     # 取消过滤一个音素
     operate_view.cancel_filter_phoneme()
     time.sleep(1)
     finally_filter_num = operate_view.get_filter_num()
     assert current_filter_num - 1 == finally_filter_num
Exemplo n.º 20
0
 def test_export_identify_opinion(init_test_tool):
     """导出鉴定意见"""
     operate_case, operate_tool, tool_page = init_test_tool
     data = api.read_excel('test_export_identify_opinion')
     case_name = data.get('case_name')
     file_path = data.get('file_path')
     window_name = data.get('window_name')
     # 打开案件
     operate_case.open_case(case_name)
     time.sleep(1)
     operate_tool.open_identify_opinion()
     operate_tool.export_identify_opinion(file_path, window_name)
     # 对结果进行断言
     export_prompt_message = tool_page.prompt_message().text
     assert export_prompt_message == data.get('export_prompt_message')
     # 关闭提示信息窗口及二级窗口
     operate_tool.click_confirm_button()
     operate_tool.close_level_2_window()
     # 还原测试环境,删除导出的文件
     api.remove_doc(data.get('file_path'))
Exemplo n.º 21
0
 def test_insert_picture(init_test_tool):
     """给检验记录上传图片"""
     operate_case, operate_tool, tool_page = init_test_tool
     data = api.read_excel('test_insert_picture')
     file_path = data.get('file_path')
     file_name = file_path.split('\\')[-1]
     window_name = data.get('window_name')
     operate_case.switch_tab('案件列表')
     case_name = api.create_case_name()
     operate_case.add_case(case_name)
     # 打开检验记录
     inspection_record_window = operate_tool.open_inspection_record()
     operate_tool.switch_inspection_record_tab(inspection_record_window,
                                               '送检材料情况')
     # 上传图片
     operate_tool.upload_picture(file_path, window_name)
     # 断言:上传图片是否成功
     upload_prompt_message = tool_page.prompt_message().text
     assert upload_prompt_message == data.get('upload_prompt_message')
     tool_page.prompt_message_button(button_name='确定').click()
     time.sleep(0.5)
     # 将图片插入到检验记录正文
     operate_tool.insert_picture_to_text()
     time.sleep(0.5)
     # 断言:图片是否插入到文本域中
     textarea = tool_page.inspection_record_textarea(
         inspection_record_window)
     textarea_content = textarea.text
     print(textarea_content)
     assert textarea_content.count(file_name)
     time.sleep(0.5)
     # 点击【保存】按钮
     operate_tool.click_inspection_record_button('保存')
     time.sleep(0.5)
     # 关闭二级窗口
     operate_tool.click_confirm_button()
     time.sleep(0.5)
     operate_tool.close_level_2_window()
Exemplo n.º 22
0
 def test_case_recycle_search(init_test_case):
     """案件回收站搜索功能"""
     operate_case, operate_view = init_test_case
     data = api.read_excel('test_case_recycle_search')
     # 新建案件
     key_word = data.get('key_word')
     case_name = api.create_case_name()
     operate_case.add_case(case_name)
     # 切换到案件列表
     operate_case.switch_tab('案件列表')
     time.sleep(0.5)
     # 删除案件
     operate_case.del_case(case_name)
     time.sleep(1)
     # 进入案件回收站
     operate_case.switch_tab('回收站')
     time.sleep(1)
     # 进行搜索
     operate_case.search_case(key_word)
     time.sleep(1)
     # 对搜索结果进行断言
     case_element_list = operate_case.search_result_in_recycle(case_name)
     test_result = False
     if len(case_element_list):
         for case_element in case_element_list:
             case_name = case_element.text
             find_result = case_name.find(key_word)
             if find_result == -1:
                 test_result = False
             else:
                 test_result = True
     else:
         test_result = False
     assert test_result
     # 环境还原
     operate_case.clear_search_keyword()