From ea502d3feb8ea752258a1b6390c63aa06d10b416 Mon Sep 17 00:00:00 2001 From: Harbor Date: Fri, 6 Sep 2024 09:02:10 +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=E5=AD=97?= =?UTF-8?q?=E4=BD=93=E7=AE=A1=E7=90=86=E5=99=A8=E7=9A=84=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- case/assert_res/test_dde_1271213.png | Bin 0 -> 2522 bytes case/test_dde_1270985.py | 7 ++----- case/test_dde_1270989.py | 3 +-- case/test_dde_1271005.py | 2 +- case/test_dde_1271011.py | 3 +-- case/test_dde_1271033.py | 2 +- case/test_dde_1271037.py | 4 ++-- case/test_dde_1271123.py | 4 ++-- case/test_dde_1271213.py | 23 +++++++++++++++++++++++ case/test_dde_1271301.py | 3 +-- config.py | 6 ++++++ dde.csv | 11 +++++++++-- method/assert_method.py | 3 +-- method/base_method.py | 2 +- method/dde_browser_method.py | 8 ++++---- method/dde_control_center_method.py | 3 +-- method/dde_dock_method.py | 3 +-- method/dde_font_manager_method.py | 21 +++++++++++++++++++++ method/dde_launcher_method.py | 6 +----- method/dde_method.py | 20 ++++++++++++++------ 20 files changed, 93 insertions(+), 41 deletions(-) create mode 100644 case/assert_res/test_dde_1271213.png create mode 100644 case/test_dde_1271213.py create mode 100644 method/dde_font_manager_method.py diff --git a/case/assert_res/test_dde_1271213.png b/case/assert_res/test_dde_1271213.png new file mode 100644 index 0000000000000000000000000000000000000000..d3bf6a5784fdc215a33f179fa070c2cb7deb2f6d GIT binary patch literal 2522 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 literal 0 HcmV?d00001 diff --git a/case/test_dde_1270985.py b/case/test_dde_1270985.py index a9bf42f..52c4c7b 100644 --- a/case/test_dde_1270985.py +++ b/case/test_dde_1270985.py @@ -1,10 +1,7 @@ -from tuned.exports import start - from case.base_case import BaseCase from method.dde_method import DdeMethod -from youqu3 import sleep -from method.dde_control_center_method import DdeControlCenterMethod -from youqu3.gui import pylinuxauto +from pylinuxauto import sleep +import pylinuxauto class TestDdeCase(BaseCase): diff --git a/case/test_dde_1270989.py b/case/test_dde_1270989.py index 7e34c04..1ddc4fb 100644 --- a/case/test_dde_1270989.py +++ b/case/test_dde_1270989.py @@ -1,7 +1,6 @@ from case.base_case import BaseCase from method.dde_method import DdeMethod -from youqu3 import sleep -from method.dde_control_center_method import DdeControlCenterMethod +from pylinuxauto import sleep class TestDdeCase(BaseCase): diff --git a/case/test_dde_1271005.py b/case/test_dde_1271005.py index 98d37d9..eba9fcd 100644 --- a/case/test_dde_1271005.py +++ b/case/test_dde_1271005.py @@ -1,6 +1,6 @@ from case.base_case import BaseCase from method.dde_method import DdeMethod -from youqu3 import sleep +from pylinuxauto import sleep class TestDdeCase(BaseCase): diff --git a/case/test_dde_1271011.py b/case/test_dde_1271011.py index f1ae3a7..31bfaab 100644 --- a/case/test_dde_1271011.py +++ b/case/test_dde_1271011.py @@ -1,7 +1,6 @@ from case.base_case import BaseCase from method.dde_method import DdeMethod -from youqu3 import sleep -from method.dde_control_center_method import DdeControlCenterMethod +from pylinuxauto import sleep class TestDdeCase(BaseCase): diff --git a/case/test_dde_1271033.py b/case/test_dde_1271033.py index 44c4e51..9695e2e 100644 --- a/case/test_dde_1271033.py +++ b/case/test_dde_1271033.py @@ -1,6 +1,6 @@ from case.base_case import BaseCase from method.dde_method import DdeMethod -from youqu3 import sleep +from pylinuxauto import sleep from method.dde_control_center_method import DdeControlCenterMethod diff --git a/case/test_dde_1271037.py b/case/test_dde_1271037.py index e2fce63..de2b4ac 100644 --- a/case/test_dde_1271037.py +++ b/case/test_dde_1271037.py @@ -1,8 +1,8 @@ -from youqu3.gui import pylinuxauto +import pylinuxauto from case.base_case import BaseCase from method.base_method import BaseMethod from method.dde_method import DdeMethod -from youqu3 import sleep +from pylinuxauto import sleep class TestDdeCase(BaseCase): diff --git a/case/test_dde_1271123.py b/case/test_dde_1271123.py index c5196cd..ddcb2d4 100644 --- a/case/test_dde_1271123.py +++ b/case/test_dde_1271123.py @@ -1,7 +1,7 @@ -from youqu3.gui import pylinuxauto +import pylinuxauto from case.base_case import BaseCase from method.dde_method import DdeMethod -from youqu3 import sleep +from pylinuxauto import sleep class TestDdeCase(BaseCase): diff --git a/case/test_dde_1271213.py b/case/test_dde_1271213.py new file mode 100644 index 0000000..b8a0e3c --- /dev/null +++ b/case/test_dde_1271213.py @@ -0,0 +1,23 @@ +from case.base_case import BaseCase +from method.dde_method import DdeMethod +from pylinuxauto import sleep + + +class TestDdeCase(BaseCase): + def test_dde_1271213_1(self): + """在字体管理器中搜索字体名称""" + DdeMethod().dde_method_open_software_by_launcher("zitiguanli") + sleep(6) + DdeMethod().dde_method_search_font_in_font_manager("FreeMono-bold Oblique") + self.assert_image_exist_in_dde("test_dde_1271213.png") + + def test_dde_1271213_2(self): + """在字体管理器中搜索非字体名称""" + DdeMethod().dde_method_open_software_by_launcher("zitiguanli") + sleep(6) + DdeMethod().dde_method_search_font_in_font_manager("FreeMono-bold##") + self.assert_ocr_exist("无搜索结果") + + def teardown_method(self): + """关闭字体管理器""" + DdeMethod().dde_method_close_window() diff --git a/case/test_dde_1271301.py b/case/test_dde_1271301.py index 03b77d9..3087e13 100644 --- a/case/test_dde_1271301.py +++ b/case/test_dde_1271301.py @@ -1,6 +1,5 @@ -import pytest from case.base_case import BaseCase -from youqu3 import sleep +from pylinuxauto import sleep from method.dde_method import DdeMethod diff --git a/config.py b/config.py index 5b8744b..107595b 100644 --- a/config.py +++ b/config.py @@ -7,6 +7,8 @@ import pathlib import os +from pylinuxauto.config import config as pylinuxauto_config +from youqu3 import setting class _Config: @@ -16,5 +18,9 @@ class _Config: STATIC_RES = ROOTDIR / "method/static_res" BASE_PATH = os.getcwd() + pylinuxauto_config.OCR_SERVER_IP = "10.8.13.7" + pylinuxauto_config.IMAGE_SERVER_IP = "10.8.12.175" + setting.REPORT_SERVER_IP = "10.8.12.47" + config = _Config() diff --git a/dde.csv b/dde.csv index 6ecae0b..090070c 100644 --- a/dde.csv +++ b/dde.csv @@ -1,3 +1,10 @@ 脚本ID,跳过原因,确认修复,废弃用例 -test_euler_104633, -002, +1270985,,, +1270989,,, +1271005,,, +1271011,,, +1271033,,, +1271035,,, +1271037,,, +1271123,,, +1271301,,, \ No newline at end of file diff --git a/method/assert_method.py b/method/assert_method.py index f7b89fc..5d8dfe5 100644 --- a/method/assert_method.py +++ b/method/assert_method.py @@ -5,8 +5,7 @@ :Date :2024/08/22 13:15:47 """ -from dbus.decorators import method -from youqu3.assertx import Assert +from pylinuxauto.assertx import Assert from config import config diff --git a/method/base_method.py b/method/base_method.py index f38e93d..a847e5f 100644 --- a/method/base_method.py +++ b/method/base_method.py @@ -8,7 +8,7 @@ from funnylog2.config import config as funnylog2_config funnylog2_config.CLASS_NAME_ENDSWITH = ["Method"] -from youqu3.gui import pylinuxauto +import pylinuxauto from config import config diff --git a/method/dde_browser_method.py b/method/dde_browser_method.py index 83f3e1d..d962f23 100644 --- a/method/dde_browser_method.py +++ b/method/dde_browser_method.py @@ -2,19 +2,19 @@ from time import sleep from funnylog2.config import config as funnylog2_config funnylog2_config.CLASS_NAME_ENDSWITH = ["Method"] -from youqu3 import log -from youqu3.gui import pylinuxauto -from config import config +import pylinuxauto from method.base_method import BaseMethod -from method.dde_dock_method import DdeDockMethod class DdeBrowserMethod(BaseMethod): def dde_browser_method_click_by_attr(self, path): + """在浏览器中通过属性进行点击""" pylinuxauto.find_element_by_attr_path(f"/Firefox/{path}").click() def dde_browser_method_click_menu_icon_by_img(self): + """在浏览器中点击右上角的菜单按钮""" self.dde_method_click_by_img("firefox_menu_icon.png") def dde_browser_method_click_close_btn_by_attr(self): + """在浏览器中点击右上角的关闭按钮""" self.dde_method_click_by_img("firefox_close_btn.png") diff --git a/method/dde_control_center_method.py b/method/dde_control_center_method.py index df25618..2a38c6b 100644 --- a/method/dde_control_center_method.py +++ b/method/dde_control_center_method.py @@ -2,8 +2,7 @@ from time import sleep from funnylog2.config import config as funnylog2_config funnylog2_config.CLASS_NAME_ENDSWITH = ["Method"] -from youqu3 import log -from youqu3.gui import pylinuxauto +import pylinuxauto from method.base_method import BaseMethod diff --git a/method/dde_dock_method.py b/method/dde_dock_method.py index 01fee04..dee32e0 100644 --- a/method/dde_dock_method.py +++ b/method/dde_dock_method.py @@ -2,8 +2,7 @@ from time import sleep from funnylog2.config import config as funnylog2_config funnylog2_config.CLASS_NAME_ENDSWITH = ["Method"] -from youqu3.gui import pylinuxauto -from config import config +import pylinuxauto from method.base_method import BaseMethod diff --git a/method/dde_font_manager_method.py b/method/dde_font_manager_method.py new file mode 100644 index 0000000..46d7f81 --- /dev/null +++ b/method/dde_font_manager_method.py @@ -0,0 +1,21 @@ +from time import sleep +from funnylog2.config import config as funnylog2_config + +funnylog2_config.CLASS_NAME_ENDSWITH = ["Method"] +import pylinuxauto +from method.base_method import BaseMethod + + +class DdeFontManagerMethod(BaseMethod): + def dde_font_manager_method_click_by_attr(self, path): + """在字体管理器中通过元素点击""" + pylinuxauto.find_element_by_attr_path(f"/deepin-font-manager/{path}").click() + + def dde_font_manager_method_click_search_box_attr(self): + """在字体管理器中点击搜索框""" + self.dde_font_manager_method_click_by_attr("DSearchEditIconButton") + + +if __name__ == "__main__": + sleep(3) + DdeFontManagerMethod().dde_font_manager_method_click_search_box_attr() diff --git a/method/dde_launcher_method.py b/method/dde_launcher_method.py index 6b4fd25..640607c 100644 --- a/method/dde_launcher_method.py +++ b/method/dde_launcher_method.py @@ -1,12 +1,8 @@ from funnylog2.config import config as funnylog2_config funnylog2_config.CLASS_NAME_ENDSWITH = ["Method"] - -from youqu3 import log -from youqu3.gui import pylinuxauto -from config import config +import pylinuxauto from method.base_method import BaseMethod -from method.dde_dock_method import DdeDockMethod class DdeLauncherMethod(BaseMethod): diff --git a/method/dde_method.py b/method/dde_method.py index 7724710..81f1b2d 100644 --- a/method/dde_method.py +++ b/method/dde_method.py @@ -7,21 +7,22 @@ from time import sleep from funnylog2.config import config as funnylog2_config - -from config import config from method.base_method import BaseMethod +from method.dde_browser_method import DdeBrowserMethod funnylog2_config.CLASS_NAME_ENDSWITH = ["Method"] -from youqu3 import log -from youqu3.gui import pylinuxauto +from funnylog2 import log +import pylinuxauto from method.dde_dock_method import DdeDockMethod from method.dde_control_center_method import DdeControlCenterMethod from method.dde_launcher_method import DdeLauncherMethod -from method.dde_browser_method import DdeBrowserMethod +from method.dde_font_manager_method import DdeFontManagerMethod @log -class DdeMethod(DdeDockMethod, DdeControlCenterMethod, DdeLauncherMethod, DdeBrowserMethod): +class DdeMethod( + DdeDockMethod, DdeControlCenterMethod, DdeLauncherMethod, DdeFontManagerMethod, DdeBrowserMethod +): """应用方法主类""" def dde_method_open_software_by_launcher(self, text): @@ -245,6 +246,13 @@ class DdeMethod(DdeDockMethod, DdeControlCenterMethod, DdeLauncherMethod, DdeBro self.dde_control_center_click_delete_btn_by_img() sleep(1) + def dde_method_search_font_in_font_manager(self, fontname): + """在字体管理器中搜索字体""" + self.dde_font_manager_method_click_search_box_attr() + pylinuxauto.input_message(fontname) + sleep(3) + pylinuxauto.enter() + if __name__ == "__main__": sleep(3) -- Gitee