diff --git a/case/assert_res/test_dde_1271055.png b/case/assert_res/test_dde_1271055.png new file mode 100644 index 0000000000000000000000000000000000000000..268a773a11bd5760f915c5298d448a3c54dcc678 Binary files /dev/null and b/case/assert_res/test_dde_1271055.png differ diff --git a/case/test_dde_1271055.py b/case/test_dde_1271055.py new file mode 100644 index 0000000000000000000000000000000000000000..fe169153d59d72b2630403f9086adf186a915825 --- /dev/null +++ b/case/test_dde_1271055.py @@ -0,0 +1,56 @@ +from time import sleep +import pylinuxauto +import pytest +from nocmd import Cmd + +from case.base_case import BaseCase +from method.dde_method import DdeMethod + + +class TestDdeCase(BaseCase): + def test_dde_1271055_1(self, clear_process_1): + """启动器打开画板""" + euler = DdeMethod() + euler.dde_method_open_software_by_launcher("huaban") + sleep(5) + self.assert_process_status(True, "deepin-draw") + + def test_dde_1271055_2(self, clear_process_2): + """桌面打开画板""" + euler = DdeMethod() + euler.dde_dock_method_click_launcher_btn_by_attr() + euler.dde_launcher_method_click_search_box_by_attr() + pylinuxauto.input("huaban") + euler.base_method_right_click_by_ocr("画板") + pylinuxauto.select_menu(2) + DdeMethod().base_method_kill_process_by_cmd("dde-launcher") + sleep(2) + euler.base_method_double_click_by_img("deepin_draw_icon.png") + sleep(5) + self.assert_process_status(True, "deepin-draw") + DdeMethod().base_method_kill_process_by_cmd("deepin-draw") + sleep(3) + euler.base_method_right_click_by_img("deepin_draw_icon.png") + pylinuxauto.select_menu(1) + sleep(5) + self.assert_process_status(True, "deepin-draw") + + def test_dde_1271055_3(self, clear_process_1): + """终端打开画板""" + Cmd.run("deepin-draw &") + sleep(3) + self.assert_process_status(True, "deepin-draw") + + @pytest.fixture + def clear_process_1(self): + """清理环境""" + yield + DdeMethod().base_method_kill_process_by_cmd("deepin-draw") + + @pytest.fixture + def clear_process_2(self): + """清理环境""" + yield + DdeMethod().base_method_kill_process_by_cmd("deepin-draw") + DdeMethod().base_method_click_by_img("deepin_draw_icon.png") + pylinuxauto.delete() diff --git a/dde.csv b/dde.csv index 878dc764714f5981f2a90ac9b5074993ded692c6..a3dcff340ed61476fa64954970b8636230fd549c 100644 --- a/dde.csv +++ b/dde.csv @@ -10,6 +10,10 @@ 1271035,,, 1271037,,, 1271041,,, +1271055,,, +1271057,,, +1271059,,, +1271061,,, 1271073,,, 1271075,,, 1271077,,, diff --git a/method/dde_method.py b/method/dde_method.py index 5c74799ad44b9048bcc1ea9823f2f9a4502b196e..c3f9022eacf2743517ae67091a71ade9f272ec28 100644 --- a/method/dde_method.py +++ b/method/dde_method.py @@ -24,6 +24,7 @@ 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_font_manager_method import DdeFontManagerMethod +from method.deepin_draw_method import DeepinDrawMethod @log @@ -37,6 +38,7 @@ class DdeMethod( DdeDeviceManagerMethod, DeepinLogViewerMethod, DdeTerminalMethod, + DeepinDrawMethod, ): """应用方法主类""" @@ -341,4 +343,4 @@ class DdeMethod( if __name__ == "__main__": sleep(3) - pylinuxauto.find_element_by_attr_path("/deepin-terminal/DTitlebarDWindowOptionButton").click() + pylinuxauto.find_element_by_attr_path("/dde-file-manager/主目录").click() diff --git a/method/deepin_draw_method.py b/method/deepin_draw_method.py new file mode 100644 index 0000000000000000000000000000000000000000..7293221a3369e517d29e6be7cdbad201f17e2f1b --- /dev/null +++ b/method/deepin_draw_method.py @@ -0,0 +1,27 @@ +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 DeepinDrawMethod(BaseMethod): + def deepin_draw_method_click_by_attr(self, path): + """在画板中通过元素点击""" + pylinuxauto.find_element_by_attr_path(f"/deepin-draw/{path}").click() + + def deepin_draw_method_click_option_btn_by_attr(self): + """在画板中通过元素点击右上角菜单按钮""" + self.deepin_draw_method_click_by_attr("DTitlebarDWindowOptionButton") + + def deepin_draw_method_quit_by_menu(self): + """通过菜单选项退出画板应用""" + self.deepin_draw_method_click_option_btn_by_attr() + sleep(1) + pylinuxauto.reverse_select_menu(1) + sleep(2) + + def deepin_draw_method_click_rectangle_tool_btn_by_attr(self): + """通过元素在画板中点击矩形工具按钮""" + self.deepin_draw_method_click_by_attr("Rectangle tool button") diff --git a/method/image_res/deepin_draw_icon.png b/method/image_res/deepin_draw_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..29ab250654074d1c246286a749f0e5001ede0a7a Binary files /dev/null and b/method/image_res/deepin_draw_icon.png differ