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)
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
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()
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)
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')
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
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
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
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')
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')
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
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()
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()
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()
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
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'
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)
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()
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
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'))
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()
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()