From 1e5722805fb85967a487e1d7b52cef7f8e5c3458 Mon Sep 17 00:00:00 2001 From: qicoffee Date: Thu, 12 Sep 2024 11:00:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=B8=80=E6=9D=A1=E7=94=A8?= =?UTF-8?q?=E4=BE=8B=EF=BC=8C=E7=94=A8=E4=BA=8E=E6=A3=80=E6=9F=A5=E6=96=87?= =?UTF-8?q?=E6=9C=AC=E7=BC=96=E8=BE=91=E5=99=A8=E7=9A=84=E5=8F=A6=E5=AD=98?= =?UTF-8?q?=E4=B8=BA=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../assert_res/test_dde_1271075.png | Bin case/test_dde_1271075.py | 52 ++++++++++++++++++ case/test_dde_1271091.py | 2 +- method/dde_method.py | 23 +++++--- 4 files changed, 69 insertions(+), 8 deletions(-) rename method/image_res/file_name_duplicates.png => case/assert_res/test_dde_1271075.png (100%) create mode 100644 case/test_dde_1271075.py 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 0000000..5b95d86 --- /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 5ce2f9f..d7829de 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 671bbed..fad9c57 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() -- Gitee