From 9d3f7a84e70eb9f9131ac681a796c320bf3bc984 Mon Sep 17 00:00:00 2001 From: xianglongfei_uniontech Date: Thu, 4 Dec 2025 17:45:13 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=A0=8F=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B:=2019582?= =?UTF-8?q?15?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- case/assert_res/dde_dock_down.png | Bin 0 -> 319 bytes case/assert_res/dde_dock_up.png | Bin 0 -> 265 bytes case/test_dde_1956753.py | 57 +++++++++++++++++++++++++ case/test_dde_1956755.py | 58 ++++++++++++++++++++++++++ case/test_dde_1956757.py | 60 +++++++++++++++++++++++++++ case/test_dde_1958213.py | 34 +++++++++++++++ case/test_dde_1958215.py | 34 +++++++++++++++ case/test_dde_1958393.py | 33 +++++++++++++++ case/test_dde_1958395.py | 40 ++++++++++++++++++ case/test_dde_1958397.py | 54 ++++++++++++++++++++++++ case/test_dde_1958399.py | 54 ++++++++++++++++++++++++ dde.csv | 11 ++++- method/image_res/dcc_dock_down.png | Bin 0 -> 297 bytes method/image_res/dcc_dock_up.png | Bin 0 -> 229 bytes method/image_res/dde_dock_down.png | Bin 0 -> 319 bytes method/image_res/dde_dock_up.png | Bin 0 -> 265 bytes method/image_res/dock_max.png | Bin 0 -> 575 bytes method/image_res/dock_min.png | Bin 0 -> 1057 bytes method/image_res/qt4_config_icon.png | Bin 0 -> 3083 bytes method/image_res/qt4_demo_icon.png | Bin 0 -> 2906 bytes module/dde_dock/dde_dock_assert.py | 26 ++++++++++++ 21 files changed, 460 insertions(+), 1 deletion(-) create mode 100644 case/assert_res/dde_dock_down.png create mode 100644 case/assert_res/dde_dock_up.png create mode 100644 case/test_dde_1956753.py create mode 100644 case/test_dde_1956755.py create mode 100644 case/test_dde_1956757.py create mode 100644 case/test_dde_1958213.py create mode 100644 case/test_dde_1958215.py create mode 100644 case/test_dde_1958393.py create mode 100644 case/test_dde_1958395.py create mode 100644 case/test_dde_1958397.py create mode 100644 case/test_dde_1958399.py create mode 100644 method/image_res/dcc_dock_down.png create mode 100644 method/image_res/dcc_dock_up.png create mode 100644 method/image_res/dde_dock_down.png create mode 100644 method/image_res/dde_dock_up.png create mode 100644 method/image_res/dock_max.png create mode 100644 method/image_res/dock_min.png create mode 100644 method/image_res/qt4_config_icon.png create mode 100644 method/image_res/qt4_demo_icon.png diff --git a/case/assert_res/dde_dock_down.png b/case/assert_res/dde_dock_down.png new file mode 100644 index 0000000000000000000000000000000000000000..989a9b2f3db25604e8e088f6ce1e25cb121eed87 GIT binary patch literal 319 zcmeAS@N?(olHy`uVBq!ia0vp^Vn8g%!2~3iw^lL&Db50q$YKTtz9S&aI8~cZ8YuYD z)5S5wqBptb+Z##d)P_!{zgG;Kp8o&;pZR@Ppz?|=7Ve&p|NnMARpoy7@5stYHx2Z5 zpXiz|=-l-2<>lo9*Y>}kf4}xGv#-kkdonY2e(TJQ>ETn4(bP8I&!8?AemM5vfg>li znZp0SH|OUTww~Xxf@t2gvI~> literal 0 HcmV?d00001 diff --git a/case/assert_res/dde_dock_up.png b/case/assert_res/dde_dock_up.png new file mode 100644 index 0000000000000000000000000000000000000000..e0d85be1a38552e0249f28f1bdaf5b68aa4402d1 GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^Vn8g(!2~3CHF)j>Qk(@Ik;M!Qd`Cc-ajG_-G*EE2 zr;B5VMQ?J=uP>U+sSTY@e;2z6Bp-Qy-1>Q*-M3HjtZsk)|NC-k@pXI6LRQTNF1HO2 zru_V#R~r2~OQQd>RZh_wEA~t`gHP3|Zo9pl=bk)q?rh&_(f|MdA6NSG-=107czZ)b zhk@`W1+%5iDi$jfSRPMS_m=>HfBUVrtf=|<*xn-4D7$58m{nK8El%^Mhws1pzu*7w zs8oW$fkQ{tPaN%Wl}Y4QpUzopr05RldcmMzZ literal 0 HcmV?d00001 diff --git a/case/test_dde_1956753.py b/case/test_dde_1956753.py new file mode 100644 index 0000000..058bf1f --- /dev/null +++ b/case/test_dde_1956753.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python3 +# _*_ coding:utf-8 _*_ +""" +@Time : 2025/12/02 +@Author : xianglongfei@uniontech.com +""" + +import pytest + +from src import sleep +from apps.dde_autotest_euler.case.base_case import BaseCase +from public.dde_dock_public_widget import DdeDockPublicWidget +from apps.dde_autotest_euler.method.dde_method import DdeMethod + + +class TestDdeCase(BaseCase): + def test_dde_1956753(self): + """【任务栏】个性化任务栏设置大小切换 """ + dock = DdeDockPublicWidget() + #【步骤】:一.鼠标在任务栏右键菜单点击:任务栏设置 + dock.click_right_menu_dock_set() + sleep(3) + #【断言】:1.控制中心打开 + self.assert_process_status(True,"dde-control-center") + #【断言】:2.进入个性化菜单 + sleep(1) + self.assert_ocr_exist("个性化") + sleep(1) + #【断言】:3.进入位置为:下 + sleep(1) + self.assert_dock_location(2) + #【断言】:4.进入模式为:高效模式 + self.assert_dock_mode(1) + #【断言】:5.进入大小为:小 + self.assert_dock_size(40) + #【步骤】:二.鼠标点击:大 + euler=DdeMethod() + euler.dde_dock.click_by_img("dock_max.png") + sleep(3) + #【断言】:6.任务栏大小为:大 + self.assert_dock_size(100) + #【步骤】:三.鼠标点击:小 + euler.dde_dock.click_by_img("dock_min.png") + sleep(3) + #【断言】:7.任务栏大小为:小 + self.assert_dock_size(40) + + @pytest.fixture(scope="function", autouse=True) + def setup_teardown_1956753(self): + """前置和后置""" + yield + #【后置】:1.关闭控制中心 + dock = DdeDockPublicWidget() + dock.close_app("控制中心") + sleep(3) + #【断言】:1.控制中心关闭 + self.assert_process_status(False,"dde-control-center") diff --git a/case/test_dde_1956755.py b/case/test_dde_1956755.py new file mode 100644 index 0000000..0ba3731 --- /dev/null +++ b/case/test_dde_1956755.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python3 +# _*_ coding:utf-8 _*_ +""" +@Time : 2025/11/28 +@Author : xianglongfei@uniontech.com +""" + +import pytest + +from src import sleep +from apps.dde_autotest_euler.case.base_case import BaseCase +from public.dde_dock_public_widget import DdeDockPublicWidget +from apps.dde_autotest_euler.method.dde_method import DdeMethod + + +class TestDdeCase(BaseCase): + def test_dde_1956755(self): + """【任务栏】个性化任务栏设置位置切换 """ + dock = DdeDockPublicWidget() + #【步骤】:1.鼠标在任务栏右键菜单点击:任务栏设置 + dock.click_right_menu_dock_set() + sleep(3) + #【断言】:1.控制中心打开 + self.assert_process_status(True,"dde-control-center") + #【断言】:2.进入个性化菜单 + sleep(1) + self.assert_ocr_exist("个性化") + sleep(1) + #【断言】:3.进入位置为下 + sleep(1) + self.assert_image_exist_in_dde("dde_dock_down.png") + # 点击切换成上 + euler=DdeMethod() + euler.dde_dock.click_by_img("dde_dock_down.png") + sleep(3) + euler.dde_dock.click_by_img("dcc_dock_up.png") + sleep(3) + #【断言】:4.进入位置为上 + self.assert_dock_location(0) + # 点击切换成下 + sleep(1) + euler.dde_dock.click_by_img("dde_dock_up.png") + sleep(3) + euler.dde_dock.click_by_img("dcc_dock_down.png") + sleep(3) + #【断言】:5.进入位置为下 + self.assert_dock_location(2) + + @pytest.fixture(scope="function", autouse=True) + def setup_teardown_1956755(self): + """前置和后置""" + yield + #【后置】:1.关闭控制中心 + dock = DdeDockPublicWidget() + dock.close_app("控制中心") + sleep(3) + #【断言】:1.控制中心关闭 + self.assert_process_status(False,"dde-control-center") diff --git a/case/test_dde_1956757.py b/case/test_dde_1956757.py new file mode 100644 index 0000000..73386d0 --- /dev/null +++ b/case/test_dde_1956757.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python3 +# _*_ coding:utf-8 _*_ +""" +@Time : 2025/11/26 +@Author : xianglongfei@uniontech.com +""" + +import pytest + +from src import sleep +from apps.dde_autotest_euler.case.base_case import BaseCase +from public.dde_dock_public_widget import DdeDockPublicWidget +from apps.dde_autotest_euler.method.dde_method import DdeMethod + + +class TestDdeCase(BaseCase): + def test_dde_1956757(self): + """【任务栏】个性化任务栏设置模式切换 """ + dock = DdeDockPublicWidget() + #【步骤】:1.鼠标在任务栏右键菜单点击:任务栏设置 + dock.click_right_menu_dock_set() + sleep(3) + #【断言】:1.控制中心打开 + self.assert_process_status(True,"dde-control-center") + #【断言】:2.进入个性化菜单 + sleep(1) + self.assert_ocr_exist("个性化") + #【断言】:3.进入任务栏菜单 + sleep(1) + self.assert_ocr_exist("任务栏") + #【断言】:4.进入高效模式 + sleep(1) + self.assert_ocr_exist("高效模式") + # 点击切换成时尚模式 + euler=DdeMethod() + euler.dde_dock.click_by_ocr("高效模式") + sleep(1) + euler.dde_dock.click_by_ocr("时尚模式") + sleep(1) + #【断言】:5.进入时尚模式 + self.assert_dock_mode(0) + # 点击切换成高效模式 + euler.dde_dock.click_by_ocr("时尚模式") + sleep(1) + euler.dde_dock.click_by_ocr("高效模式") + sleep(1) + #【断言】:6.进入高效模式 + self.assert_dock_mode(1) + + + @pytest.fixture(scope="function", autouse=True) + def setup_teardown_1956757(self): + """前置和后置""" + yield + #【后置】:1.关闭控制中心 + dock = DdeDockPublicWidget() + dock.close_app("控制中心") + sleep(3) + #【断言】:1.控制中心关闭 + self.assert_process_status(False,"dde-control-center") diff --git a/case/test_dde_1958213.py b/case/test_dde_1958213.py new file mode 100644 index 0000000..58b98ab --- /dev/null +++ b/case/test_dde_1958213.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3 +# _*_ coding:utf-8 _*_ +""" +@Time : 2025/12/04 +@Author : xianglongfei@uniontech.com +""" + +import pytest + +from src import sleep +from apps.dde_autotest_euler.case.base_case import BaseCase +from public.dde_dock_public_widget import DdeDockPublicWidget + + +class TestDdeCase(BaseCase): + def test_dde_1958213(self): + """【控制中心】【Tooltips】在任务栏显示tips """ + dock = DdeDockPublicWidget() + #【步骤】:1.鼠标hover到任务栏控制中心图标上 + dock.move_to_element_in_dock_by_attr("Btn_控制中心") + sleep(3) + #【断言】:2.tips显示"控制中心" + self.assert_ocr_exist("控制中心") + + @pytest.fixture(scope="function", autouse=True) + def setup_teardown_1958213(self): + """前置和后置""" + # 控制中心:在任务栏驻留,且未打开 + dock = DdeDockPublicWidget() + dock.kill_process("dde-control-center") + dock.send_link_to_dock("控制中心") + yield + #【后置】:1.移动鼠标,取消hover + dock.move_to(960,540) diff --git a/case/test_dde_1958215.py b/case/test_dde_1958215.py new file mode 100644 index 0000000..e71ea49 --- /dev/null +++ b/case/test_dde_1958215.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3 +# _*_ coding:utf-8 _*_ +""" +@Time : 2025/12/05 +@Author : xianglongfei@uniontech.com +""" + +import pytest + +from src import sleep +from apps.dde_autotest_euler.case.base_case import BaseCase +from public.dde_dock_public_widget import DdeDockPublicWidget + + +class TestDdeCase(BaseCase): + def test_dde_1958215(self): + """【文件管理器】【Tooltips】在任务栏显示tips """ + dock = DdeDockPublicWidget() + #【步骤】:1.鼠标hover到任务栏文件管理器图标上 + dock.move_to_element_in_dock_by_attr("Btn_文件管理器") + sleep(3) + #【断言】:2.tips显示"文件管理器" + self.assert_ocr_exist("文件管理器") + + @pytest.fixture(scope="function", autouse=True) + def setup_teardown_1958215(self): + """前置和后置""" + # 控制中心:在任务栏驻留,且未打开 + dock = DdeDockPublicWidget() + dock.kill_process("dde-file-manager") + dock.send_link_to_dock("文件管理器") + yield + #【后置】:1.移动鼠标,取消hover + dock.move_to(960,540) diff --git a/case/test_dde_1958393.py b/case/test_dde_1958393.py new file mode 100644 index 0000000..49a11bd --- /dev/null +++ b/case/test_dde_1958393.py @@ -0,0 +1,33 @@ +from time import sleep +from src import Src +import pytest +import subprocess +from src import CmdCtl as Cmd + +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod + + +def assert_process_status(code, app_name): + # 执行命令 + result = subprocess.run(f"ps -aux|grep {app_name}|grep -v grep", stdout=subprocess.PIPE,stderr=subprocess.PIPE, shell=True) + + if code != int(result.returncode): + raise AssertionError(f'断言应用进程状态{app_name}与期望{code}不符') + + +class TestDdeCase(BaseCase): + + def test_dde_1958393_1(self): + """终端打开Onboard""" + Cmd.run_cmd("/usr/bin/onboard &") + sleep(5) + assert_process_status(0, "/usr/bin/onboard") + + @pytest.fixture(autouse=True) + def clear(self): + DdeMethod().kill_process("/usr/bin/onboard") + yield + DdeMethod().kill_process("/usr/bin/onboard") + DdeMethod().click_restore() + DdeMethod().esc() diff --git a/case/test_dde_1958395.py b/case/test_dde_1958395.py new file mode 100644 index 0000000..3e3464b --- /dev/null +++ b/case/test_dde_1958395.py @@ -0,0 +1,40 @@ +from time import sleep +from src import Src +import pytest +import subprocess +from src import CmdCtl as Cmd + +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod + + +def assert_process_status(code, app_name): + # 执行命令 + result = subprocess.run(f"ps -aux|grep {app_name}|grep -v grep", stdout=subprocess.PIPE,stderr=subprocess.PIPE, shell=True) + + if code != int(result.returncode): + raise AssertionError(f'断言应用进程状态{app_name}与期望{code}不符') + + +class TestDdeCase(BaseCase): + + def test_dde_1958395_1(self): + """启动器打开Onboard设置""" + euler = DdeMethod() + euler.open_software_by_launcher("Onboardshezhi") + sleep(5) + assert_process_status(0, "/usr/bin/onboard-settings") + + def test_dde_1958395_2(self): + """终端打开Onboard设置""" + Cmd.run_cmd("/usr/bin/onboard-settings &") + sleep(5) + assert_process_status(0, "/usr/bin/python3 -s /usr/bin/onboard-settings") + + @pytest.fixture(autouse=True) + def clear(self): + DdeMethod().kill_process("/usr/bin/onboard-settings") + yield + DdeMethod().kill_process("/usr/bin/onboard-settings") + DdeMethod().click_restore() + DdeMethod().esc() diff --git a/case/test_dde_1958397.py b/case/test_dde_1958397.py new file mode 100644 index 0000000..eed87eb --- /dev/null +++ b/case/test_dde_1958397.py @@ -0,0 +1,54 @@ +from time import sleep +from src import Src +import pytest +from src import CmdCtl as Cmd + +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod + + +class TestDdeCase(BaseCase): + + def test_dde_1958397_1(self): + """启动器打开Qt4 Demo""" + euler = DdeMethod() + euler.open_software_by_launcher("Qt4 Demo") + sleep(5) + self.assert_process_status(True, "qtdemo-qt4") + + def test_dde_1958397_2(self): + """桌面打开Qt4 Demo""" + euler = DdeMethod() + euler.dde_dock.click_launcher_btn_by_attr() + euler.dde_launcher.click_search_box_by_attr() + Src.input("Qt4 Demo") + sleep(3) + euler.dde_launcher.right_click_by_attr("Qt4 Demo") + Src.select_menu(2) + sleep(1) + Src.esc() + euler.click_restore() + sleep(1) + euler.dde_dock.double_click_by_img("qt4_demo_icon.png") + sleep(5) + self.assert_process_status(True, "qtdemo-qt4") + DdeMethod().kill_process("qtdemo-qt4") + sleep(3) + euler.dde_dock.right_click_by_img("qt4_demo_icon.png") + Src.select_menu(1) + sleep(5) + self.assert_process_status(True, "qtdemo-qt4") + + def test_dde_1958397_3(self): + """终端打开Qt4 Demo""" + Cmd.run_cmd("qtdemo-qt4 &") + sleep(5) + self.assert_process_status(True, "qtdemo-qt4") + + @pytest.fixture(autouse=True) + def clear(self): + DdeMethod().kill_process("qtdemo-qt4") + yield + DdeMethod().kill_process("qtdemo-qt4") + DdeMethod().click_restore() + DdeMethod().esc() diff --git a/case/test_dde_1958399.py b/case/test_dde_1958399.py new file mode 100644 index 0000000..bd64a11 --- /dev/null +++ b/case/test_dde_1958399.py @@ -0,0 +1,54 @@ +from time import sleep +from src import Src +import pytest +from src import CmdCtl as Cmd + +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod + + +class TestDdeCase(BaseCase): + + def test_dde_1958399_1(self): + """启动器打开Qt4 Config""" + euler = DdeMethod() + euler.open_software_by_launcher("Qt4 Config") + sleep(5) + self.assert_process_status(True, "qtconfig-qt4") + + def test_dde_1958399_2(self): + """桌面打开Qt4 Config""" + euler = DdeMethod() + euler.dde_dock.click_launcher_btn_by_attr() + euler.dde_launcher.click_search_box_by_attr() + Src.input("Qt4 Config") + sleep(3) + euler.dde_launcher.right_click_by_attr("Qt4 Config") + Src.select_menu(2) + sleep(1) + Src.esc() + euler.click_restore() + sleep(1) + euler.dde_dock.double_click_by_img("qt4_config_icon.png") + sleep(5) + self.assert_process_status(True, "qtconfig-qt4") + DdeMethod().kill_process("qtconfig-qt4") + sleep(3) + euler.dde_dock.right_click_by_img("qt4_config_icon.png") + Src.select_menu(1) + sleep(5) + self.assert_process_status(True, "qtconfig-qt4") + + def test_dde_1958399_3(self): + """终端打开Qt4 Config""" + Cmd.run_cmd("qtconfig-qt4 &") + sleep(5) + self.assert_process_status(True, "qtconfig-qt4") + + @pytest.fixture(autouse=True) + def clear(self): + DdeMethod().kill_process("qtconfig-qt4") + yield + DdeMethod().kill_process("qtconfig-qt4") + DdeMethod().click_restore() + DdeMethod().esc() diff --git a/dde.csv b/dde.csv index a60db4d..fefc728 100644 --- a/dde.csv +++ b/dde.csv @@ -133,6 +133,15 @@ 1940063,,, 1450519,,, 1952209,,, +1958215,,, +1958213,,, 1952211,,, +1956755,,, 1955475,,, -1956209,,, \ No newline at end of file +1956753,,, +1956757,,, +1956209,,, +1958395,,, +1958397,,, +1958399,,, +1958393,,, \ No newline at end of file diff --git a/method/image_res/dcc_dock_down.png b/method/image_res/dcc_dock_down.png new file mode 100644 index 0000000000000000000000000000000000000000..97820b3e9601fcbbb680c6ff69b734e774c0c108 GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^GC(ZG!2~2@zGN>2Qk(@Ik;M!Qd`Cc-ajG_-G*Ixi zr;B5VMQ`$-kB`}zw=xP}^_4LdS-tRoe7<(TvjfZ`MP~bdwcieKTeI>1_t&?>njVTSJA5O6K_SEXjAc}=FwmO}p00i_>zopr0H~^Zg#Z8m literal 0 HcmV?d00001 diff --git a/method/image_res/dcc_dock_up.png b/method/image_res/dcc_dock_up.png new file mode 100644 index 0000000000000000000000000000000000000000..b6f2bbb13cf1537469af35e79bf1b1e1b83ab642 GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^l0YoR!2~3C-CghyNO2Z;L>4nJ@ErkR#;MwT(m=uK zo-U3d7QM-TK0an=p2{G+l}F07dso`uUAy+I%00fg{))lt`^$IF?zjE>Z@yI8M2;7k z*WTOS{B=jhV8O+jH`aMuby&_MZOgp9SHVd#OI3Ke0{hQ2!@>{Uo?f1Y!U1f7-aSf6 z2NO)YAF^}(C@atGk+6H3^sqax{&%CS!J?_H_51eJ{e5ZvZpyh6r?iz$o$iXw+Y+P7 b$-ppgkw4>a%U9w+Co*`t`njxgN@xNAbqHFF literal 0 HcmV?d00001 diff --git a/method/image_res/dde_dock_down.png b/method/image_res/dde_dock_down.png new file mode 100644 index 0000000000000000000000000000000000000000..989a9b2f3db25604e8e088f6ce1e25cb121eed87 GIT binary patch literal 319 zcmeAS@N?(olHy`uVBq!ia0vp^Vn8g%!2~3iw^lL&Db50q$YKTtz9S&aI8~cZ8YuYD z)5S5wqBptb+Z##d)P_!{zgG;Kp8o&;pZR@Ppz?|=7Ve&p|NnMARpoy7@5stYHx2Z5 zpXiz|=-l-2<>lo9*Y>}kf4}xGv#-kkdonY2e(TJQ>ETn4(bP8I&!8?AemM5vfg>li znZp0SH|OUTww~Xxf@t2gvI~> literal 0 HcmV?d00001 diff --git a/method/image_res/dde_dock_up.png b/method/image_res/dde_dock_up.png new file mode 100644 index 0000000000000000000000000000000000000000..e0d85be1a38552e0249f28f1bdaf5b68aa4402d1 GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^Vn8g(!2~3CHF)j>Qk(@Ik;M!Qd`Cc-ajG_-G*EE2 zr;B5VMQ?J=uP>U+sSTY@e;2z6Bp-Qy-1>Q*-M3HjtZsk)|NC-k@pXI6LRQTNF1HO2 zru_V#R~r2~OQQd>RZh_wEA~t`gHP3|Zo9pl=bk)q?rh&_(f|MdA6NSG-=107czZ)b zhk@`W1+%5iDi$jfSRPMS_m=>HfBUVrtf=|<*xn-4D7$58m{nK8El%^Mhws1pzu*7w zs8oW$fkQ{tPaN%Wl}Y4QpUzopr05RldcmMzZ literal 0 HcmV?d00001 diff --git a/method/image_res/dock_max.png b/method/image_res/dock_max.png new file mode 100644 index 0000000000000000000000000000000000000000..18a49132b337a3080f86dab460a1f3d98c1cbda5 GIT binary patch literal 575 zcmeAS@N?(olHy`uVBq!ia0vp^IzXJn!2~3iY+2?7q&N#aB8wRq_>O=u<5X=vX$A(y zkDe}$AsLNtZ=UzQTqtw=H z{okMOxHroj7yKXO)#-7-y|H7*y4UuL9(|BkR8JIgI+Ew2pd=vJ!QsN9#3b0*;edrk1DzHnW6F{^!A?$= zE4F-N4trYiB531-DXuO@Hrt=E@m;%3<=64YXQ#ebSs|r#>VP7DsNuEN*{`(boPB!d z*wVfmRciYyzkhOFJiGA1`G;$l-2b=Z!u5LXhqZpSe{;XJ$nZQAoffArwkyBHHFXeM`DLJ?-lDd-9SQ^XmU! rHZ4AH(Q2RYUlSY{PwbsEw=$PDZM47cv*R8xMKE}}`njxgN@xNA?Tr2R literal 0 HcmV?d00001 diff --git a/method/image_res/dock_min.png b/method/image_res/dock_min.png new file mode 100644 index 0000000000000000000000000000000000000000..514c7f4f0530d42c79ab37c704e50e1582ea19b3 GIT binary patch literal 1057 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 Z`afj3idHZc%E$l!002ovPDHLkV1hoGzq9}V literal 0 HcmV?d00001 diff --git a/method/image_res/qt4_demo_icon.png b/method/image_res/qt4_demo_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f945896b99834d5ca6f4f4754aa196faab03c713 GIT binary patch literal 2906 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 Eg3XYInE(I) literal 0 HcmV?d00001 diff --git a/module/dde_dock/dde_dock_assert.py b/module/dde_dock/dde_dock_assert.py index 9e85a5b..1c46cf3 100644 --- a/module/dde_dock/dde_dock_assert.py +++ b/module/dde_dock/dde_dock_assert.py @@ -55,3 +55,29 @@ class DdeDockAssert(AssertCommon): logging.info("断言任务栏位置是否: %s", location_text) dock_location = DockDbus.get_position() AssertCommon.assert_true(dock_location == location) + + @staticmethod + def assert_dock_size(size): + """断言任务栏大小""" + mode_conf = { + "efficient": int(1), + "fashion": int(0) + } + size_conf = { + "min": int(40), + "max": int(100) + } + + if size_conf['min'] == size: + size_text = "小" + elif size_conf['max'] == size: + size_text = "大" + else: + raise AssertionError(f"任务栏大小参数<{size}>未知!") + logging.info("断言任务栏大小是否: %s", size_text) + dock_mode = DockDbus.get_display_mode() + if mode_conf['efficient'] == dock_mode: + dock_size = DockDbus.get_window_size_efficient() + elif mode_conf['fashion'] == dock_mode: + dock_size = DockDbus.get_window_size_fashion() + AssertCommon.assert_true(dock_size == size) -- Gitee From 26dfe857b4b1aa9372d7e9f99fe9390876ac244a Mon Sep 17 00:00:00 2001 From: xianglongfei_uniontech Date: Thu, 4 Dec 2025 17:45:13 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=A0=8F=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B:=2019582?= =?UTF-8?q?15?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- case/assert_res/dde_dock_down.png | Bin 0 -> 319 bytes case/assert_res/dde_dock_up.png | Bin 0 -> 265 bytes case/test_dde_1956753.py | 57 +++++++++++++++++++++++++ case/test_dde_1956755.py | 58 ++++++++++++++++++++++++++ case/test_dde_1956757.py | 60 +++++++++++++++++++++++++++ case/test_dde_1958213.py | 34 +++++++++++++++ case/test_dde_1958215.py | 34 +++++++++++++++ case/test_dde_1958393.py | 33 +++++++++++++++ case/test_dde_1958395.py | 40 ++++++++++++++++++ case/test_dde_1958397.py | 54 ++++++++++++++++++++++++ case/test_dde_1958399.py | 54 ++++++++++++++++++++++++ dde.csv | 11 ++++- method/image_res/dcc_dock_down.png | Bin 0 -> 297 bytes method/image_res/dcc_dock_up.png | Bin 0 -> 229 bytes method/image_res/dde_dock_down.png | Bin 0 -> 319 bytes method/image_res/dde_dock_up.png | Bin 0 -> 265 bytes method/image_res/dock_max.png | Bin 0 -> 575 bytes method/image_res/dock_min.png | Bin 0 -> 1057 bytes method/image_res/qt4_config_icon.png | Bin 0 -> 3083 bytes method/image_res/qt4_demo_icon.png | Bin 0 -> 2906 bytes module/dde_dock/dde_dock_assert.py | 26 ++++++++++++ 21 files changed, 460 insertions(+), 1 deletion(-) create mode 100644 case/assert_res/dde_dock_down.png create mode 100644 case/assert_res/dde_dock_up.png create mode 100644 case/test_dde_1956753.py create mode 100644 case/test_dde_1956755.py create mode 100644 case/test_dde_1956757.py create mode 100644 case/test_dde_1958213.py create mode 100644 case/test_dde_1958215.py create mode 100644 case/test_dde_1958393.py create mode 100644 case/test_dde_1958395.py create mode 100644 case/test_dde_1958397.py create mode 100644 case/test_dde_1958399.py create mode 100644 method/image_res/dcc_dock_down.png create mode 100644 method/image_res/dcc_dock_up.png create mode 100644 method/image_res/dde_dock_down.png create mode 100644 method/image_res/dde_dock_up.png create mode 100644 method/image_res/dock_max.png create mode 100644 method/image_res/dock_min.png create mode 100644 method/image_res/qt4_config_icon.png create mode 100644 method/image_res/qt4_demo_icon.png diff --git a/case/assert_res/dde_dock_down.png b/case/assert_res/dde_dock_down.png new file mode 100644 index 0000000000000000000000000000000000000000..989a9b2f3db25604e8e088f6ce1e25cb121eed87 GIT binary patch literal 319 zcmeAS@N?(olHy`uVBq!ia0vp^Vn8g%!2~3iw^lL&Db50q$YKTtz9S&aI8~cZ8YuYD z)5S5wqBptb+Z##d)P_!{zgG;Kp8o&;pZR@Ppz?|=7Ve&p|NnMARpoy7@5stYHx2Z5 zpXiz|=-l-2<>lo9*Y>}kf4}xGv#-kkdonY2e(TJQ>ETn4(bP8I&!8?AemM5vfg>li znZp0SH|OUTww~Xxf@t2gvI~> literal 0 HcmV?d00001 diff --git a/case/assert_res/dde_dock_up.png b/case/assert_res/dde_dock_up.png new file mode 100644 index 0000000000000000000000000000000000000000..e0d85be1a38552e0249f28f1bdaf5b68aa4402d1 GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^Vn8g(!2~3CHF)j>Qk(@Ik;M!Qd`Cc-ajG_-G*EE2 zr;B5VMQ?J=uP>U+sSTY@e;2z6Bp-Qy-1>Q*-M3HjtZsk)|NC-k@pXI6LRQTNF1HO2 zru_V#R~r2~OQQd>RZh_wEA~t`gHP3|Zo9pl=bk)q?rh&_(f|MdA6NSG-=107czZ)b zhk@`W1+%5iDi$jfSRPMS_m=>HfBUVrtf=|<*xn-4D7$58m{nK8El%^Mhws1pzu*7w zs8oW$fkQ{tPaN%Wl}Y4QpUzopr05RldcmMzZ literal 0 HcmV?d00001 diff --git a/case/test_dde_1956753.py b/case/test_dde_1956753.py new file mode 100644 index 0000000..058bf1f --- /dev/null +++ b/case/test_dde_1956753.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python3 +# _*_ coding:utf-8 _*_ +""" +@Time : 2025/12/02 +@Author : xianglongfei@uniontech.com +""" + +import pytest + +from src import sleep +from apps.dde_autotest_euler.case.base_case import BaseCase +from public.dde_dock_public_widget import DdeDockPublicWidget +from apps.dde_autotest_euler.method.dde_method import DdeMethod + + +class TestDdeCase(BaseCase): + def test_dde_1956753(self): + """【任务栏】个性化任务栏设置大小切换 """ + dock = DdeDockPublicWidget() + #【步骤】:一.鼠标在任务栏右键菜单点击:任务栏设置 + dock.click_right_menu_dock_set() + sleep(3) + #【断言】:1.控制中心打开 + self.assert_process_status(True,"dde-control-center") + #【断言】:2.进入个性化菜单 + sleep(1) + self.assert_ocr_exist("个性化") + sleep(1) + #【断言】:3.进入位置为:下 + sleep(1) + self.assert_dock_location(2) + #【断言】:4.进入模式为:高效模式 + self.assert_dock_mode(1) + #【断言】:5.进入大小为:小 + self.assert_dock_size(40) + #【步骤】:二.鼠标点击:大 + euler=DdeMethod() + euler.dde_dock.click_by_img("dock_max.png") + sleep(3) + #【断言】:6.任务栏大小为:大 + self.assert_dock_size(100) + #【步骤】:三.鼠标点击:小 + euler.dde_dock.click_by_img("dock_min.png") + sleep(3) + #【断言】:7.任务栏大小为:小 + self.assert_dock_size(40) + + @pytest.fixture(scope="function", autouse=True) + def setup_teardown_1956753(self): + """前置和后置""" + yield + #【后置】:1.关闭控制中心 + dock = DdeDockPublicWidget() + dock.close_app("控制中心") + sleep(3) + #【断言】:1.控制中心关闭 + self.assert_process_status(False,"dde-control-center") diff --git a/case/test_dde_1956755.py b/case/test_dde_1956755.py new file mode 100644 index 0000000..0ba3731 --- /dev/null +++ b/case/test_dde_1956755.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python3 +# _*_ coding:utf-8 _*_ +""" +@Time : 2025/11/28 +@Author : xianglongfei@uniontech.com +""" + +import pytest + +from src import sleep +from apps.dde_autotest_euler.case.base_case import BaseCase +from public.dde_dock_public_widget import DdeDockPublicWidget +from apps.dde_autotest_euler.method.dde_method import DdeMethod + + +class TestDdeCase(BaseCase): + def test_dde_1956755(self): + """【任务栏】个性化任务栏设置位置切换 """ + dock = DdeDockPublicWidget() + #【步骤】:1.鼠标在任务栏右键菜单点击:任务栏设置 + dock.click_right_menu_dock_set() + sleep(3) + #【断言】:1.控制中心打开 + self.assert_process_status(True,"dde-control-center") + #【断言】:2.进入个性化菜单 + sleep(1) + self.assert_ocr_exist("个性化") + sleep(1) + #【断言】:3.进入位置为下 + sleep(1) + self.assert_image_exist_in_dde("dde_dock_down.png") + # 点击切换成上 + euler=DdeMethod() + euler.dde_dock.click_by_img("dde_dock_down.png") + sleep(3) + euler.dde_dock.click_by_img("dcc_dock_up.png") + sleep(3) + #【断言】:4.进入位置为上 + self.assert_dock_location(0) + # 点击切换成下 + sleep(1) + euler.dde_dock.click_by_img("dde_dock_up.png") + sleep(3) + euler.dde_dock.click_by_img("dcc_dock_down.png") + sleep(3) + #【断言】:5.进入位置为下 + self.assert_dock_location(2) + + @pytest.fixture(scope="function", autouse=True) + def setup_teardown_1956755(self): + """前置和后置""" + yield + #【后置】:1.关闭控制中心 + dock = DdeDockPublicWidget() + dock.close_app("控制中心") + sleep(3) + #【断言】:1.控制中心关闭 + self.assert_process_status(False,"dde-control-center") diff --git a/case/test_dde_1956757.py b/case/test_dde_1956757.py new file mode 100644 index 0000000..73386d0 --- /dev/null +++ b/case/test_dde_1956757.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python3 +# _*_ coding:utf-8 _*_ +""" +@Time : 2025/11/26 +@Author : xianglongfei@uniontech.com +""" + +import pytest + +from src import sleep +from apps.dde_autotest_euler.case.base_case import BaseCase +from public.dde_dock_public_widget import DdeDockPublicWidget +from apps.dde_autotest_euler.method.dde_method import DdeMethod + + +class TestDdeCase(BaseCase): + def test_dde_1956757(self): + """【任务栏】个性化任务栏设置模式切换 """ + dock = DdeDockPublicWidget() + #【步骤】:1.鼠标在任务栏右键菜单点击:任务栏设置 + dock.click_right_menu_dock_set() + sleep(3) + #【断言】:1.控制中心打开 + self.assert_process_status(True,"dde-control-center") + #【断言】:2.进入个性化菜单 + sleep(1) + self.assert_ocr_exist("个性化") + #【断言】:3.进入任务栏菜单 + sleep(1) + self.assert_ocr_exist("任务栏") + #【断言】:4.进入高效模式 + sleep(1) + self.assert_ocr_exist("高效模式") + # 点击切换成时尚模式 + euler=DdeMethod() + euler.dde_dock.click_by_ocr("高效模式") + sleep(1) + euler.dde_dock.click_by_ocr("时尚模式") + sleep(1) + #【断言】:5.进入时尚模式 + self.assert_dock_mode(0) + # 点击切换成高效模式 + euler.dde_dock.click_by_ocr("时尚模式") + sleep(1) + euler.dde_dock.click_by_ocr("高效模式") + sleep(1) + #【断言】:6.进入高效模式 + self.assert_dock_mode(1) + + + @pytest.fixture(scope="function", autouse=True) + def setup_teardown_1956757(self): + """前置和后置""" + yield + #【后置】:1.关闭控制中心 + dock = DdeDockPublicWidget() + dock.close_app("控制中心") + sleep(3) + #【断言】:1.控制中心关闭 + self.assert_process_status(False,"dde-control-center") diff --git a/case/test_dde_1958213.py b/case/test_dde_1958213.py new file mode 100644 index 0000000..58b98ab --- /dev/null +++ b/case/test_dde_1958213.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3 +# _*_ coding:utf-8 _*_ +""" +@Time : 2025/12/04 +@Author : xianglongfei@uniontech.com +""" + +import pytest + +from src import sleep +from apps.dde_autotest_euler.case.base_case import BaseCase +from public.dde_dock_public_widget import DdeDockPublicWidget + + +class TestDdeCase(BaseCase): + def test_dde_1958213(self): + """【控制中心】【Tooltips】在任务栏显示tips """ + dock = DdeDockPublicWidget() + #【步骤】:1.鼠标hover到任务栏控制中心图标上 + dock.move_to_element_in_dock_by_attr("Btn_控制中心") + sleep(3) + #【断言】:2.tips显示"控制中心" + self.assert_ocr_exist("控制中心") + + @pytest.fixture(scope="function", autouse=True) + def setup_teardown_1958213(self): + """前置和后置""" + # 控制中心:在任务栏驻留,且未打开 + dock = DdeDockPublicWidget() + dock.kill_process("dde-control-center") + dock.send_link_to_dock("控制中心") + yield + #【后置】:1.移动鼠标,取消hover + dock.move_to(960,540) diff --git a/case/test_dde_1958215.py b/case/test_dde_1958215.py new file mode 100644 index 0000000..e71ea49 --- /dev/null +++ b/case/test_dde_1958215.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3 +# _*_ coding:utf-8 _*_ +""" +@Time : 2025/12/05 +@Author : xianglongfei@uniontech.com +""" + +import pytest + +from src import sleep +from apps.dde_autotest_euler.case.base_case import BaseCase +from public.dde_dock_public_widget import DdeDockPublicWidget + + +class TestDdeCase(BaseCase): + def test_dde_1958215(self): + """【文件管理器】【Tooltips】在任务栏显示tips """ + dock = DdeDockPublicWidget() + #【步骤】:1.鼠标hover到任务栏文件管理器图标上 + dock.move_to_element_in_dock_by_attr("Btn_文件管理器") + sleep(3) + #【断言】:2.tips显示"文件管理器" + self.assert_ocr_exist("文件管理器") + + @pytest.fixture(scope="function", autouse=True) + def setup_teardown_1958215(self): + """前置和后置""" + # 控制中心:在任务栏驻留,且未打开 + dock = DdeDockPublicWidget() + dock.kill_process("dde-file-manager") + dock.send_link_to_dock("文件管理器") + yield + #【后置】:1.移动鼠标,取消hover + dock.move_to(960,540) diff --git a/case/test_dde_1958393.py b/case/test_dde_1958393.py new file mode 100644 index 0000000..49a11bd --- /dev/null +++ b/case/test_dde_1958393.py @@ -0,0 +1,33 @@ +from time import sleep +from src import Src +import pytest +import subprocess +from src import CmdCtl as Cmd + +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod + + +def assert_process_status(code, app_name): + # 执行命令 + result = subprocess.run(f"ps -aux|grep {app_name}|grep -v grep", stdout=subprocess.PIPE,stderr=subprocess.PIPE, shell=True) + + if code != int(result.returncode): + raise AssertionError(f'断言应用进程状态{app_name}与期望{code}不符') + + +class TestDdeCase(BaseCase): + + def test_dde_1958393_1(self): + """终端打开Onboard""" + Cmd.run_cmd("/usr/bin/onboard &") + sleep(5) + assert_process_status(0, "/usr/bin/onboard") + + @pytest.fixture(autouse=True) + def clear(self): + DdeMethod().kill_process("/usr/bin/onboard") + yield + DdeMethod().kill_process("/usr/bin/onboard") + DdeMethod().click_restore() + DdeMethod().esc() diff --git a/case/test_dde_1958395.py b/case/test_dde_1958395.py new file mode 100644 index 0000000..3e3464b --- /dev/null +++ b/case/test_dde_1958395.py @@ -0,0 +1,40 @@ +from time import sleep +from src import Src +import pytest +import subprocess +from src import CmdCtl as Cmd + +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod + + +def assert_process_status(code, app_name): + # 执行命令 + result = subprocess.run(f"ps -aux|grep {app_name}|grep -v grep", stdout=subprocess.PIPE,stderr=subprocess.PIPE, shell=True) + + if code != int(result.returncode): + raise AssertionError(f'断言应用进程状态{app_name}与期望{code}不符') + + +class TestDdeCase(BaseCase): + + def test_dde_1958395_1(self): + """启动器打开Onboard设置""" + euler = DdeMethod() + euler.open_software_by_launcher("Onboardshezhi") + sleep(5) + assert_process_status(0, "/usr/bin/onboard-settings") + + def test_dde_1958395_2(self): + """终端打开Onboard设置""" + Cmd.run_cmd("/usr/bin/onboard-settings &") + sleep(5) + assert_process_status(0, "/usr/bin/python3 -s /usr/bin/onboard-settings") + + @pytest.fixture(autouse=True) + def clear(self): + DdeMethod().kill_process("/usr/bin/onboard-settings") + yield + DdeMethod().kill_process("/usr/bin/onboard-settings") + DdeMethod().click_restore() + DdeMethod().esc() diff --git a/case/test_dde_1958397.py b/case/test_dde_1958397.py new file mode 100644 index 0000000..eed87eb --- /dev/null +++ b/case/test_dde_1958397.py @@ -0,0 +1,54 @@ +from time import sleep +from src import Src +import pytest +from src import CmdCtl as Cmd + +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod + + +class TestDdeCase(BaseCase): + + def test_dde_1958397_1(self): + """启动器打开Qt4 Demo""" + euler = DdeMethod() + euler.open_software_by_launcher("Qt4 Demo") + sleep(5) + self.assert_process_status(True, "qtdemo-qt4") + + def test_dde_1958397_2(self): + """桌面打开Qt4 Demo""" + euler = DdeMethod() + euler.dde_dock.click_launcher_btn_by_attr() + euler.dde_launcher.click_search_box_by_attr() + Src.input("Qt4 Demo") + sleep(3) + euler.dde_launcher.right_click_by_attr("Qt4 Demo") + Src.select_menu(2) + sleep(1) + Src.esc() + euler.click_restore() + sleep(1) + euler.dde_dock.double_click_by_img("qt4_demo_icon.png") + sleep(5) + self.assert_process_status(True, "qtdemo-qt4") + DdeMethod().kill_process("qtdemo-qt4") + sleep(3) + euler.dde_dock.right_click_by_img("qt4_demo_icon.png") + Src.select_menu(1) + sleep(5) + self.assert_process_status(True, "qtdemo-qt4") + + def test_dde_1958397_3(self): + """终端打开Qt4 Demo""" + Cmd.run_cmd("qtdemo-qt4 &") + sleep(5) + self.assert_process_status(True, "qtdemo-qt4") + + @pytest.fixture(autouse=True) + def clear(self): + DdeMethod().kill_process("qtdemo-qt4") + yield + DdeMethod().kill_process("qtdemo-qt4") + DdeMethod().click_restore() + DdeMethod().esc() diff --git a/case/test_dde_1958399.py b/case/test_dde_1958399.py new file mode 100644 index 0000000..bd64a11 --- /dev/null +++ b/case/test_dde_1958399.py @@ -0,0 +1,54 @@ +from time import sleep +from src import Src +import pytest +from src import CmdCtl as Cmd + +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod + + +class TestDdeCase(BaseCase): + + def test_dde_1958399_1(self): + """启动器打开Qt4 Config""" + euler = DdeMethod() + euler.open_software_by_launcher("Qt4 Config") + sleep(5) + self.assert_process_status(True, "qtconfig-qt4") + + def test_dde_1958399_2(self): + """桌面打开Qt4 Config""" + euler = DdeMethod() + euler.dde_dock.click_launcher_btn_by_attr() + euler.dde_launcher.click_search_box_by_attr() + Src.input("Qt4 Config") + sleep(3) + euler.dde_launcher.right_click_by_attr("Qt4 Config") + Src.select_menu(2) + sleep(1) + Src.esc() + euler.click_restore() + sleep(1) + euler.dde_dock.double_click_by_img("qt4_config_icon.png") + sleep(5) + self.assert_process_status(True, "qtconfig-qt4") + DdeMethod().kill_process("qtconfig-qt4") + sleep(3) + euler.dde_dock.right_click_by_img("qt4_config_icon.png") + Src.select_menu(1) + sleep(5) + self.assert_process_status(True, "qtconfig-qt4") + + def test_dde_1958399_3(self): + """终端打开Qt4 Config""" + Cmd.run_cmd("qtconfig-qt4 &") + sleep(5) + self.assert_process_status(True, "qtconfig-qt4") + + @pytest.fixture(autouse=True) + def clear(self): + DdeMethod().kill_process("qtconfig-qt4") + yield + DdeMethod().kill_process("qtconfig-qt4") + DdeMethod().click_restore() + DdeMethod().esc() diff --git a/dde.csv b/dde.csv index a60db4d..fefc728 100644 --- a/dde.csv +++ b/dde.csv @@ -133,6 +133,15 @@ 1940063,,, 1450519,,, 1952209,,, +1958215,,, +1958213,,, 1952211,,, +1956755,,, 1955475,,, -1956209,,, \ No newline at end of file +1956753,,, +1956757,,, +1956209,,, +1958395,,, +1958397,,, +1958399,,, +1958393,,, \ No newline at end of file diff --git a/method/image_res/dcc_dock_down.png b/method/image_res/dcc_dock_down.png new file mode 100644 index 0000000000000000000000000000000000000000..97820b3e9601fcbbb680c6ff69b734e774c0c108 GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^GC(ZG!2~2@zGN>2Qk(@Ik;M!Qd`Cc-ajG_-G*Ixi zr;B5VMQ`$-kB`}zw=xP}^_4LdS-tRoe7<(TvjfZ`MP~bdwcieKTeI>1_t&?>njVTSJA5O6K_SEXjAc}=FwmO}p00i_>zopr0H~^Zg#Z8m literal 0 HcmV?d00001 diff --git a/method/image_res/dcc_dock_up.png b/method/image_res/dcc_dock_up.png new file mode 100644 index 0000000000000000000000000000000000000000..b6f2bbb13cf1537469af35e79bf1b1e1b83ab642 GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^l0YoR!2~3C-CghyNO2Z;L>4nJ@ErkR#;MwT(m=uK zo-U3d7QM-TK0an=p2{G+l}F07dso`uUAy+I%00fg{))lt`^$IF?zjE>Z@yI8M2;7k z*WTOS{B=jhV8O+jH`aMuby&_MZOgp9SHVd#OI3Ke0{hQ2!@>{Uo?f1Y!U1f7-aSf6 z2NO)YAF^}(C@atGk+6H3^sqax{&%CS!J?_H_51eJ{e5ZvZpyh6r?iz$o$iXw+Y+P7 b$-ppgkw4>a%U9w+Co*`t`njxgN@xNAbqHFF literal 0 HcmV?d00001 diff --git a/method/image_res/dde_dock_down.png b/method/image_res/dde_dock_down.png new file mode 100644 index 0000000000000000000000000000000000000000..989a9b2f3db25604e8e088f6ce1e25cb121eed87 GIT binary patch literal 319 zcmeAS@N?(olHy`uVBq!ia0vp^Vn8g%!2~3iw^lL&Db50q$YKTtz9S&aI8~cZ8YuYD z)5S5wqBptb+Z##d)P_!{zgG;Kp8o&;pZR@Ppz?|=7Ve&p|NnMARpoy7@5stYHx2Z5 zpXiz|=-l-2<>lo9*Y>}kf4}xGv#-kkdonY2e(TJQ>ETn4(bP8I&!8?AemM5vfg>li znZp0SH|OUTww~Xxf@t2gvI~> literal 0 HcmV?d00001 diff --git a/method/image_res/dde_dock_up.png b/method/image_res/dde_dock_up.png new file mode 100644 index 0000000000000000000000000000000000000000..e0d85be1a38552e0249f28f1bdaf5b68aa4402d1 GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^Vn8g(!2~3CHF)j>Qk(@Ik;M!Qd`Cc-ajG_-G*EE2 zr;B5VMQ?J=uP>U+sSTY@e;2z6Bp-Qy-1>Q*-M3HjtZsk)|NC-k@pXI6LRQTNF1HO2 zru_V#R~r2~OQQd>RZh_wEA~t`gHP3|Zo9pl=bk)q?rh&_(f|MdA6NSG-=107czZ)b zhk@`W1+%5iDi$jfSRPMS_m=>HfBUVrtf=|<*xn-4D7$58m{nK8El%^Mhws1pzu*7w zs8oW$fkQ{tPaN%Wl}Y4QpUzopr05RldcmMzZ literal 0 HcmV?d00001 diff --git a/method/image_res/dock_max.png b/method/image_res/dock_max.png new file mode 100644 index 0000000000000000000000000000000000000000..18a49132b337a3080f86dab460a1f3d98c1cbda5 GIT binary patch literal 575 zcmeAS@N?(olHy`uVBq!ia0vp^IzXJn!2~3iY+2?7q&N#aB8wRq_>O=u<5X=vX$A(y zkDe}$AsLNtZ=UzQTqtw=H z{okMOxHroj7yKXO)#-7-y|H7*y4UuL9(|BkR8JIgI+Ew2pd=vJ!QsN9#3b0*;edrk1DzHnW6F{^!A?$= zE4F-N4trYiB531-DXuO@Hrt=E@m;%3<=64YXQ#ebSs|r#>VP7DsNuEN*{`(boPB!d z*wVfmRciYyzkhOFJiGA1`G;$l-2b=Z!u5LXhqZpSe{;XJ$nZQAoffArwkyBHHFXeM`DLJ?-lDd-9SQ^XmU! rHZ4AH(Q2RYUlSY{PwbsEw=$PDZM47cv*R8xMKE}}`njxgN@xNA?Tr2R literal 0 HcmV?d00001 diff --git a/method/image_res/dock_min.png b/method/image_res/dock_min.png new file mode 100644 index 0000000000000000000000000000000000000000..514c7f4f0530d42c79ab37c704e50e1582ea19b3 GIT binary patch literal 1057 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 Z`afj3idHZc%E$l!002ovPDHLkV1hoGzq9}V literal 0 HcmV?d00001 diff --git a/method/image_res/qt4_demo_icon.png b/method/image_res/qt4_demo_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f945896b99834d5ca6f4f4754aa196faab03c713 GIT binary patch literal 2906 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 Eg3XYInE(I) literal 0 HcmV?d00001 diff --git a/module/dde_dock/dde_dock_assert.py b/module/dde_dock/dde_dock_assert.py index 9e85a5b..1c46cf3 100644 --- a/module/dde_dock/dde_dock_assert.py +++ b/module/dde_dock/dde_dock_assert.py @@ -55,3 +55,29 @@ class DdeDockAssert(AssertCommon): logging.info("断言任务栏位置是否: %s", location_text) dock_location = DockDbus.get_position() AssertCommon.assert_true(dock_location == location) + + @staticmethod + def assert_dock_size(size): + """断言任务栏大小""" + mode_conf = { + "efficient": int(1), + "fashion": int(0) + } + size_conf = { + "min": int(40), + "max": int(100) + } + + if size_conf['min'] == size: + size_text = "小" + elif size_conf['max'] == size: + size_text = "大" + else: + raise AssertionError(f"任务栏大小参数<{size}>未知!") + logging.info("断言任务栏大小是否: %s", size_text) + dock_mode = DockDbus.get_display_mode() + if mode_conf['efficient'] == dock_mode: + dock_size = DockDbus.get_window_size_efficient() + elif mode_conf['fashion'] == dock_mode: + dock_size = DockDbus.get_window_size_fashion() + AssertCommon.assert_true(dock_size == size) -- Gitee