From 2d5005c469e6e92e2053488c06804a136f569d83 Mon Sep 17 00:00:00 2001 From: lixintao Date: Thu, 12 Dec 2024 10:57:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=97=E4=BD=93=E7=AE=A1=E7=90=86=E2=80=94?= =?UTF-8?q?=E2=80=94=E5=8F=B3=E9=94=AE=E8=8F=9C=E5=8D=95-=E5=90=AF?= =?UTF-8?q?=E7=94=A8/=E7=A6=81=E7=94=A8=E5=AD=97=E4=BD=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lixintao --- case/test_dde_1271207.py | 44 +++++++++++++++++++++ case/test_dde_1271211.py | 12 +++--- dde.csv | 1 + method/vender/deepin_font_manager_method.py | 44 +++++++++++++-------- 4 files changed, 78 insertions(+), 23 deletions(-) create mode 100644 case/test_dde_1271207.py diff --git a/case/test_dde_1271207.py b/case/test_dde_1271207.py new file mode 100644 index 0000000..8873027 --- /dev/null +++ b/case/test_dde_1271207.py @@ -0,0 +1,44 @@ +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod +from apps.dde_autotest_euler.method.vender.deepin_font_manager_method import DeepinFontManagerMethod +from apps.dde_autotest_euler.method.vender.dde_file_manager_method import DdeFileManagerMethod +from src import sleep + + +class TestFontForbiddenCase(BaseCase): + + def test_dde_1271207_1(self): + """字体管理器-启用禁用字体""" + DdeMethod().open_software_by_launcher("zitiguanli") + sleep(6) + font = DeepinFontManagerMethod() + font.method_click_menu_by_image() + font.method_click_add_font_by_ocr() + font.method_search_fonts("dde_autotest_euler/method/static_res/fonts/NotoSansLinearB") + font.method_import_one_fonts_by_ocr("NotoSansLinearB-Regular") + sleep(3) + + font.method_click_activated_by_ocr() + sleep(2) + DdeMethod().search_font_in_font_manager("Noto Sans Linear") + font.method_forbidden_font_by_ocr("Noto Sans Linear B-Regular") + sleep(2) + + self.assert_ocr_not_exist("Noto Sans Linear B-Regular") + + font.method_click_user_fonts_by_ocr() + sleep(2) + font.method_active_font_by_ocr("Noto Sans Linear B-Regular") + + font.method_click_activated_by_ocr() + sleep(2) + + self.assert_ocr_exist("Noto Sans Linear B-Regular") + + font.method_click_font_by_ocr("Noto Sans Linear B-Regular") + DeepinFontManagerMethod().method_del_font() + # sleep(3) + + def teardown_method(self): + """关闭字体管理器""" + DdeMethod().kill_process("deepin-font-manager") diff --git a/case/test_dde_1271211.py b/case/test_dde_1271211.py index 5a39445..3faba6a 100644 --- a/case/test_dde_1271211.py +++ b/case/test_dde_1271211.py @@ -11,10 +11,10 @@ class TestFontAddCase(BaseCase): """字体管理器-导入一个字体""" DdeMethod().open_software_by_launcher("zitiguanli") sleep(6) - DeepinFontManagerMethod().method_click_menu() - DeepinFontManagerMethod().method_click_add_font() + DeepinFontManagerMethod().method_click_menu_by_image() + DeepinFontManagerMethod().method_click_add_font_by_ocr() DeepinFontManagerMethod().method_search_fonts("dde_autotest_euler/method/static_res/fonts/fangzheng") - DeepinFontManagerMethod().method_import_one_fonts() + DeepinFontManagerMethod().method_import_one_fonts_by_ocr() self.assert_ocr_exist("吕建德字体") DeepinFontManagerMethod().method_del_font() sleep(3) @@ -23,10 +23,10 @@ class TestFontAddCase(BaseCase): """字体管理器-导入多个字体""" DdeMethod().open_software_by_launcher("zitiguanli") sleep(6) - DeepinFontManagerMethod().method_click_menu() - DeepinFontManagerMethod().method_click_add_font() + DeepinFontManagerMethod().method_click_menu_by_image() + DeepinFontManagerMethod().method_click_add_font_by_ocr() DeepinFontManagerMethod().method_search_fonts("dde_autotest_euler/method/static_res/fonts/fangzheng") - DeepinFontManagerMethod().method_import_many_fonts() + DeepinFontManagerMethod().method_import_many_fonts_by_ocr() self.assert_ocr_exist("吕建德字体") self.assert_ocr_exist("真广标简体") DeepinFontManagerMethod().method_del_font() diff --git a/dde.csv b/dde.csv index bf16d77..398b2d6 100644 --- a/dde.csv +++ b/dde.csv @@ -57,3 +57,4 @@ 1271229,,, 1271217,,, 1271211,,, +1271207,,, diff --git a/method/vender/deepin_font_manager_method.py b/method/vender/deepin_font_manager_method.py index 2b47f5c..0d98c0b 100644 --- a/method/vender/deepin_font_manager_method.py +++ b/method/vender/deepin_font_manager_method.py @@ -11,19 +11,39 @@ class DeepinFontManagerMethod(BaseMethod): """在字体管理器中通过元素点击""" self.dog.element_click(path) + def method_click_font_by_ocr(self, font_name): + self.click_by_ocr(font_name) + def method_click_search_box_attr(self): """在字体管理器中点击搜索框""" self.method_click_by_attr("DSearchEditIconButton") - def method_click_menu(self): + def method_click_menu_by_image(self): """字体管理其中点击菜单""" self.click_by_img("dde_fonts_menu_icon.png") - # self.method_click_by_attr("添加字体") - def method_click_add_font(self): + def method_click_add_font_by_ocr(self): """菜单添加字体""" self.click(*self.ocr("添加字体")) + def method_click_activated_by_ocr(self): + """点击已激活""" + self.click(*self.ocr("已激活")) + + def method_click_user_fonts_by_ocr(self): + """点击用户字体""" + self.click(*self.ocr("用户字体")) + + def method_forbidden_font_by_ocr(self, font_name): + """禁用字体""" + self.right_click(*self.ocr(font_name)) + self.right_click(*self.ocr("禁用字体")) + + def method_active_font_by_ocr(self, font_name): + """启用字体""" + self.right_click(*self.ocr(font_name)) + self.right_click(*self.ocr("启用字体")) + def method_search_fonts(self, fonts_path): """字体文件路径查找字体""" self.click_by_img("dde_fonts_search_icon.png") @@ -32,29 +52,19 @@ class DeepinFontManagerMethod(BaseMethod): Src.enter() sleep(2) - def method_import_one_fonts(self): + def method_import_one_fonts_by_ocr(self, font_name="fangzhenglvjiandexingkai"): """选择一个字体添加""" - self.click_by_ocr("fangzhenglvjiandexingkai") + self.click_by_ocr(font_name) self.click(*self.ocr("打开")) - def method_import_many_fonts(self): + def method_import_many_fonts_by_ocr(self): """添加多个字体""" self.click_by_ocr("fangzhenglvjiandexingkai") Src.ctrl_a() self.click(*self.ocr("打开")) - def search_font_in_font_manager(self, font_name): - """在字体管理器中搜索字体""" - self.deepin_font_manager.method_click_search_box_attr() - self.input_message(font_name) - sleep(3) - self.enter() - - def method_del_font(self, font_name=None): + def method_del_font(self): """删除字体""" - if font_name: - self.search_font_in_font_manager(font_name) - self.click_by_ocr(font_name) Src.delete() self.click_by_img("dde_fonts_delete_btn_icon.png") -- Gitee