diff --git a/case/test_dde_1271049.py b/case/test_dde_1271049.py new file mode 100644 index 0000000000000000000000000000000000000000..6784f403f3318be9b55169c8efec453bcb5b8f15 --- /dev/null +++ b/case/test_dde_1271049.py @@ -0,0 +1,61 @@ +import pytest + +from src import Src +from src import sleep +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_1271049_1(self): + """截图录屏—图片不同格式-PNG""" + euler = DdeMethod() + euler.open_software_by_launcher("jietuluping") + sleep(3) + self.assert_process_status(True, "deepin-screen-recorder") + Src.mouse_down(500, 500) + Src.drag_to(600, 600, 1, 1) + euler.deepin_screen_recorder.method_click_option_by_ocr("图片") + sleep(3) + euler.deepin_screen_recorder.method_click_option_by_ocr("PNG") + sleep(1) + euler.deepin_screen_recorder.method_click_screen_btn_by_image() + self.assert_file_endwith_exist("Pictures/Screenshots", "png") + + def test_dde_1271049_2(self): + """截图录屏—图片不同格式-JPG""" + euler = DdeMethod() + euler.open_software_by_launcher("jietuluping") + sleep(3) + self.assert_process_status(True, "deepin-screen-recorder") + Src.mouse_down(500, 500) + Src.drag_to(600, 600, 1, 1) + euler.deepin_screen_recorder.method_click_option_by_ocr("图片") + sleep(3) + euler.deepin_screen_recorder.method_click_option_by_ocr("JPG") + sleep(1) + euler.deepin_screen_recorder.method_click_screen_btn_by_image() + self.assert_file_endwith_exist("Pictures/Screenshots", "jpg") + + def test_dde_1271049_3(self): + """截图录屏—图片不同格式-BMP""" + euler = DdeMethod() + euler.open_software_by_launcher("jietuluping") + sleep(3) + self.assert_process_status(True, "deepin-screen-recorder") + Src.mouse_down(500, 500) + Src.drag_to(600, 600, 1, 1) + euler.deepin_screen_recorder.method_click_option_by_ocr("图片") + sleep(3) + euler.deepin_screen_recorder.method_click_option_by_ocr("BMP") + sleep(1) + euler.deepin_screen_recorder.method_click_screen_btn_by_image() + self.assert_file_endwith_exist("Pictures/Screenshots", "bmp") + + @pytest.fixture(scope="function", autouse=True) + def setup_teardown_1271049(self): + """前置和后置""" + yield + Src.kill_process("deepin-screen-recorder") + Src.run_cmd("rm -rf ~/Pictures/Screenshots/*") + sleep(3) diff --git a/dde.csv b/dde.csv index 398b2d69e3038df499608b4bed63d9bcf4712bd8..c3dd941f5c3c1422a3585cc8d45afe09111aa64e 100644 --- a/dde.csv +++ b/dde.csv @@ -58,3 +58,4 @@ 1271217,,, 1271211,,, 1271207,,, +1271049,,, diff --git a/method/dde_method.py b/method/dde_method.py index bd135428116dc6bc6f05d44f2ba95beac737e2ad..7b53e4381f0ee010604517aba368589be1072591 100644 --- a/method/dde_method.py +++ b/method/dde_method.py @@ -23,6 +23,7 @@ from apps.dde_autotest_euler.method.vender.deepin_draw_method import DeepinDrawM from apps.dde_autotest_euler.method.vender.deepin_system_monitor_method import DeepinSystemMonitorMethod from apps.dde_autotest_euler.method.vender.deepin_terminal_method import DeepinTerminalMethod from apps.dde_autotest_euler.method.vender.dde_file_manager_method import DdeFileManagerMethod +from apps.dde_autotest_euler.method.vender.deepin_screen_recorder_method import DeepinScreenRecorderMethod from src import log from src.shortcut import ShortCut @@ -91,6 +92,10 @@ class DdeMethod(Src): def dde_file_manager(self): return DdeFileManagerMethod() + @property + def deepin_screen_recorder(self): + return DeepinScreenRecorderMethod() + def open_software_by_launcher(self, text): """通过启动器打开软件""" self.dde_dock.click_launcher_btn_by_attr() diff --git a/method/image_res/deepin_screen_recoder_screen.png b/method/image_res/deepin_screen_recoder_screen.png new file mode 100644 index 0000000000000000000000000000000000000000..05592d344b2d78dfc7ea8fdeea3b5e41458ab429 Binary files /dev/null and b/method/image_res/deepin_screen_recoder_screen.png differ diff --git a/method/vender/deepin_screen_recorder_method.py b/method/vender/deepin_screen_recorder_method.py new file mode 100644 index 0000000000000000000000000000000000000000..3c89c6bc2171d31dc65d963538cbb102d2942f13 --- /dev/null +++ b/method/vender/deepin_screen_recorder_method.py @@ -0,0 +1,22 @@ +from apps.dde_autotest_euler.method.base_method import BaseMethod +from src import sleep + + +class DeepinScreenRecorderMethod(BaseMethod): + + def __init__(self): + super().__init__("deepin-screen-recorder") + + def method_click_by_attr(self, path): + """ "在截图录屏中根据元素点击""" + self.dog.element_click(path) + + def method_click_option_by_ocr(self, menu_name): + """通过ocr点击选项""" + self.click_by_ocr("选项") + sleep(1) + self.click_by_ocr(menu_name) + + def method_click_screen_btn_by_image(self): + """通过图片点击截图按钮""" + self.click_by_img("deepin_screen_recoder_screen.png") \ No newline at end of file