diff --git a/method/image_res/file_name_duplicates.png b/case/assert_res/test_dde_1271075.png similarity index 100% rename from method/image_res/file_name_duplicates.png rename to case/assert_res/test_dde_1271075.png diff --git a/case/test_dde_1271075.py b/case/test_dde_1271075.py new file mode 100644 index 0000000000000000000000000000000000000000..5b95d864db75c208d080a1927fed534487f15b43 --- /dev/null +++ b/case/test_dde_1271075.py @@ -0,0 +1,52 @@ +import pylinuxauto +import pytest +from case.base_case import BaseCase +from pylinuxauto import sleep +from method.dde_method import DdeMethod + + +class TestDdeCase(BaseCase): + def test_dde_1271075_1(self): + """文本编辑器——另存为 非重复文件名""" + euler = DdeMethod() + euler.base_method_create_file_in_documents_by_cmd("test.txt") + euler.dde_method_open_software_by_launcher("wenbenbianjiqi") + sleep(6) + euler.dde_editor_method_click_menu_btn_by_attr() + euler.dde_editor_method_choose_open_file_option_by_ocr() + sleep(3) + euler.dde_editor_method_click_documents_in_pop_window_by_img() + sleep(2) + pylinuxauto.ctrl_a() + pylinuxauto.enter() + sleep(3) + euler.dde_editor_method_click_menu_btn_by_attr() + sleep(1) + euler.dde_editor_method_choose_save_as_option_by_ocr() + sleep(3) + euler.dde_method_rename_file_in_pop_window_by_attr("new.txt") + self.assert_file_exist("~/Documents/new.txt") + + def test_dde_1271075_2(self, clear_file_in_documents): + """文本编辑器——另存为 重复文件名""" + euler = DdeMethod() + sleep(3) + euler.dde_editor_method_click_menu_btn_by_attr() + sleep(1) + euler.dde_editor_method_choose_save_as_option_by_ocr() + sleep(3) + euler.dde_method_rename_file_same_name_in_pop_window_by_attr("new.txt") + self.assert_image_exist_in_dde("test_dde_1271075.png") + + @pytest.fixture + def clear_file_in_documents(self): + """清除测试文件并且关闭文本编辑器""" + yield + sleep(1) + DdeMethod().dde_method_close_window() + sleep(1) + DdeMethod().dde_method_close_window() + sleep(1) + DdeMethod().base_method_kill_process_by_cmd("deepin-editor") + DdeMethod().base_method_delete_file_in_documents_by_cmd("new.txt") + DdeMethod().base_method_delete_file_in_documents_by_cmd("test.txt") diff --git a/case/test_dde_1271091.py b/case/test_dde_1271091.py index 5ce2f9fac94516eb0e3ec35d236e1d29e4a4819f..d7829de32c24f859727eebcd7b80d05ecf6afe32 100644 --- a/case/test_dde_1271091.py +++ b/case/test_dde_1271091.py @@ -21,7 +21,7 @@ class TestDdeCase(BaseCase): pylinuxauto.enter() pylinuxauto.input_message("a") euler.dde_editor_method_click_menu_btn_by_attr() - euler.base_method_click_by_ocr("保存") + euler.dde_methode_click_save_btn_in_pop_window() self.assert_image_exist_in_dde("test_dde_1271091.png") def test_dde_1271091_2(self): diff --git a/method/dde_method.py b/method/dde_method.py index 671bbedfc165552077d30d787270dfa0e6c58b65..fad9c5732ace426bd3bcb9c8f5e8b878b91823f0 100644 --- a/method/dde_method.py +++ b/method/dde_method.py @@ -268,15 +268,24 @@ class DdeMethod( self.base_method_click_by_img("file_manager_left_view_documents.png") def dde_method_rename_file_in_pop_window_by_attr(self, filename): - """在弹出的文件保存窗口中对文件进行重命名并且保存""" + """在弹出的文件保存窗口中对文件进行重命名并且保存,文件名需要包含后缀名,且文件名不可与文档目录下其他文件重复""" + pylinuxauto.find_element_by_attr_path("/dde-desktop/file_name_edit").click() + pylinuxauto.ctrl_a() pylinuxauto.input_message(filename) - pylinuxauto.enter() - if find_element_by_image(f"{config.IMAGE_RES}/file_name_duplicates.png"): - self.dde_method_close_window() - self.dde_method_close_window() - print("文件名称重复,请输入其他文件名") + self.dde_methode_click_save_btn_in_pop_window() + + def dde_method_rename_file_same_name_in_pop_window_by_attr(self, filename): + """在弹出的文件保存窗口中将文件重命名为重复名称并且点击保存,方法输入的名称为目标文件名称""" + pylinuxauto.find_element_by_attr_path("/dde-desktop/file_name_edit").click() + pylinuxauto.ctrl_a() + pylinuxauto.input_message(filename) + self.dde_methode_click_save_btn_in_pop_window() + + def dde_methode_click_save_btn_in_pop_window(self): + """在弹出的文件保存窗口中点击保存""" + pylinuxauto.find_element_by_attr_path("/dde-desktop/statusBar/保 存").click() if __name__ == "__main__": sleep(3) - DdeMethod().dde_method_rename_file_in_pop_window_by_attr("old") + DdeMethod().dde_methode_click_save_btn_in_pop_window()