From e119287a887fe1ba1c1be831e0b7b92127949570 Mon Sep 17 00:00:00 2001 From: mikigo Date: Wed, 6 Nov 2024 11:05:29 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=88=87=E6=8D=A2=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E6=A1=86=E6=9E=B6=E5=92=8C=E6=AC=A7=E6=8B=89=E5=BC=80=E6=BA=90?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E4=BF=9D=E6=8C=81=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 6 - __init__.py | 0 case/__init__.py | 0 case/base_case.py | 11 +- case/test_dde_1270985.py | 24 +- case/test_dde_1270989.py | 12 +- case/test_dde_1271001.py | 8 +- case/test_dde_1271009.py | 9 +- case/test_dde_1271011.py | 8 +- case/test_dde_1271027.py | 14 +- case/test_dde_1271031.py | 4 +- case/test_dde_1271033.py | 10 +- case/test_dde_1271035.py | 4 +- case/test_dde_1271037.py | 24 +- case/test_dde_1271041.py | 4 +- case/test_dde_1271055.py | 22 +- case/test_dde_1271057.py | 18 +- case/test_dde_1271073.py | 68 +-- case/test_dde_1271075.py | 26 +- case/test_dde_1271077.py | 26 +- case/test_dde_1271089.py | 12 +- case/test_dde_1271091.py | 42 +- case/test_dde_1271093.py | 38 +- case/test_dde_1271123.py | 20 +- case/test_dde_1271135.py | 20 +- case/test_dde_1271153.py | 10 +- case/test_dde_1271157.py | 8 +- case/test_dde_1271159.py | 18 +- case/test_dde_1271169.py | 6 +- case/test_dde_1271175.py | 20 +- case/test_dde_1271199.py | 24 +- case/test_dde_1271201.py | 20 +- case/test_dde_1271213.py | 6 +- case/test_dde_1271247.py | 20 +- case/test_dde_1271293.py | 10 +- case/test_dde_1271295.py | 10 +- case/test_dde_1271297.py | 10 +- case/test_dde_1271299.py | 7 +- case/test_dde_1271301.py | 6 +- case/test_dde_1271309.py | 14 +- case/test_dde_1271311.py | 8 +- case/test_dde_1271313.py | 12 +- case/test_dde_1271315.py | 14 +- case/test_dde_1271317.py | 18 +- case/test_dde_1271319.py | 38 +- case/test_dde_1271321.py | 22 +- case/test_dde_1271327.py | 12 +- case/test_dde_1271331.py | 13 +- config.py | 6 - env.sh | 3 - method/assert_method.py | 12 +- method/base_method.py | 39 +- method/dde_device_manager_method.py | 13 - method/dde_method.py | 388 ++++++++++-------- method/vender/__init__.py | 0 .../browser_method.py} | 17 +- .../{ => vender}/dde_control_center_method.py | 16 +- method/vender/dde_desktop_method.py | 11 + method/{ => vender}/dde_dock_method.py | 15 +- method/{ => vender}/dde_launcher_method.py | 15 +- method/vender/dde_polkit_agent_method.py | 11 + method/vender/deepin_device_manager_method.py | 13 + method/{ => vender}/deepin_draw_method.py | 15 +- .../deepin_editor_method.py} | 27 +- .../deepin_font_manager_method.py} | 12 +- .../{ => vender}/deepin_log_viewer_method.py | 21 +- .../deepin_system_monitor_method.py | 22 +- .../deepin_terminal_method.py} | 16 +- pytest.ini | 18 - requirements.txt | 4 - 70 files changed, 724 insertions(+), 726 deletions(-) delete mode 100644 .gitignore create mode 100644 __init__.py create mode 100644 case/__init__.py delete mode 100644 env.sh delete mode 100644 method/dde_device_manager_method.py create mode 100644 method/vender/__init__.py rename method/{dde_browser_method.py => vender/browser_method.py} (62%) rename method/{ => vender}/dde_control_center_method.py (91%) create mode 100644 method/vender/dde_desktop_method.py rename method/{ => vender}/dde_dock_method.py (83%) rename method/{ => vender}/dde_launcher_method.py (65%) create mode 100644 method/vender/dde_polkit_agent_method.py create mode 100644 method/vender/deepin_device_manager_method.py rename method/{ => vender}/deepin_draw_method.py (70%) rename method/{dde_editor_method.py => vender/deepin_editor_method.py} (68%) rename method/{dde_font_manager_method.py => vender/deepin_font_manager_method.py} (49%) rename method/{ => vender}/deepin_log_viewer_method.py (57%) rename method/{ => vender}/deepin_system_monitor_method.py (76%) rename method/{dde_terminal_method.py => vender/deepin_terminal_method.py} (43%) delete mode 100644 pytest.ini delete mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore deleted file mode 100644 index a9d4f07..0000000 --- a/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -.idea -.vscode -__pycache__ -Pipfile -Pipfile.lock -report diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/case/__init__.py b/case/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/case/base_case.py b/case/base_case.py index 044d5b1..acd95f4 100644 --- a/case/base_case.py +++ b/case/base_case.py @@ -5,16 +5,7 @@ :Date :2024/08/22 13:15:47 """ -from method.assert_method import AssertMethod -from method.dde_method import DdeMethod -import pylinuxauto - +from apps.dde_autotest_euler.method.assert_method import AssertMethod class BaseCase(AssertMethod): """用例基类""" - - def click_restore(self): - """ - 点击左上角 - """ - pylinuxauto.mousekey.click(10, 10) diff --git a/case/test_dde_1270985.py b/case/test_dde_1270985.py index 59b16cc..1c9959c 100644 --- a/case/test_dde_1270985.py +++ b/case/test_dde_1270985.py @@ -1,14 +1,14 @@ -from case.base_case import BaseCase -from method.dde_method import DdeMethod -from pylinuxauto import sleep -import pylinuxauto +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod +from src import sleep +from src import Src class TestDdeCase(BaseCase): def test_dde_1270985(self): """控制中心中修改时区""" euler = DdeMethod() - euler.dde_dock_method_click_control_center_btn_by_attr() + euler.dde_dock.dde_dock_method_click_control_center_btn_by_attr() sleep(6) euler.dde_method_change_time_area_by_control_center() self.assert_ocr_exist("New_York") @@ -16,14 +16,14 @@ class TestDdeCase(BaseCase): def teardown_method(self): """将时区重新设置为北京时间,并且关闭控制中心""" - DdeMethod().dde_control_center_method_delete_other_time_area_by_control_center() - DdeMethod().dde_control_center_method_click_by_attr("Btn_修改系统时区") + DdeMethod().dde_control_center.dde_control_center_method_delete_other_time_area_by_control_center() + DdeMethod().dde_control_center.dde_control_center_method_click_by_attr("Btn_修改系统时区") sleep(2) - DdeMethod().dde_control_center_method_click_by_attr("Editable_qlineedit") - pylinuxauto.input_message("Beijing") + DdeMethod().dde_control_center.dde_control_center_method_click_by_attr("Editable_qlineedit") + Src.input_message("Beijing") sleep(2) - pylinuxauto.enter() - DdeMethod().dde_control_center_method_click_by_attr("Btn_确定") + Src.enter() + DdeMethod().dde_control_center.dde_control_center_method_click_by_attr("Btn_确定") sleep(2) - DdeMethod().dde_control_center_method_delete_other_time_area_by_control_center() + DdeMethod().dde_control_center.dde_control_center_method_delete_other_time_area_by_control_center() DdeMethod().dde_method_close_window() diff --git a/case/test_dde_1270989.py b/case/test_dde_1270989.py index 1ddc4fb..b734890 100644 --- a/case/test_dde_1270989.py +++ b/case/test_dde_1270989.py @@ -1,13 +1,13 @@ -from case.base_case import BaseCase -from method.dde_method import DdeMethod -from pylinuxauto import sleep +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod +from src import sleep class TestDdeCase(BaseCase): def test_dde_1270989(self): """控制中心中手动修改时间""" euler = DdeMethod() - euler.dde_dock_method_click_control_center_btn_by_attr() + euler.dde_dock.dde_dock_method_click_control_center_btn_by_attr() sleep(6) euler.dde_method_change_time_by_control_center() sleep(2) @@ -17,8 +17,8 @@ class TestDdeCase(BaseCase): def teardown_method(self): """重新开启时间同步,重置时间""" - DdeMethod().dde_control_center_method_click_time_setting_by_attr() + DdeMethod().dde_control_center.dde_control_center_method_click_time_setting_by_attr() sleep(1) - DdeMethod().dde_control_center_method_click_time_synchronization_btn_by_attr() + DdeMethod().dde_control_center.dde_control_center_method_click_time_synchronization_btn_by_attr() sleep(2) DdeMethod().dde_method_close_window() diff --git a/case/test_dde_1271001.py b/case/test_dde_1271001.py index b01dd10..624ba1c 100644 --- a/case/test_dde_1271001.py +++ b/case/test_dde_1271001.py @@ -1,13 +1,13 @@ -from case.base_case import BaseCase -from method.dde_method import DdeMethod -from pylinuxauto import sleep +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod +from src import sleep class TestDdeCase(BaseCase): def test_dde_1271001(self): """控制中心-网络-DSL功能测试""" euler = DdeMethod() - euler.dde_dock_method_click_control_center_btn_by_attr() + euler.dde_dock.dde_dock_method_click_control_center_btn_by_attr() sleep(6) euler.dde_method_add_network_dsl_by_control_center() sleep(3) diff --git a/case/test_dde_1271009.py b/case/test_dde_1271009.py index ee96871..fecec36 100644 --- a/case/test_dde_1271009.py +++ b/case/test_dde_1271009.py @@ -1,14 +1,13 @@ -from pylinuxauto.plugin import pylinuxauto -from case.base_case import BaseCase -from method.dde_method import DdeMethod -from pylinuxauto import sleep +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod +from src import sleep class TestDdeCase(BaseCase): def test_dde_1271009(self): """控制中心中更改屏幕分辨率后查看是否成功更换""" - DdeMethod().dde_dock_method_click_control_center_btn_by_attr() + DdeMethod().dde_dock.dde_dock_method_click_control_center_btn_by_attr() sleep(6) DdeMethod().dde_method_change_resolution_by_control_center() self.assert_image_exist_in_dde("test_dde_1271009.png") diff --git a/case/test_dde_1271011.py b/case/test_dde_1271011.py index 31bfaab..e262f06 100644 --- a/case/test_dde_1271011.py +++ b/case/test_dde_1271011.py @@ -1,12 +1,12 @@ -from case.base_case import BaseCase -from method.dde_method import DdeMethod -from pylinuxauto import sleep +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod +from src import sleep class TestDdeCase(BaseCase): def test_dde_1271011(self): """控制中心中更改屏幕分辨率后默认选中当前分辨率推荐的刷新率""" - DdeMethod().dde_dock_method_click_control_center_btn_by_attr() + DdeMethod().dde_dock.dde_dock_method_click_control_center_btn_by_attr() sleep(6) DdeMethod().dde_method_change_resolution_by_control_center() self.assert_element_exist("/dde-control-center/59.81赫兹") diff --git a/case/test_dde_1271027.py b/case/test_dde_1271027.py index 7190611..67fff2a 100644 --- a/case/test_dde_1271027.py +++ b/case/test_dde_1271027.py @@ -1,7 +1,7 @@ -from case.base_case import BaseCase -from method.dde_method import DdeMethod -from pylinuxauto import sleep -from nocmd import Cmd +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod +from src import sleep +from src import CmdCtl as Cmd class TestDdeCase(BaseCase): @@ -9,14 +9,14 @@ class TestDdeCase(BaseCase): """控制中心中修改非当前用户密码""" DdeMethod().dde_method_add_common_account_by_control_center() sleep(6) - a = Cmd.run("echo uostest12#$ | sudo -S grep '^test:' /etc/shadow") + a = Cmd.run_cmd("echo uostest12#$ | sudo -S grep '^test:' /etc/shadow") DdeMethod().dde_method_change_other_account_password_by_control() sleep(3) - b = Cmd.run("echo uostest12#$ | sudo -S grep '^test:' /etc/shadow") + b = Cmd.run_cmd("echo uostest12#$ | sudo -S grep '^test:' /etc/shadow") self.assert_not_equal(a, b) def teardown_method(self): """关闭控制中心窗口""" - DdeMethod().dde_control_center_method_click_by_attr("test") + DdeMethod().dde_control_center.dde_control_center_method_click_by_attr("test") DdeMethod().dde_method_delete_test_account_by_control_center() DdeMethod().dde_method_close_window() diff --git a/case/test_dde_1271031.py b/case/test_dde_1271031.py index c9cd23a..ce4c302 100644 --- a/case/test_dde_1271031.py +++ b/case/test_dde_1271031.py @@ -1,5 +1,5 @@ -from case.base_case import BaseCase -from method.dde_method import DdeMethod +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod class TestDdeCase(BaseCase): diff --git a/case/test_dde_1271033.py b/case/test_dde_1271033.py index 9695e2e..e084a8a 100644 --- a/case/test_dde_1271033.py +++ b/case/test_dde_1271033.py @@ -1,13 +1,13 @@ -from case.base_case import BaseCase -from method.dde_method import DdeMethod -from pylinuxauto import sleep -from method.dde_control_center_method import DdeControlCenterMethod +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod +from src import sleep +from apps.dde_autotest_euler.method.vender.dde_control_center_method import DdeControlCenterMethod class TestDdeCase(BaseCase): def test_dde_1271033(self): """在删除账户(当前登陆)""" - DdeMethod().dde_dock_method_click_control_center_btn_by_attr() + DdeMethod().dde_dock.dde_dock_method_click_control_center_btn_by_attr() sleep(6) DdeControlCenterMethod().dde_control_center_enter_view_by_search_box("zhanghu") self.assert_image_exist_in_dde("test_dde_1271033_1") diff --git a/case/test_dde_1271035.py b/case/test_dde_1271035.py index 994f0ce..ea02ff3 100644 --- a/case/test_dde_1271035.py +++ b/case/test_dde_1271035.py @@ -1,5 +1,5 @@ -from case.base_case import BaseCase -from method.dde_method import DdeMethod +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod class TestDdeCase(BaseCase): diff --git a/case/test_dde_1271037.py b/case/test_dde_1271037.py index 20c3238..24552ba 100644 --- a/case/test_dde_1271037.py +++ b/case/test_dde_1271037.py @@ -1,29 +1,29 @@ -import pylinuxauto -from case.base_case import BaseCase -from method.base_method import BaseMethod -from method.dde_method import DdeMethod -from pylinuxauto import sleep +from src import Src +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.base_method import BaseMethod +from apps.dde_autotest_euler.method.dde_method import DdeMethod +from src import sleep class TestDdeCase(BaseCase): def test_dde_1271037(self): """在控制中心中修改当前账户密码""" - DdeMethod().dde_dock_method_click_control_center_btn_by_attr() + DdeMethod().dde_dock.dde_dock_method_click_control_center_btn_by_attr() sleep(6) DdeMethod().dde_method_change_current_account_password_by_control_center() - DdeMethod().dde_control_center_method_click_automatic_login_btn_by_attr() - pylinuxauto.input_message(BaseMethod.change_password) + DdeMethod().dde_control_center.dde_control_center_method_click_automatic_login_btn_by_attr() + Src.input_message(BaseMethod.change_password) sleep(3) - pylinuxauto.enter() + Src.enter() sleep(3) self.assert_image_not_exist_in_dde("test_dde_1271037.png") def teardown_method(self): """将修改的当前账户密码重新设置为之前的密码""" DdeMethod().dde_method_reset_current_account_password_from_change_password_by_control_center() - DdeMethod().dde_control_center_method_click_automatic_login_btn_by_attr() - pylinuxauto.input_message(BaseMethod.account_message) + DdeMethod().dde_control_center.dde_control_center_method_click_automatic_login_btn_by_attr() + Src.input_message(BaseMethod.account_message) sleep(3) - pylinuxauto.enter() + Src.enter() sleep(3) DdeMethod().dde_method_close_window() diff --git a/case/test_dde_1271041.py b/case/test_dde_1271041.py index a1ec8ba..84b34fd 100644 --- a/case/test_dde_1271041.py +++ b/case/test_dde_1271041.py @@ -1,6 +1,6 @@ import pytest -from case.base_case import BaseCase -from method.dde_method import DdeMethod +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod class TestDdeCase(BaseCase): diff --git a/case/test_dde_1271055.py b/case/test_dde_1271055.py index fe16915..0097c2d 100644 --- a/case/test_dde_1271055.py +++ b/case/test_dde_1271055.py @@ -1,10 +1,10 @@ from time import sleep -import pylinuxauto +from src import Src import pytest -from nocmd import Cmd +from src import CmdCtl as Cmd -from case.base_case import BaseCase -from method.dde_method import DdeMethod +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod class TestDdeCase(BaseCase): @@ -18,11 +18,11 @@ class TestDdeCase(BaseCase): 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.dde_dock.dde_dock_method_click_launcher_btn_by_attr() + euler.dde_launcher.dde_launcher_method_click_search_box_by_attr() + Src.input("huaban") euler.base_method_right_click_by_ocr("画板") - pylinuxauto.select_menu(2) + Src.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") @@ -31,13 +31,13 @@ class TestDdeCase(BaseCase): 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) + Src.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 &") + Cmd.run_cmd("deepin-draw &") sleep(3) self.assert_process_status(True, "deepin-draw") @@ -53,4 +53,4 @@ class TestDdeCase(BaseCase): yield DdeMethod().base_method_kill_process_by_cmd("deepin-draw") DdeMethod().base_method_click_by_img("deepin_draw_icon.png") - pylinuxauto.delete() + Src.delete() diff --git a/case/test_dde_1271057.py b/case/test_dde_1271057.py index a488dea..b01ad70 100644 --- a/case/test_dde_1271057.py +++ b/case/test_dde_1271057.py @@ -1,10 +1,10 @@ from time import sleep -import pylinuxauto +from src import Src import pytest -from nocmd import Cmd +from src import CmdCtl as Cmd -from case.base_case import BaseCase -from method.dde_method import DdeMethod +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod class TestDdeCase(BaseCase): @@ -13,11 +13,11 @@ class TestDdeCase(BaseCase): euler = DdeMethod() euler.dde_method_open_software_by_launcher("huaban") sleep(5) - euler.deepin_draw_method_click_rectangle_tool_btn_by_attr() - pylinuxauto.mouse_down(500, 500) - pylinuxauto.drag_to(600, 600, 1, 1) + euler.deepin_draw.deepin_draw_method_click_rectangle_tool_btn_by_attr() + Src.mouse_down(500, 500) + Src.drag_to(600, 600, 1, 1) sleep(1) - pylinuxauto.ctrl_s() + Src.ctrl_s() sleep(1) euler.dde_methode_click_save_btn_in_pop_window() sleep(1) @@ -35,4 +35,4 @@ class TestDdeCase(BaseCase): yield DdeMethod().base_method_kill_process_by_cmd("deepin-draw") DdeMethod().base_method_kill_process_by_cmd("dde-file-manager") - Cmd.run("rm ~/未命名.ddf") + Cmd.run_cmd("rm ~/未命名.ddf") diff --git a/case/test_dde_1271073.py b/case/test_dde_1271073.py index 9ad24c4..01a4a1c 100644 --- a/case/test_dde_1271073.py +++ b/case/test_dde_1271073.py @@ -1,8 +1,8 @@ -import pylinuxauto +from src import Src import pytest -from case.base_case import BaseCase -from pylinuxauto import sleep -from method.dde_method import DdeMethod +from apps.dde_autotest_euler.case.base_case import BaseCase +from src import sleep +from apps.dde_autotest_euler.method.dde_method import DdeMethod class TestDdeCase(BaseCase): @@ -12,66 +12,66 @@ class TestDdeCase(BaseCase): euler.base_method_create_file_in_documents_by_cmd("test.txt") euler.dde_method_open_software_by_launcher("wenbenbianjiqi") sleep(6) - euler.dde_editor_method_click_menu_btn_by_attr() - euler.dde_editor_method_choose_open_file_option_by_ocr() + euler.deepin_editor.dde_editor_method_click_menu_btn_by_attr() + euler.deepin_editor.dde_editor_method_choose_open_file_option_by_ocr() sleep(3) - euler.dde_editor_method_click_documents_in_pop_window_by_img() + euler.deepin_editor.dde_editor_method_click_documents_in_pop_window_by_img() sleep(2) - pylinuxauto.ctrl_a() - pylinuxauto.enter() + Src.ctrl_a() + Src.enter() sleep(3) - pylinuxauto.ctrl_w() + Src.ctrl_w() sleep(2) self.assert_element_not_exist("/deepin-editor/test.txt") def test_dde_1271073_2(self): """文本编辑器-关闭标签,打开文件进行修改后用ctrl+w关闭当前标签""" euler = DdeMethod() - euler.dde_editor_method_click_menu_btn_by_attr() - euler.dde_editor_method_choose_open_file_option_by_ocr() + euler.deepin_editor.dde_editor_method_click_menu_btn_by_attr() + euler.deepin_editor.dde_editor_method_choose_open_file_option_by_ocr() sleep(3) - euler.dde_editor_method_click_documents_in_pop_window_by_img() + euler.deepin_editor.dde_editor_method_click_documents_in_pop_window_by_img() sleep(2) - pylinuxauto.ctrl_a() - pylinuxauto.enter() + Src.ctrl_a() + Src.enter() sleep(3) - pylinuxauto.input_message("1") - pylinuxauto.ctrl_w() - euler.dde_editor_method_click_by_attr("/deepin-editor/保存") + Src.input_message("1") + Src.ctrl_w() + euler.deepin_editor.dde_editor_method_click_by_attr("/deepin-editor/保存") sleep(2) self.assert_element_not_exist("/deepin-editor/test.txt") def test_dde_1271073_3(self): """文本编辑器-关闭标签,打开文件进行修改后右键关闭当前标签""" euler = DdeMethod() - euler.dde_editor_method_click_menu_btn_by_attr() - euler.dde_editor_method_choose_open_file_option_by_ocr() + euler.deepin_editor.dde_editor_method_click_menu_btn_by_attr() + euler.deepin_editor.dde_editor_method_choose_open_file_option_by_ocr() sleep(3) - euler.dde_editor_method_click_documents_in_pop_window_by_img() + euler.deepin_editor.dde_editor_method_click_documents_in_pop_window_by_img() sleep(2) - pylinuxauto.ctrl_a() - pylinuxauto.enter() + Src.ctrl_a() + Src.enter() sleep(3) - pylinuxauto.input_message("2") - euler.dde_editor_method_close_tab_by_attr("*test.txt") - euler.dde_editor_method_click_by_attr("/deepin-editor/保存") + Src.input_message("2") + euler.deepin_editor.dde_editor_method_close_tab_by_attr("*test.txt") + euler.deepin_editor.dde_editor_method_click_by_attr("/deepin-editor/保存") sleep(2) self.assert_element_not_exist("/deepin-editor/test.txt") def test_dde_1271073_4(self, clear_file_in_documents): """文本编辑器-关闭标签,打开文件进行修改后点击标签右方关闭按钮关闭当前标签""" euler = DdeMethod() - euler.dde_editor_method_click_menu_btn_by_attr() - euler.dde_editor_method_choose_open_file_option_by_ocr() + euler.deepin_editor.dde_editor_method_click_menu_btn_by_attr() + euler.deepin_editor.dde_editor_method_choose_open_file_option_by_ocr() sleep(3) - euler.dde_editor_method_click_documents_in_pop_window_by_img() + euler.deepin_editor.dde_editor_method_click_documents_in_pop_window_by_img() sleep(2) - pylinuxauto.ctrl_a() - pylinuxauto.enter() + Src.ctrl_a() + Src.enter() sleep(3) - pylinuxauto.input_message("3") - euler.dde_editor_method_close_tab_by_img() - euler.dde_editor_method_click_by_attr("/deepin-editor/保存") + Src.input_message("3") + euler.deepin_editor.dde_editor_method_close_tab_by_img() + euler.deepin_editor.dde_editor_method_click_by_attr("/deepin-editor/保存") sleep(2) self.assert_element_not_exist("/deepin-editor/test.txt") diff --git a/case/test_dde_1271075.py b/case/test_dde_1271075.py index 5b95d86..85d1618 100644 --- a/case/test_dde_1271075.py +++ b/case/test_dde_1271075.py @@ -1,8 +1,8 @@ -import pylinuxauto +from src import Src import pytest -from case.base_case import BaseCase -from pylinuxauto import sleep -from method.dde_method import DdeMethod +from apps.dde_autotest_euler.case.base_case import BaseCase +from src import sleep +from apps.dde_autotest_euler.method.dde_method import DdeMethod class TestDdeCase(BaseCase): @@ -12,17 +12,17 @@ class TestDdeCase(BaseCase): euler.base_method_create_file_in_documents_by_cmd("test.txt") euler.dde_method_open_software_by_launcher("wenbenbianjiqi") sleep(6) - euler.dde_editor_method_click_menu_btn_by_attr() - euler.dde_editor_method_choose_open_file_option_by_ocr() + euler.deepin_editor.dde_editor_method_click_menu_btn_by_attr() + euler.deepin_editor.dde_editor_method_choose_open_file_option_by_ocr() sleep(3) - euler.dde_editor_method_click_documents_in_pop_window_by_img() + euler.deepin_editor.dde_editor_method_click_documents_in_pop_window_by_img() sleep(2) - pylinuxauto.ctrl_a() - pylinuxauto.enter() + Src.ctrl_a() + Src.enter() sleep(3) - euler.dde_editor_method_click_menu_btn_by_attr() + euler.deepin_editor.dde_editor_method_click_menu_btn_by_attr() sleep(1) - euler.dde_editor_method_choose_save_as_option_by_ocr() + euler.deepin_editor.dde_editor_method_choose_save_as_option_by_ocr() sleep(3) euler.dde_method_rename_file_in_pop_window_by_attr("new.txt") self.assert_file_exist("~/Documents/new.txt") @@ -31,9 +31,9 @@ class TestDdeCase(BaseCase): """文本编辑器——另存为 重复文件名""" euler = DdeMethod() sleep(3) - euler.dde_editor_method_click_menu_btn_by_attr() + euler.deepin_editor.dde_editor_method_click_menu_btn_by_attr() sleep(1) - euler.dde_editor_method_choose_save_as_option_by_ocr() + euler.deepin_editor.dde_editor_method_choose_save_as_option_by_ocr() sleep(3) euler.dde_method_rename_file_same_name_in_pop_window_by_attr("new.txt") self.assert_image_exist_in_dde("test_dde_1271075.png") diff --git a/case/test_dde_1271077.py b/case/test_dde_1271077.py index 44627e7..3121fdb 100644 --- a/case/test_dde_1271077.py +++ b/case/test_dde_1271077.py @@ -1,7 +1,7 @@ -import pylinuxauto -from case.base_case import BaseCase -from pylinuxauto import sleep -from method.dde_method import DdeMethod +from src import Src +from apps.dde_autotest_euler.case.base_case import BaseCase +from src import sleep +from apps.dde_autotest_euler.method.dde_method import DdeMethod class TestDdeCase(BaseCase): @@ -11,13 +11,13 @@ class TestDdeCase(BaseCase): euler.base_method_create_file_in_documents_by_cmd("test.txt") euler.dde_method_open_software_by_launcher("wenbenbianjiqi") sleep(6) - euler.dde_editor_method_click_menu_btn_by_attr() - euler.dde_editor_method_choose_open_file_option_by_ocr() + euler.deepin_editor.dde_editor_method_click_menu_btn_by_attr() + euler.deepin_editor.dde_editor_method_choose_open_file_option_by_ocr() sleep(3) - euler.dde_editor_method_click_documents_in_pop_window_by_img() + euler.deepin_editor.dde_editor_method_click_documents_in_pop_window_by_img() sleep(2) - pylinuxauto.ctrl_a() - pylinuxauto.enter() + Src.ctrl_a() + Src.enter() sleep(3) euler.base_method_right_click_by_ocr("is") self.assert_ocr_not_exist("除") @@ -27,7 +27,7 @@ class TestDdeCase(BaseCase): euler.base_method_click_by_ocr("除") self.assert_image_not_exist_in_dde("test_dde_1271077.png") sleep(2) - pylinuxauto.ctrl_a() + Src.ctrl_a() euler.base_method_right_click_by_ocr("is") sleep(1) euler.base_method_click_by_ocr("除") @@ -35,8 +35,8 @@ class TestDdeCase(BaseCase): def teardown_method(self): """关闭文本编辑器""" - pylinuxauto.ctrl_s() + Src.ctrl_s() sleep(1) - DdeMethod().dde_editor_method_close_tab_by_attr("test.txt") - DdeMethod().dde_editor_method_quit_editor_by_ocr() + DdeMethod().deepin_editor.dde_editor_method_close_tab_by_attr("test.txt") + DdeMethod().deepin_editor.dde_editor_method_quit_editor_by_ocr() DdeMethod().base_method_delete_file_in_documents_by_cmd("test.txt") diff --git a/case/test_dde_1271089.py b/case/test_dde_1271089.py index a6c86ef..ea85fc2 100644 --- a/case/test_dde_1271089.py +++ b/case/test_dde_1271089.py @@ -1,7 +1,7 @@ -import pylinuxauto -from case.base_case import BaseCase -from pylinuxauto import sleep -from method.dde_method import DdeMethod +from src import Src +from apps.dde_autotest_euler.case.base_case import BaseCase +from src import sleep +from apps.dde_autotest_euler.method.dde_method import DdeMethod class TestDdeCase(BaseCase): @@ -11,7 +11,7 @@ class TestDdeCase(BaseCase): euler.dde_method_open_software_by_launcher("wenbenbianjiqi") sleep(6) self.assert_process_status(True, "deepin-editor") - euler.dde_editor_method_quit_editor_by_ocr() + euler.deepin_editor.dde_editor_method_quit_editor_by_ocr() sleep(3) self.assert_process_status(False, "deepin-editor") @@ -21,6 +21,6 @@ class TestDdeCase(BaseCase): euler.dde_method_open_software_by_launcher("wenbenbianjiqi") sleep(6) self.assert_process_status(True, "deepin-editor") - pylinuxauto.alt_f4() + Src.alt_f4() sleep(3) self.assert_process_status(False, "deepin-editor") diff --git a/case/test_dde_1271091.py b/case/test_dde_1271091.py index 9271c2d..6a7fa32 100644 --- a/case/test_dde_1271091.py +++ b/case/test_dde_1271091.py @@ -1,8 +1,8 @@ -import pylinuxauto +from src import Src import pytest -from case.base_case import BaseCase -from pylinuxauto import sleep -from method.dde_method import DdeMethod +from apps.dde_autotest_euler.case.base_case import BaseCase +from src import sleep +from apps.dde_autotest_euler.method.dde_method import DdeMethod class TestDdeCase(BaseCase): @@ -12,16 +12,16 @@ class TestDdeCase(BaseCase): euler.base_method_create_file_in_documents_by_cmd("test.txt") euler.dde_method_open_software_by_launcher("wenbenbianjiqi") sleep(6) - euler.dde_editor_method_click_menu_btn_by_attr() - euler.dde_editor_method_choose_open_file_option_by_ocr() + euler.deepin_editor.dde_editor_method_click_menu_btn_by_attr() + euler.deepin_editor.dde_editor_method_choose_open_file_option_by_ocr() sleep(3) - euler.dde_editor_method_click_documents_in_pop_window_by_img() + euler.deepin_editor.dde_editor_method_click_documents_in_pop_window_by_img() sleep(2) - pylinuxauto.ctrl_a() - pylinuxauto.enter() - pylinuxauto.input_message("a") - euler.dde_editor_method_click_menu_btn_by_attr() - euler.dde_editor_method_choose_save_option_by_ocr() + Src.ctrl_a() + Src.enter() + Src.input_message("a") + euler.deepin_editor.dde_editor_method_click_menu_btn_by_attr() + euler.deepin_editor.dde_editor_method_choose_save_option_by_ocr() self.assert_image_exist_in_dde("test_dde_1271091.png") def test_dde_1271091_2(self): @@ -30,22 +30,22 @@ class TestDdeCase(BaseCase): euler.base_method_create_file_in_documents_by_cmd("test.txt") euler.dde_method_open_software_by_launcher("wenbenbianjiqi") sleep(6) - euler.dde_editor_method_click_menu_btn_by_attr() - euler.dde_editor_method_choose_open_file_option_by_ocr() + euler.deepin_editor.dde_editor_method_click_menu_btn_by_attr() + euler.deepin_editor.dde_editor_method_choose_open_file_option_by_ocr() sleep(3) - euler.dde_editor_method_click_documents_in_pop_window_by_img() + euler.deepin_editor.dde_editor_method_click_documents_in_pop_window_by_img() sleep(2) - pylinuxauto.ctrl_a() - pylinuxauto.enter() - pylinuxauto.input_message("a") - pylinuxauto.ctrl_s() + Src.ctrl_a() + Src.enter() + Src.input_message("a") + Src.ctrl_s() self.assert_image_exist_in_dde("test_dde_1271091.png") @pytest.fixture(autouse=True) def clear_test_file(self): """删除测试文件,关闭文本编辑器窗口""" yield - DdeMethod().dde_editor_method_close_tab_by_attr("test.txt") - DdeMethod().dde_editor_method_quit_editor_by_ocr() + DdeMethod().deepin_editor.dde_editor_method_close_tab_by_attr("test.txt") + DdeMethod().deepin_editor.dde_editor_method_quit_editor_by_ocr() DdeMethod().base_method_delete_file_in_documents_by_cmd("test.txt") sleep(3) diff --git a/case/test_dde_1271093.py b/case/test_dde_1271093.py index 2c5e61c..d6b30b6 100644 --- a/case/test_dde_1271093.py +++ b/case/test_dde_1271093.py @@ -1,8 +1,8 @@ -import pylinuxauto +from src import Src import pytest -from case.base_case import BaseCase -from pylinuxauto import sleep -from method.dde_method import DdeMethod +from apps.dde_autotest_euler.case.base_case import BaseCase +from src import sleep +from apps.dde_autotest_euler.method.dde_method import DdeMethod class TestDdeCase(BaseCase): @@ -12,13 +12,13 @@ class TestDdeCase(BaseCase): euler.base_method_create_file_in_documents_by_cmd("test1.txt") euler.dde_method_open_software_by_launcher("wenbenbianjiqi") sleep(6) - euler.dde_editor_method_click_menu_btn_by_attr() - euler.dde_editor_method_choose_open_file_option_by_ocr() + euler.deepin_editor.dde_editor_method_click_menu_btn_by_attr() + euler.deepin_editor.dde_editor_method_choose_open_file_option_by_ocr() sleep(3) - euler.dde_editor_method_click_documents_in_pop_window_by_img() + euler.deepin_editor.dde_editor_method_click_documents_in_pop_window_by_img() sleep(2) - pylinuxauto.ctrl_a() - pylinuxauto.enter() + Src.ctrl_a() + Src.enter() self.assert_ocr_exist("This is test message") def test_dde_1271093_2(self, clear_test_file_2): @@ -27,13 +27,13 @@ class TestDdeCase(BaseCase): euler.base_method_create_file_in_documents_by_cmd("test1.xml") euler.dde_method_open_software_by_launcher("wenbenbianjiqi") sleep(6) - euler.dde_editor_method_click_menu_btn_by_attr() - euler.dde_editor_method_choose_open_file_option_by_ocr() + euler.deepin_editor.dde_editor_method_click_menu_btn_by_attr() + euler.deepin_editor.dde_editor_method_choose_open_file_option_by_ocr() sleep(3) - euler.dde_editor_method_click_documents_in_pop_window_by_img() + euler.deepin_editor.dde_editor_method_click_documents_in_pop_window_by_img() sleep(2) - pylinuxauto.ctrl_a() - pylinuxauto.enter() + Src.ctrl_a() + Src.enter() self.assert_ocr_exist("This is test message") def test_dde_1271093_3(self, clear_test_file_3): @@ -42,13 +42,13 @@ class TestDdeCase(BaseCase): euler.base_method_create_file_in_documents_by_cmd("test1.json") euler.dde_method_open_software_by_launcher("wenbenbianjiqi") sleep(6) - euler.dde_editor_method_click_menu_btn_by_attr() - euler.dde_editor_method_choose_open_file_option_by_ocr() + euler.deepin_editor.dde_editor_method_click_menu_btn_by_attr() + euler.deepin_editor.dde_editor_method_choose_open_file_option_by_ocr() sleep(3) - euler.dde_editor_method_click_documents_in_pop_window_by_img() + euler.deepin_editor.dde_editor_method_click_documents_in_pop_window_by_img() sleep(2) - pylinuxauto.ctrl_a() - pylinuxauto.enter() + Src.ctrl_a() + Src.enter() self.assert_ocr_exist("This is test message") @pytest.fixture() diff --git a/case/test_dde_1271123.py b/case/test_dde_1271123.py index b7a3480..d9c43bd 100644 --- a/case/test_dde_1271123.py +++ b/case/test_dde_1271123.py @@ -1,23 +1,23 @@ -import pylinuxauto -from case.base_case import BaseCase -from method.dde_method import DdeMethod -from pylinuxauto import sleep +from src import Src +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod +from src import sleep class TestDdeCase(BaseCase): def test_dde_1271123(self): """检查系统是否默认安装Firefox浏览器,并且语言为中文""" - DdeMethod().dde_dock_method_click_launcher_btn_by_attr() + DdeMethod().dde_dock.dde_dock_method_click_launcher_btn_by_attr() sleep(2) - DdeMethod().dde_launcher_method_click_search_box_by_attr() - pylinuxauto.input_message("firefox") + DdeMethod().dde_launcher.dde_launcher_method_click_search_box_by_attr() + Src.input_message("firefox") sleep(2) - pylinuxauto.enter() + Src.enter() sleep(6) - DdeMethod().dde_browser_method_click_menu_icon_by_img() + DdeMethod().browser.dde_browser_method_click_menu_icon_by_img() self.assert_ocr_exist("退出") def teardown_method(self): """关闭Firefox浏览器""" - DdeMethod().dde_browser_method_click_close_btn_by_attr() + DdeMethod().browser.dde_browser_method_click_close_btn_by_attr() sleep(2) diff --git a/case/test_dde_1271135.py b/case/test_dde_1271135.py index 9de1ead..0299ff0 100644 --- a/case/test_dde_1271135.py +++ b/case/test_dde_1271135.py @@ -1,7 +1,7 @@ -from case.base_case import BaseCase -from method.dde_method import DdeMethod -from pylinuxauto import sleep -import pylinuxauto +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod +from src import sleep +from src import Src class TestDdeCase(BaseCase): @@ -9,16 +9,16 @@ class TestDdeCase(BaseCase): """在浏览器中新打开网页,并且进入百度界面""" DdeMethod().dde_method_open_software_by_launcher("Firefox") sleep(10) - DdeMethod().dde_browser_method_right_click_by_ocr("开源社区") + DdeMethod().browser.dde_browser_method_right_click_by_ocr("开源社区") sleep(3) self.assert_image_exist_in_dde("test_dde_1271135_1.png") - DdeMethod().dde_browser_method_click_by_attr("新建标签页") - DdeMethod().dde_browser_method_click_by_attr("使用 百度 搜索,或者输入网址") - pylinuxauto.input_message("www.baidu.com") + DdeMethod().browser.dde_browser_method_click_by_attr("新建标签页") + DdeMethod().browser.dde_browser_method_click_by_attr("使用 百度 搜索,或者输入网址") + Src.input_message("www.baidu.com") sleep(3) - pylinuxauto.enter() + Src.enter() self.assert_image_exist_in_dde("test_dde_1271135_2.png") def teardown_method(self): """关闭浏览器""" - DdeMethod().dde_browser_method_click_close_btn_by_attr() + DdeMethod().browser.dde_browser_method_click_close_btn_by_attr() diff --git a/case/test_dde_1271153.py b/case/test_dde_1271153.py index 00a899e..931b34e 100644 --- a/case/test_dde_1271153.py +++ b/case/test_dde_1271153.py @@ -1,7 +1,7 @@ -from pylinuxauto import sleep -from case.base_case import BaseCase -from method.dde_method import DdeMethod -import pylinuxauto +from src import sleep +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod +from src import Src class TestDdeCase(BaseCase): @@ -14,4 +14,4 @@ class TestDdeCase(BaseCase): def teardown_method(self): """""" - pylinuxauto.alt_f4() + Src.alt_f4() diff --git a/case/test_dde_1271157.py b/case/test_dde_1271157.py index 3e1f0ec..8884d27 100644 --- a/case/test_dde_1271157.py +++ b/case/test_dde_1271157.py @@ -1,6 +1,6 @@ -from pylinuxauto import sleep -from case.base_case import BaseCase -from method.dde_method import DdeMethod +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): @@ -9,7 +9,7 @@ class TestDdeCase(BaseCase): euler = DdeMethod() euler.dde_method_open_software_by_launcher("rizhishoujigongju") sleep(6) - euler.deepin_log_viewer_input_root_password() + euler.deepin_log_viewer.deepin_log_viewer_input_root_password() euler.deepin_log_viewer_method_export_all_log_by_attr() self.assert_image_exist_in_dde("test_dde_1271169") diff --git a/case/test_dde_1271159.py b/case/test_dde_1271159.py index 0d14661..4b7c12d 100644 --- a/case/test_dde_1271159.py +++ b/case/test_dde_1271159.py @@ -1,7 +1,7 @@ -from pylinuxauto import sleep -from case.base_case import BaseCase -from method.dde_method import DdeMethod -import pylinuxauto +from src import sleep +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod +from src import Src class TestDdeCase(BaseCase): @@ -10,11 +10,9 @@ class TestDdeCase(BaseCase): euler = DdeMethod() euler.dde_method_open_software_by_launcher("rizhishoujigongju") sleep(6) - pylinuxauto.find_element_by_attr_path( - "/dde-polkit-agent/EditableText_passwordinput" - ).click() - pylinuxauto.input_message("1") - pylinuxauto.enter() + euler.dde_polkit_agent.dde_polkit_agent_method_click_by_attr("EditableText_passwordinput") + Src.input_message("1") + Src.enter() sleep(2) self.assert_image_exist_in_dde("test_dde_1271159_1") @@ -23,7 +21,7 @@ class TestDdeCase(BaseCase): euler = DdeMethod() euler.dde_method_open_software_by_launcher("rizhishoujigongju") sleep(6) - euler.deepin_log_viewer_input_root_password() + euler.deepin_log_viewer.deepin_log_viewer_input_root_password() self.assert_ocr_exist("状态") def teardown_method(self): diff --git a/case/test_dde_1271169.py b/case/test_dde_1271169.py index 65ec66a..6a95f47 100644 --- a/case/test_dde_1271169.py +++ b/case/test_dde_1271169.py @@ -1,6 +1,6 @@ -from pylinuxauto import sleep -from case.base_case import BaseCase -from method.dde_method import DdeMethod +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): diff --git a/case/test_dde_1271175.py b/case/test_dde_1271175.py index 7b489b0..f06dfc9 100644 --- a/case/test_dde_1271175.py +++ b/case/test_dde_1271175.py @@ -1,9 +1,9 @@ from time import sleep -import pylinuxauto +from src import Src import pytest -from case.base_case import BaseCase -from method.base_method import BaseMethod -from method.dde_method import DdeMethod +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.base_method import BaseMethod +from apps.dde_autotest_euler.method.dde_method import DdeMethod class TestDdeCase(BaseCase): @@ -12,14 +12,14 @@ class TestDdeCase(BaseCase): euler = DdeMethod() euler.dde_method_open_software_by_launcher("xitongjianshiqi") sleep(5) - euler.deepin_system_monitor_method_click_system_services_btn_by_attr() - euler.deepin_system_monitor_method_search_process_or_service("bluetooth") - euler.deepin_system_monitor_method_right_click_first_service_in_system_services() - pylinuxauto.select_menu(2) + euler.deepin_system_monitor.deepin_system_monitor_method_click_system_services_btn_by_attr() + euler.deepin_system_monitor.deepin_system_monitor_method_search_process_or_service("bluetooth") + euler.deepin_system_monitor.deepin_system_monitor_method_right_click_first_service_in_system_services() + Src.select_menu(2) sleep(3) - pylinuxauto.input_message(BaseMethod.account_message) + Src.input_message(BaseMethod.account_message) sleep(3) - pylinuxauto.enter() + Src.enter() self.assert_ocr_exist("已启动") @pytest.fixture diff --git a/case/test_dde_1271199.py b/case/test_dde_1271199.py index 8fd995b..f71e445 100644 --- a/case/test_dde_1271199.py +++ b/case/test_dde_1271199.py @@ -1,6 +1,6 @@ -from pylinuxauto import sleep -from case.base_case import BaseCase -from method.dde_method import DdeMethod +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): @@ -11,31 +11,31 @@ class TestDdeCase(BaseCase): sleep(6) self.assert_ocr_exist("CPU数量") sleep(1) - euler.dde_device_manager_method_click_by_attr("处理器") + euler.deepin_devicemanager.dde_device_manager_method_click_by_attr("处理器") self.assert_ocr_exist("名称", "制造商", "最大频率", "架构") sleep(1) - euler.dde_device_manager_method_click_by_attr("主板") + euler.deepin_devicemanager.dde_device_manager_method_click_by_attr("主板") self.assert_ocr_exist("版本") sleep(1) - euler.dde_device_manager_method_click_by_attr("内存") + euler.deepin_devicemanager.dde_device_manager_method_click_by_attr("内存") self.assert_ocr_exist("总位宽", "序列号") sleep(1) - euler.dde_device_manager_method_click_by_attr("显示适配器") + euler.deepin_devicemanager.dde_device_manager_method_click_by_attr("显示适配器") self.assert_ocr_exist("中断") sleep(1) - euler.dde_device_manager_method_click_by_attr("音频适配器") + euler.deepin_devicemanager.dde_device_manager_method_click_by_attr("音频适配器") self.assert_ocr_exist("芯片") sleep(1) - euler.dde_device_manager_method_click_by_attr("存储设备") + euler.deepin_devicemanager.dde_device_manager_method_click_by_attr("存储设备") self.assert_ocr_exist("设备文件") sleep(1) - euler.dde_device_manager_method_click_by_attr("鼠标") + euler.deepin_devicemanager.dde_device_manager_method_click_by_attr("鼠标") self.assert_ocr_exist("型号") sleep(1) - euler.dde_device_manager_method_click_by_attr("键盘") + euler.deepin_devicemanager.dde_device_manager_method_click_by_attr("键盘") self.assert_ocr_exist("硬件类别") sleep(1) - euler.dde_device_manager_method_click_by_attr("光驱") + euler.deepin_devicemanager.dde_device_manager_method_click_by_attr("光驱") self.assert_ocr_exist("总线信息") def teardown_method(self): diff --git a/case/test_dde_1271201.py b/case/test_dde_1271201.py index 2ad2099..b1e582b 100644 --- a/case/test_dde_1271201.py +++ b/case/test_dde_1271201.py @@ -1,7 +1,7 @@ -from pylinuxauto import sleep -from case.base_case import BaseCase -from method.dde_method import DdeMethod -import pylinuxauto +from src import sleep +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod +from src import Src class TestDdeCase(BaseCase): @@ -10,14 +10,14 @@ class TestDdeCase(BaseCase): euler = DdeMethod() euler.dde_method_open_software_by_launcher("shebeiguanliqi") sleep(6) - euler.dde_device_manager_method_export_file_by_attr("概况") + euler.deepin_devicemanager.dde_device_manager_method_export_file_by_attr("概况") euler.dde_method_open_software_by_launcher("wenbenbianjiqi") sleep(6) - euler.dde_editor_method_click_menu_btn_by_attr() - euler.dde_editor_method_choose_open_file_option_by_ocr() - euler.dde_editor_method_click_documents_in_pop_window_by_img() - pylinuxauto.ctrl_a() - pylinuxauto.enter() + euler.deepin_editor.deepin_editor.dde_editor_method_click_menu_btn_by_attr() + euler.deepin_editor.deepin_editor.dde_editor_method_choose_open_file_option_by_ocr() + euler.deepin_editor.dde_editor_method_click_documents_in_pop_window_by_img() + Src.ctrl_a() + Src.enter() sleep(2) self.assert_ocr_exist("概况", "处理器", "CPU数量", "内存") diff --git a/case/test_dde_1271213.py b/case/test_dde_1271213.py index b8a0e3c..af86edd 100644 --- a/case/test_dde_1271213.py +++ b/case/test_dde_1271213.py @@ -1,6 +1,6 @@ -from case.base_case import BaseCase -from method.dde_method import DdeMethod -from pylinuxauto import sleep +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod +from src import sleep class TestDdeCase(BaseCase): diff --git a/case/test_dde_1271247.py b/case/test_dde_1271247.py index 3d6e786..ca7ac59 100644 --- a/case/test_dde_1271247.py +++ b/case/test_dde_1271247.py @@ -1,7 +1,7 @@ -from case.base_case import BaseCase -from method.dde_method import DdeMethod -from pylinuxauto import sleep -import pylinuxauto +from apps.dde_autotest_euler.case.base_case import BaseCase +from apps.dde_autotest_euler.method.dde_method import DdeMethod +from src import sleep +from src import Src class TestDdeCase(BaseCase): @@ -9,19 +9,19 @@ class TestDdeCase(BaseCase): """终端关闭""" app_name = "deepin-terminal" DdeMethod().base_method_kill_process_by_cmd(app_name) - pylinuxauto.ctrl_alt_t() + Src.ctrl_alt_t() sleep(6) - DdeMethod().dde_terminal_method_click_option_by_attr() + DdeMethod().deepin_terminal.dde_terminal_method_click_option_by_attr() sleep(1) DdeMethod().base_method_click_by_ocr("远程管理") sleep(1) - x, y = pylinuxauto.find_element_by_ocr("未添加").result - pylinuxauto.click(x - 150, y) + x, y = Src.ocrx("未添加").result + Src.click(x - 150, y) self.assert_ocr_not_exist("未添加") - pylinuxauto.alt_f4() + Src.alt_f4() sleep(1) self.assert_process_status(False, app_name) def teardown_method(self): - pylinuxauto.alt_f4() + Src.alt_f4() diff --git a/case/test_dde_1271293.py b/case/test_dde_1271293.py index d9d43b0..862cabf 100644 --- a/case/test_dde_1271293.py +++ b/case/test_dde_1271293.py @@ -1,8 +1,8 @@ -from case.base_case import BaseCase -from pylinuxauto import sleep -from method.dde_method import DdeMethod -from method.dde_control_center_method import DdeControlCenterMethod -from method.dde_dock_method import DdeDockMethod +from apps.dde_autotest_euler.case.base_case import BaseCase +from src import sleep +from apps.dde_autotest_euler.method.dde_method import DdeMethod +from apps.dde_autotest_euler.method.vender.dde_control_center_method import DdeControlCenterMethod +from apps.dde_autotest_euler.method.vender.dde_dock_method import DdeDockMethod class TestDdeCase(BaseCase): diff --git a/case/test_dde_1271295.py b/case/test_dde_1271295.py index e058f3b..61db680 100644 --- a/case/test_dde_1271295.py +++ b/case/test_dde_1271295.py @@ -1,8 +1,8 @@ -from case.base_case import BaseCase -from pylinuxauto import sleep -from method.dde_method import DdeMethod -from method.dde_control_center_method import DdeControlCenterMethod -from method.dde_dock_method import DdeDockMethod +from apps.dde_autotest_euler.case.base_case import BaseCase +from src import sleep +from apps.dde_autotest_euler.method.dde_method import DdeMethod +from apps.dde_autotest_euler.method.vender.dde_control_center_method import DdeControlCenterMethod +from apps.dde_autotest_euler.method.vender.dde_dock_method import DdeDockMethod class TestDdeCase(BaseCase): diff --git a/case/test_dde_1271297.py b/case/test_dde_1271297.py index fed4f23..0ab9ec9 100644 --- a/case/test_dde_1271297.py +++ b/case/test_dde_1271297.py @@ -1,8 +1,8 @@ -from case.base_case import BaseCase -from pylinuxauto import sleep -from method.dde_method import DdeMethod -from method.dde_control_center_method import DdeControlCenterMethod -from method.dde_dock_method import DdeDockMethod +from apps.dde_autotest_euler.case.base_case import BaseCase +from src import sleep +from apps.dde_autotest_euler.method.dde_method import DdeMethod +from apps.dde_autotest_euler.method.vender.dde_control_center_method import DdeControlCenterMethod +from apps.dde_autotest_euler.method.vender.dde_dock_method import DdeDockMethod class TestDdeCase(BaseCase): diff --git a/case/test_dde_1271299.py b/case/test_dde_1271299.py index 487ca67..fe79d5a 100644 --- a/case/test_dde_1271299.py +++ b/case/test_dde_1271299.py @@ -1,7 +1,6 @@ -from case.base_case import BaseCase -from pylinuxauto import sleep -from method.dde_method import DdeMethod -from method.dde_control_center_method import DdeControlCenterMethod +from apps.dde_autotest_euler.case.base_case import BaseCase +from src import sleep +from apps.dde_autotest_euler.method.dde_method import DdeMethod class TestDdeCase(BaseCase): diff --git a/case/test_dde_1271301.py b/case/test_dde_1271301.py index 3087e13..441f88b 100644 --- a/case/test_dde_1271301.py +++ b/case/test_dde_1271301.py @@ -1,6 +1,6 @@ -from case.base_case import BaseCase -from pylinuxauto import sleep -from method.dde_method import DdeMethod +from apps.dde_autotest_euler.case.base_case import BaseCase +from src import sleep +from apps.dde_autotest_euler.method.dde_method import DdeMethod class TestDdeCase(BaseCase): diff --git a/case/test_dde_1271309.py b/case/test_dde_1271309.py index 739c09f..e0f381c 100644 --- a/case/test_dde_1271309.py +++ b/case/test_dde_1271309.py @@ -1,14 +1,14 @@ -from case.base_case import BaseCase -from pylinuxauto import sleep -from method.dde_method import DdeMethod -import pylinuxauto +from apps.dde_autotest_euler.case.base_case import BaseCase +from src import sleep +from apps.dde_autotest_euler.method.dde_method import DdeMethod +from src import Src class TestDdeCase(BaseCase): def test_dde_1271309_1(self): """在任务栏中打开启动器""" euler = DdeMethod() - euler.dde_dock_method_click_launcher_btn_by_attr() + euler.dde_dock.dde_dock_method_click_launcher_btn_by_attr() sleep(1) # 等待 1 秒,判断launcher是否启动 self.assert_image_exist_in_dde("test_dde_1271309.png") @@ -19,12 +19,12 @@ class TestDdeCase(BaseCase): def test_dde_1271309_2(self): """在任务栏中打开启动器""" - pylinuxauto.win() + Src.win_left() sleep(1) # 等待 1 秒,判断launcher是否启动 self.assert_image_exist_in_dde("test_dde_1271309.png") sleep(3) - pylinuxauto.win() + Src.win_left() sleep(1) self.assert_image_not_exist_in_dde("test_dde_1271309.png") diff --git a/case/test_dde_1271311.py b/case/test_dde_1271311.py index 0a8447c..c4f1fb0 100644 --- a/case/test_dde_1271311.py +++ b/case/test_dde_1271311.py @@ -5,9 +5,9 @@ :Date :2024/08/22 13:15:47 """ -from case.base_case import BaseCase -from pylinuxauto import sleep -from method.dde_method import DdeMethod +from apps.dde_autotest_euler.case.base_case import BaseCase +from src import sleep +from apps.dde_autotest_euler.method.dde_method import DdeMethod class TestDdeCase(BaseCase): @@ -21,5 +21,5 @@ class TestDdeCase(BaseCase): def teardown_method(self): """环境清理,关闭火狐浏览器""" - DdeMethod().dde_browser_method_click_close_btn_by_attr() + DdeMethod().browser.dde_browser_method_click_close_btn_by_attr() sleep(3) diff --git a/case/test_dde_1271313.py b/case/test_dde_1271313.py index 333ce17..972d3d3 100644 --- a/case/test_dde_1271313.py +++ b/case/test_dde_1271313.py @@ -5,17 +5,17 @@ :Date :2024/08/22 13:15:47 """ -from case.base_case import BaseCase -from pylinuxauto import sleep -from method.dde_method import DdeMethod -import pylinuxauto +from apps.dde_autotest_euler.case.base_case import BaseCase +from src import sleep +from apps.dde_autotest_euler.method.dde_method import DdeMethod +from src import Src class TestDdeCase(BaseCase): def test_dde_1271313_1(self): """在任务栏中点击启动器""" euler = DdeMethod() - euler.dde_dock_method_click_launcher_btn_by_attr() + euler.dde_dock.dde_dock_method_click_launcher_btn_by_attr() # 等待 1 秒,判断launcher是否启动 sleep(1) @@ -25,7 +25,7 @@ class TestDdeCase(BaseCase): def test_dde_1271313_2(self): """通过按键win打开启动器""" sleep(2) - pylinuxauto.win() + Src.win_left() # 等待 1 秒,判断launcher是否启动 sleep(1) diff --git a/case/test_dde_1271315.py b/case/test_dde_1271315.py index c9a408b..d4cd845 100644 --- a/case/test_dde_1271315.py +++ b/case/test_dde_1271315.py @@ -5,17 +5,17 @@ :Date :2024/08/22 13:15:47 """ -from case.base_case import BaseCase -from pylinuxauto import sleep -from method.dde_method import DdeMethod -import pylinuxauto +from apps.dde_autotest_euler.case.base_case import BaseCase +from src import sleep +from apps.dde_autotest_euler.method.dde_method import DdeMethod +from src import Src class TestDdeCase(BaseCase): def test_dde_1271315(self): """在任务栏中点击启动器""" euler = DdeMethod() - euler.dde_dock_method_click_launcher_btn_by_attr() + euler.dde_dock.dde_dock_method_click_launcher_btn_by_attr() # 等待 1 秒,判断launcher是否启动 sleep(1) @@ -24,8 +24,8 @@ class TestDdeCase(BaseCase): DdeMethod().base_method_click_by_img("launcher_power_btn.png") sleep(1) self.assert_ocr_exist("关机") - pylinuxauto.mousekey.click(10, 10) - self.click_restore() + Src.click(10, 10) + euler.click_restore() sleep(1) def teardown_method(self): diff --git a/case/test_dde_1271317.py b/case/test_dde_1271317.py index c83f23a..b72b354 100644 --- a/case/test_dde_1271317.py +++ b/case/test_dde_1271317.py @@ -1,31 +1,31 @@ -from case.base_case import BaseCase -from pylinuxauto import sleep -from method.dde_method import DdeMethod +from apps.dde_autotest_euler.case.base_case import BaseCase +from src import sleep +from apps.dde_autotest_euler.method.dde_method import DdeMethod class TestDdeCase(BaseCase): def test_dde_1271317_1(self): """检查启动器的 全部分类 模块""" euler = DdeMethod() - euler.dde_dock_method_click_launcher_btn_by_attr() + euler.dde_dock.dde_dock_method_click_launcher_btn_by_attr() sleep(2) - euler.dde_launcher_method_click_all_categories_or_back_by_attr() + euler.dde_launcher.dde_launcher_method_click_all_categories_or_back_by_attr() sleep(1) self.assert_ocr_exist("音乐欣赏") sleep(1) - euler.dde_launcher_method_click_all_categories_or_back_by_attr() + euler.dde_launcher.dde_launcher_method_click_all_categories_or_back_by_attr() sleep(1) self.assert_ocr_exist("搜索") def test_dde_1271317_2(self): """检查启动器 全部分类 视图中 系统管理 分类内容""" euler = DdeMethod() - euler.dde_dock_method_click_launcher_btn_by_attr() + euler.dde_dock.dde_dock_method_click_launcher_btn_by_attr() sleep(2) - euler.dde_launcher_method_click_all_categories_or_back_by_attr() + euler.dde_launcher.dde_launcher_method_click_all_categories_or_back_by_attr() sleep(3) - euler.dde_launcher_method_click_system_manager_in_all_categories_view() + euler.dde_launcher.dde_launcher_method_click_system_manager_in_all_categories_view() sleep(3) self.assert_ocr_exist("系统监视器") diff --git a/case/test_dde_1271319.py b/case/test_dde_1271319.py index 815d700..1c4ee0f 100644 --- a/case/test_dde_1271319.py +++ b/case/test_dde_1271319.py @@ -1,40 +1,40 @@ -from pylinuxauto import sleep, find_element_by_attr_path -import pylinuxauto -from case.base_case import BaseCase -from method.dde_method import DdeMethod +from src import sleep +from src import Src +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_1271319_1(self): """任务栏-应用区域的添加&移除""" euler = DdeMethod() - euler.dde_dock_method_click_launcher_btn_by_attr() - euler.dde_launcher_method_click_search_box_by_attr() - pylinuxauto.input("kantu") + euler.dde_dock.dde_dock_method_click_launcher_btn_by_attr() + euler.dde_launcher.dde_launcher_method_click_search_box_by_attr() + Src.input("kantu") sleep(2) - euler.dde_launcher_method_right_click_by_attr("看图") - pylinuxauto.select_menu(3) + euler.dde_launcher.dde_launcher_method_right_click_by_attr("看图") + Src.select_menu(3) sleep(2) self.assert_element_exist("/dde-dock/Btn_看图") - euler.dde_launcher_method_right_click_by_attr("看图") - pylinuxauto.select_menu(3) + euler.dde_launcher.dde_launcher_method_right_click_by_attr("看图") + Src.select_menu(3) sleep(2) self.assert_element_not_exist("/dde-dock/Btn_看图") def test_dde_1271319_2(self): """任务栏-应用区域的添加&移除""" euler = DdeMethod() - euler.dde_dock_method_click_launcher_btn_by_attr() - euler.dde_launcher_method_click_search_box_by_attr() - pylinuxauto.input("kantu") + euler.dde_dock.dde_dock_method_click_launcher_btn_by_attr() + euler.dde_launcher.dde_launcher_method_click_search_box_by_attr() + Src.input("kantu") sleep(2) - euler.dde_launcher_method_right_click_by_attr("看图") - pylinuxauto.select_menu(3) - pylinuxauto.win() + euler.dde_launcher.dde_launcher_method_right_click_by_attr("看图") + Src.select_menu(3) + Src.win_left() sleep(2) self.assert_element_exist("/dde-dock/Btn_看图") - euler.dde_dock_method_right_click_by_attr("Btn_看图") - pylinuxauto.select_menu(2) + euler.dde_dock.dde_dock_method_right_click_by_attr("Btn_看图") + Src.select_menu(2) sleep(2) self.assert_element_not_exist("/dde-dock/Btn_看图") diff --git a/case/test_dde_1271321.py b/case/test_dde_1271321.py index c738916..5176ff1 100644 --- a/case/test_dde_1271321.py +++ b/case/test_dde_1271321.py @@ -1,29 +1,29 @@ -from pylinuxauto import sleep -import pylinuxauto -from case.base_case import BaseCase -from method.dde_method import DdeMethod +from src import sleep +from src import Src +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_1271321(self): """任务栏-系统时间""" euler = DdeMethod() - euler.dde_dock_method_click_datetime_icon_by_attr() + euler.dde_dock.dde_dock_method_click_datetime_icon_by_attr() sleep(2) self.assert_ocr_exist("日历") sleep(1) euler.dde_method_close_window() sleep(1) - euler.dde_dock_method_right_click_datetime_icon_by_attr() - pylinuxauto.select_menu(1) + euler.dde_dock.dde_dock_method_right_click_datetime_icon_by_attr() + Src.select_menu(1) sleep(1) self.assert_ocr_exist("午") - euler.dde_dock_method_right_click_datetime_icon_by_attr() - pylinuxauto.select_menu(1) + euler.dde_dock.dde_dock_method_right_click_datetime_icon_by_attr() + Src.select_menu(1) self.assert_ocr_not_exist("午") sleep(1) - euler.dde_dock_method_right_click_datetime_icon_by_attr() - pylinuxauto.select_menu(2) + euler.dde_dock.dde_dock_method_right_click_datetime_icon_by_attr() + Src.select_menu(2) sleep(2) self.assert_ocr_exist("时间日期") diff --git a/case/test_dde_1271327.py b/case/test_dde_1271327.py index 00900c4..cff40ce 100644 --- a/case/test_dde_1271327.py +++ b/case/test_dde_1271327.py @@ -1,23 +1,23 @@ import time -import pylinuxauto -from case.base_case import BaseCase +from src import Src +from apps.dde_autotest_euler.case.base_case import BaseCase class TestDdeCase(BaseCase): def test_dde_1271327_1(self): """快捷键关闭剪贴板""" - pylinuxauto.hot_key("ctrl", "alt", "v") + Src.hot_key("ctrl", "alt", "v") time.sleep(2) self.assert_ocr_exist("剪贴板") - pylinuxauto.hot_key("ctrl", "alt", "v") + Src.hot_key("ctrl", "alt", "v") time.sleep(2) self.assert_ocr_not_exist("剪贴板") def test_dde_1271327_2(self): """点击空白处关闭剪贴板""" - pylinuxauto.hot_key("ctrl", "alt", "v") + Src.hot_key("ctrl", "alt", "v") time.sleep(2) self.assert_ocr_exist("剪贴板") - pylinuxauto.click(1000, 500) + Src.click(1000, 500) time.sleep(2) self.assert_ocr_not_exist("剪贴板") diff --git a/case/test_dde_1271331.py b/case/test_dde_1271331.py index 87a0acf..ff69c4a 100644 --- a/case/test_dde_1271331.py +++ b/case/test_dde_1271331.py @@ -1,16 +1,17 @@ import time -import pylinuxauto -from case.base_case import BaseCase -from method.dde_terminal_method import DdeTerminalMethod -from method.dde_method import DdeMethod + +from apps.dde_autotest_euler.method.vender.deepin_terminal_method import DeepinTerminalMethod +from src import Src +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_1271331(self): """桌面-右键菜单-在终端中打开""" - pylinuxauto.hot_key("win", "d") + Src.hot_key("win", "d") time.sleep(2) - euler = DdeTerminalMethod() + euler = DeepinTerminalMethod() euler.dde_terminal_method__right_click_by_xy() time.sleep(2) diff --git a/config.py b/config.py index 1c6b421..5b8744b 100644 --- a/config.py +++ b/config.py @@ -7,8 +7,6 @@ import pathlib import os -from pylinuxauto.config import config as pylinuxauto_config -from youqu3 import setting class _Config: @@ -18,9 +16,5 @@ 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/8.137.98.115" - setting.REPORT_SERVER_IP = "10.8.12.47" - config = _Config() diff --git a/env.sh b/env.sh deleted file mode 100644 index e82a3cb..0000000 --- a/env.sh +++ /dev/null @@ -1,3 +0,0 @@ -sudo yum install -y python3-pyatspi -sudo yum install -y python3-pillow -sudo pip3 install -r requirements.txt diff --git a/method/assert_method.py b/method/assert_method.py index b3a43aa..3f2a95c 100644 --- a/method/assert_method.py +++ b/method/assert_method.py @@ -5,15 +5,13 @@ :Date :2024/08/22 13:15:47 """ -from funnylog2 import logger -from pylinuxauto.assertx import Assert -from config import config -from nocmd import Cmd +from apps.dde_autotest_euler.config import config +from apps.dde_autotest_euler.method.base_method import BaseMethod +from src import logger +from src.assert_common import AssertCommon -from method.base_method import BaseMethod - -class AssertMethod(Assert): +class AssertMethod(AssertCommon): """AssertMethod""" @classmethod diff --git a/method/base_method.py b/method/base_method.py index b899d3b..384f962 100644 --- a/method/base_method.py +++ b/method/base_method.py @@ -6,23 +6,17 @@ """ import os -import re -import pylinuxauto -from funnylog2 import logger -from funnylog2.config import config as funnylog2_config -funnylog2_config.CLASS_NAME_ENDSWITH = ["Method"] -from config import config -from nocmd import Cmd +from apps.dde_autotest_euler.config import config +from src import Src, logger -class BaseMethod: +class BaseMethod(Src): + """应用的方法基类""" dde_control_center_path = "/dde-control-center" account_message = "uostest12#$" change_password = "testpass12#$" - """应用的方法基类""" - GREP_LIST = ( "grep", "pytest", @@ -33,46 +27,49 @@ class BaseMethod: "youqu", ) + def __init__(self, name): + super().__init__(name) + def base_method_click_by_ocr(self, text): """通过ocr识别点击""" - pylinuxauto.find_element_by_ocr(text).click() + self.ocrx(text).click() def base_method_double_click_by_ocr(self, text): """通过ocr识别双击""" - pylinuxauto.find_element_by_ocr(text).double_click() + self.ocrx(text).double_click() def base_method_click_by_img(self, img_name): """通过图像识别点击""" - pylinuxauto.find_element_by_image(f"{config.IMAGE_RES}/{img_name}").click() + self.click(*self.find_image(f"{config.IMAGE_RES}/{img_name}")) def base_method_double_click_by_img(self, img_name): """通过图像识别双击""" - pylinuxauto.find_element_by_image(f"{config.IMAGE_RES}/{img_name}").double_click() + self.double_click(*self.find_image(f"{config.IMAGE_RES}/{img_name}")) def base_method_right_click_by_ocr(self, text): """通过ocr识别右键点击""" - pylinuxauto.find_element_by_ocr(text).right_click() + self.ocrx(text).right_click() def base_method_right_click_by_img(self, img_name): """通过图片识别右键点击""" - pylinuxauto.find_element_by_image(f"{config.IMAGE_RES}/{img_name}").right_click() + self.right_click(*self.find_image(f"{config.IMAGE_RES}/{img_name}")) def base_method_create_file_in_documents_by_cmd(self, filename): """通过给定名称在 文档 目录下创建文件""" - Cmd.run(f"touch ~/Documents/{filename}") - Cmd.run(f"echo 'This is test message' >> ~/Documents/{filename}") + self.run_cmd(f"touch ~/Documents/{filename}") + self.run_cmd(f"echo 'This is test message' >> ~/Documents/{filename}") def base_method_delete_file_in_documents_by_cmd(self, filename): """通过给定名称在 文档 目录下删除文件""" - Cmd.run(f"rm ~/Documents/{filename}") + self.run_cmd(f"rm ~/Documents/{filename}") def base_method_delete_all_file_in_documents_by_cmd(self): """通过给定名称在 文档 目录下删除所有文件""" - Cmd.run(f"rm ~/Documents/*") + self.run_cmd(f"rm ~/Documents/*") def base_method_kill_process_by_cmd(self, process): """通过命令关闭进程""" - Cmd.run(f"killall {process}") + self.run_cmd(f"killall {process}") def base_method_get_process_status(cls, app: str, grep_list: str = None) -> bool: """ diff --git a/method/dde_device_manager_method.py b/method/dde_device_manager_method.py deleted file mode 100644 index b6ff45f..0000000 --- a/method/dde_device_manager_method.py +++ /dev/null @@ -1,13 +0,0 @@ -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 DdeDeviceManagerMethod(BaseMethod): - def dde_device_manager_method_click_by_attr(self, path): - """在设备管理器中通过元素点击""" - pylinuxauto.find_element_by_attr_path(f"/deepin-devicemanager/{path}").click() diff --git a/method/dde_method.py b/method/dde_method.py index 7fc920e..050b984 100644 --- a/method/dde_method.py +++ b/method/dde_method.py @@ -6,50 +6,90 @@ """ from time import sleep -from funnylog2.config import config as funnylog2_config -from pylinuxauto import find_element_by_image - -from method.base_method import BaseMethod -from method.dde_browser_method import DdeBrowserMethod -from method.dde_device_manager_method import DdeDeviceManagerMethod -from method.dde_editor_method import DdeEditorMethod -from method.dde_terminal_method import DdeTerminalMethod -from method.deepin_log_viewer_method import DeepinLogViewerMethod - -funnylog2_config.CLASS_NAME_ENDSWITH = ["Method"] -from funnylog2 import log -import pylinuxauto -from config import config -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 -from method.deepin_system_monitor_method import DeepinSystemMonitorMethod +from apps.dde_autotest_euler.method.base_method import BaseMethod +from apps.dde_autotest_euler.method.vender.browser_method import BrowserMethod +from apps.dde_autotest_euler.method.vender.dde_desktop_method import DdeDesktopMethod +from apps.dde_autotest_euler.method.vender.dde_polkit_agent_method import DdePolkitAgentMethod +from apps.dde_autotest_euler.method.vender.deepin_device_manager_method import DeepinDeviceManagerMethod +from apps.dde_autotest_euler.method.vender.deepin_editor_method import DeepinEditorMethod +from apps.dde_autotest_euler.method.vender.deepin_font_manager_method import DeepinFontManagerMethod +from apps.dde_autotest_euler.method.vender.deepin_log_viewer_method import DeepinLogViewerMethod + +from apps.dde_autotest_euler.method.vender.dde_dock_method import DdeDockMethod +from apps.dde_autotest_euler.method.vender.dde_control_center_method import DdeControlCenterMethod +from apps.dde_autotest_euler.method.vender.dde_launcher_method import DdeLauncherMethod +from apps.dde_autotest_euler.method.vender.deepin_draw_method import DeepinDrawMethod +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 src import log +from src.shortcut import ShortCut +from src import custom_exception @log -class DdeMethod( - DdeDockMethod, - DdeControlCenterMethod, - DdeLauncherMethod, - DdeFontManagerMethod, - DdeBrowserMethod, - DdeEditorMethod, - DdeDeviceManagerMethod, - DeepinLogViewerMethod, - DdeTerminalMethod, - DeepinDrawMethod, - DeepinSystemMonitorMethod, -): +class DdeMethod(BaseMethod): """应用方法主类""" + @property + def dde_polkit_agent(self): + return DdePolkitAgentMethod() + + @property + def dde_dock(self): + return DdeDockMethod() + + @property + def dde_control_center(self): + return DdeControlCenterMethod() + + @property + def dde_launcher(self): + return DdeLauncherMethod() + + @property + def deepin_font_manager(self): + return DeepinFontManagerMethod() + + @property + def browser(self): + return BrowserMethod() + + @property + def deepin_editor(self): + return DeepinEditorMethod() + + @property + def deepin_devicemanager(self): + return DeepinDeviceManagerMethod() + + @property + def deepin_log_viewer(self): + return DeepinLogViewerMethod() + + @property + def deepin_terminal(self): + return DeepinTerminalMethod() + + @property + def deepin_draw(self): + return DeepinDrawMethod() + + @property + def deepin_system_monitor(self): + return DeepinSystemMonitorMethod() + + @property + def dde_desktop(self): + return DdeDesktopMethod() + + def dde_method_open_software_by_launcher(self, text): """通过启动器打开软件""" - self.dde_dock_method_click_launcher_btn_by_attr() - self.dde_launcher_method_click_search_box_by_attr() - pylinuxauto.input_message(text) - pylinuxauto.enter() + self.dde_dock.dde_dock_method_click_launcher_btn_by_attr() + self.dde_launcher.dde_launcher_method_click_search_box_by_attr() + ShortCut.input_message(text) + ShortCut.enter() def dde_method_close_window(self): """关闭窗口""" @@ -62,226 +102,226 @@ class DdeMethod( try: self.base_method_click_by_img("close_window_btn.png") - except pylinuxauto.exceptions.TemplateElementNotFound: + except custom_exception.TemplateElementNotFound: euler_version = get_euler_version() self.base_method_click_by_img(f"close_window_btn_{euler_version}.png") def dde_method_delete_keyboard_layout_in_control_center(self): """在控制中心的键盘布局视图删除除选中之外的布局""" - self.dde_control_center_method_click_edit_btn_in_keyboard_layout() - self.dde_control_center_click_delete_btn_by_img() + self.dde_control_center.dde_control_center_method_click_edit_btn_in_keyboard_layout() + self.dde_control_center.dde_control_center_click_delete_btn_by_img() def dde_method_add_hanyu_keyboard_layout_in_control_center(self): """在控制中心中添加 汉语 键盘布局""" - self.dde_dock_method_click_control_center_btn_by_attr() + self.dde_dock.dde_dock_method_click_control_center_btn_by_attr() sleep(6) - self.dde_control_center_method_click_keyboard_and_language_by_attr() - self.dde_control_center_method_click_keyboard_layout_by_attr() - self.dde_control_center_method_click_add_keyboard_layout_btn_by_attr() - self.dde_control_center_method_click_hanyu_keyboard_layout_at_list() - self.dde_control_center_method_click_bottom_add_btn_by_attr() + self.dde_control_center.dde_control_center_method_click_keyboard_and_language_by_attr() + self.dde_control_center.dde_control_center_method_click_keyboard_layout_by_attr() + self.dde_control_center.dde_control_center_method_click_add_keyboard_layout_btn_by_attr() + self.dde_control_center.dde_control_center_method_click_hanyu_keyboard_layout_at_list() + self.dde_control_center.dde_control_center_method_click_bottom_add_btn_by_attr() def dde_method_add_english_system_language_in_control_center(self): """在控制中心中添加 英语 系统语言""" - self.dde_dock_method_click_control_center_btn_by_attr() + self.dde_dock.dde_dock_method_click_control_center_btn_by_attr() sleep(6) - self.dde_control_center_enter_view_by_search_box("xitongyuyan") + self.dde_control_center.dde_control_center_enter_view_by_search_box("xitongyuyan") sleep(2) - self.dde_control_center_method_click_by_attr("American English - 美国英语") - self.dde_control_center_method_click_bottom_add_btn_by_attr() + self.dde_control_center.dde_control_center_method_click_by_attr("American English - 美国英语") + self.dde_control_center.dde_control_center_method_click_bottom_add_btn_by_attr() def dde_method_delete_system_language_by_img(self): """在 系统语言 视图中删除其他的系统语言""" - self.dde_control_center_method_click_edit_btn_in_system_language() - self.dde_control_center_click_delete_btn_by_img() + self.dde_control_center.dde_control_center_method_click_edit_btn_in_system_language() + self.dde_control_center.dde_control_center_click_delete_btn_by_img() def dde_method_add_common_account_by_control_center(self): """在控制中心中添加新的账户 test""" - self.dde_dock_method_click_control_center_btn_by_attr() + self.dde_dock.dde_dock_method_click_control_center_btn_by_attr() sleep(6) - self.dde_control_center_enter_view_by_search_box("zhanghu") + self.dde_control_center.dde_control_center_enter_view_by_search_box("zhanghu") sleep(2) - self.dde_control_center_method_click_by_attr("Btn_创建帐户") - self.dde_control_center_method_click_by_attr("Editable_usernameedit") - pylinuxauto.input_message("test") + self.dde_control_center.dde_control_center_method_click_by_attr("Btn_创建帐户") + self.dde_control_center.dde_control_center_method_click_by_attr("Editable_usernameedit") + self.input_message("test") sleep(2) - pylinuxauto.tab() - pylinuxauto.input_message("test") + self.tab() + self.input_message("test") sleep(2) - pylinuxauto.tab() - pylinuxauto.input_message(self.account_message) + self.tab() + self.input_message(self.account_message) sleep(3) - pylinuxauto.tab() - pylinuxauto.tab() - pylinuxauto.input_message(self.account_message) + self.tab() + self.tab() + self.input_message(self.account_message) sleep(3) - self.dde_control_center_method_click_by_attr("Btn_创建") + self.dde_control_center.dde_control_center_method_click_by_attr("Btn_创建") sleep(1) - pylinuxauto.input_message(self.account_message) + self.input_message(self.account_message) sleep(3) - pylinuxauto.enter() + self.enter() sleep(5) def dde_method_add_root_account_by_control_center(self): """在控制中心中添加新的账户 test""" - self.dde_dock_method_click_control_center_btn_by_attr() + self.dde_dock.dde_dock_method_click_control_center_btn_by_attr() sleep(6) - self.dde_control_center_enter_view_by_search_box("zhanghu") - self.dde_control_center_method_click_by_attr("Btn_创建帐户") - self.dde_control_center_method_click_by_attr("标准用户") - self.dde_control_center_method_click_by_attr("管理员") - self.dde_control_center_method_click_by_attr("Editable_usernameedit") - pylinuxauto.input_message("test") + self.dde_control_center.dde_control_center_enter_view_by_search_box("zhanghu") + self.dde_control_center.dde_control_center_method_click_by_attr("Btn_创建帐户") + self.dde_control_center.dde_control_center_method_click_by_attr("标准用户") + self.dde_control_center.dde_control_center_method_click_by_attr("管理员") + self.dde_control_center.dde_control_center_method_click_by_attr("Editable_usernameedit") + self.input_message("test") sleep(2) - pylinuxauto.tab() - pylinuxauto.input_message("test") + self.tab() + self.input_message("test") sleep(2) - pylinuxauto.tab() - pylinuxauto.input_message(self.account_message) + self.tab() + self.input_message(self.account_message) sleep(3) - pylinuxauto.tab() - pylinuxauto.tab() - pylinuxauto.input_message(self.account_message) + self.tab() + self.tab() + self.input_message(self.account_message) sleep(3) - self.dde_control_center_method_click_by_attr("Btn_创建") + self.dde_control_center.dde_control_center_method_click_by_attr("Btn_创建") sleep(1) - pylinuxauto.input_message(self.account_message) + self.input_message(self.account_message) sleep(3) - pylinuxauto.enter() + self.enter() sleep(5) def dde_method_delete_test_account_by_control_center(self): """在控制中心中将新添加的账户test删除""" - self.dde_control_center_method_click_by_attr("test") - self.dde_control_center_method_click_by_attr("Btn_删除帐户") - self.dde_control_center_method_click_by_attr("Btn_删除") + self.dde_control_center.dde_control_center_method_click_by_attr("test") + self.dde_control_center.dde_control_center_method_click_by_attr("Btn_删除帐户") + self.dde_control_center.dde_control_center_method_click_by_attr("Btn_删除") sleep(5) def dde_method_change_current_account_password_by_control_center(self): """在控制中心中修改当前用户密码""" - self.dde_control_center_enter_view_by_search_box("xiugaimima") - self.dde_control_center_method_click_by_attr("Btn_修改密码") - self.dde_control_center_method_click_by_attr("Editable_oldpasswordedit") - pylinuxauto.input_message(BaseMethod.account_message) - self.dde_control_center_method_click_by_attr("Editable_newpasswordedit") - pylinuxauto.input_message(BaseMethod.change_password) - self.dde_control_center_method_click_by_attr("Editable_repeatpasswordedit") - pylinuxauto.input_message(BaseMethod.change_password) - self.dde_control_center_method_click_by_attr("Btn_保存") + self.dde_control_center.dde_control_center_enter_view_by_search_box("xiugaimima") + self.dde_control_center.dde_control_center_method_click_by_attr("Btn_修改密码") + self.dde_control_center.dde_control_center_method_click_by_attr("Editable_oldpasswordedit") + self.input_message(BaseMethod.account_message) + self.dde_control_center.dde_control_center_method_click_by_attr("Editable_newpasswordedit") + self.input_message(BaseMethod.change_password) + self.dde_control_center.dde_control_center_method_click_by_attr("Editable_repeatpasswordedit") + self.input_message(BaseMethod.change_password) + self.dde_control_center.dde_control_center_method_click_by_attr("Btn_保存") def dde_method_reset_current_account_password_from_change_password_by_control_center(self): """在控制中心中将修改的当前用户密码重置为修改前的密码""" - self.dde_control_center_method_click_by_attr("Btn_修改密码") - self.dde_control_center_method_click_by_attr("Editable_oldpasswordedit") - pylinuxauto.input_message(BaseMethod.change_password) - self.dde_control_center_method_click_by_attr("Editable_newpasswordedit") - pylinuxauto.input_message(BaseMethod.account_message) - self.dde_control_center_method_click_by_attr("Editable_repeatpasswordedit") - pylinuxauto.input_message(BaseMethod.account_message) - self.dde_control_center_method_click_by_attr("Btn_保存") + self.dde_control_center.dde_control_center_method_click_by_attr("Btn_修改密码") + self.dde_control_center.dde_control_center_method_click_by_attr("Editable_oldpasswordedit") + self.input_message(BaseMethod.change_password) + self.dde_control_center.dde_control_center_method_click_by_attr("Editable_newpasswordedit") + self.input_message(BaseMethod.account_message) + self.dde_control_center.dde_control_center_method_click_by_attr("Editable_repeatpasswordedit") + self.input_message(BaseMethod.account_message) + self.dde_control_center.dde_control_center_method_click_by_attr("Btn_保存") def dde_method_change_other_account_password_by_control(self): """在控制中心中修改非当前用户密码""" - self.dde_control_center_method_click_reset_password_btn_by_attr() - self.dde_control_center_method_click_by_attr("Editable_newpasswordedit") - pylinuxauto.input_message(BaseMethod.change_password) + self.dde_control_center.dde_control_center_method_click_reset_password_btn_by_attr() + self.dde_control_center.dde_control_center_method_click_by_attr("Editable_newpasswordedit") + self.input_message(BaseMethod.change_password) sleep(3) - self.dde_control_center_method_click_by_attr("Editable_repeatpasswordedit") - pylinuxauto.input_message(BaseMethod.change_password) + self.dde_control_center.dde_control_center_method_click_by_attr("Editable_repeatpasswordedit") + self.input_message(BaseMethod.change_password) sleep(3) - self.dde_control_center_method_click_by_attr("Btn_保存") + self.dde_control_center.dde_control_center_method_click_by_attr("Btn_保存") sleep(5) def dde_method_reset_other_account_password_from_change_password_by_control_center(self): """在控制中心中将修改的非当前用户密码重置为修改前的密码(该方法主要用于对修改密码的重置,方法内无鉴权操作)""" - self.dde_control_center_method_click_reset_password_btn_by_attr() - self.dde_control_center_method_click_by_attr("Editable_newpasswordedit") - pylinuxauto.input_message(BaseMethod.account_message) + self.dde_control_center.dde_control_center_method_click_reset_password_btn_by_attr() + self.dde_control_center.dde_control_center_method_click_by_attr("Editable_newpasswordedit") + self.input_message(BaseMethod.account_message) sleep(3) - self.dde_control_center_method_click_by_attr("Editable_repeatpasswordedit") - pylinuxauto.input_message(BaseMethod.account_message) + self.dde_control_center.dde_control_center_method_click_by_attr("Editable_repeatpasswordedit") + self.input_message(BaseMethod.account_message) sleep(3) - self.dde_control_center_method_click_by_attr("Btn_保存") + self.dde_control_center.dde_control_center_method_click_by_attr("Btn_保存") def dde_method_change_resolution_by_control_center(self): """在控制中心中修改屏幕分辨率""" - self.dde_control_center_enter_view_by_search_box("xianshi") - self.dde_control_center_method_click_by_attr("1920×1080") - self.dde_control_center_method_click_by_attr("1280×800") + self.dde_control_center.dde_control_center_enter_view_by_search_box("xianshi") + self.dde_control_center.dde_control_center_method_click_by_attr("1920×1080") + self.dde_control_center.dde_control_center_method_click_by_attr("1280×800") sleep(1) - self.dde_control_center_method_click_by_attr("Btn_保存") + self.dde_control_center.dde_control_center_method_click_by_attr("Btn_保存") sleep(2) def dde_method_reset_resolution_by_control_center(self): """在控制中心中将修改的分辨率调回1920x1080""" - self.dde_control_center_method_click_by_attr("1280×800") - self.dde_control_center_method_click_by_attr("1920×1080") + self.dde_control_center.dde_control_center_method_click_by_attr("1280×800") + self.dde_control_center.dde_control_center_method_click_by_attr("1920×1080") sleep(1) - self.dde_control_center_method_click_by_attr("Btn_保存") + self.dde_control_center.dde_control_center_method_click_by_attr("Btn_保存") sleep(2) def dde_method_add_network_dsl_by_control_center(self): """在控制中心的 网络 模块中添加DSL""" - self.dde_control_center_enter_view_by_search_box("dsl") - self.dde_control_center_method_click_add_dsl_btn() - self.dde_control_center_method_click_by_attr("Btn_自动连接") - self.dde_control_center_method_click_by_attr("Editable_用户名") - pylinuxauto.input_message("test") + self.dde_control_center.dde_control_center_enter_view_by_search_box("dsl") + self.dde_control_center.dde_control_center_method_click_add_dsl_btn() + self.dde_control_center.dde_control_center_method_click_by_attr("Btn_自动连接") + self.dde_control_center.dde_control_center_method_click_by_attr("Editable_用户名") + self.input_message("test") sleep(2) - self.dde_control_center_method_click_by_attr("Editable_密码") - pylinuxauto.input_message(BaseMethod.account_message) + self.dde_control_center.dde_control_center_method_click_by_attr("Editable_密码") + self.input_message(BaseMethod.account_message) sleep(3) - self.dde_control_center_method_click_by_attr("Btn_保 存") + self.dde_control_center.dde_control_center_method_click_by_attr("Btn_保 存") def dde_method_delete_network_dsl_by_control_center(self): """在控制中心的网络DSL模块中删除添加的测试DSL连接""" self.base_method_click_by_img("dsl_connection_details_btn.png") - self.dde_control_center_method_click_by_attr("Btn_删 除") + self.dde_control_center.dde_control_center_method_click_by_attr("Btn_删 除") sleep(1) - self.dde_control_center_method_click_by_attr("Btn_删 除_1") + self.dde_control_center.dde_control_center_method_click_by_attr("Btn_删 除_1") sleep(2) def dde_method_change_time_by_control_center(self): """在控制中心中手动修改时间""" - self.dde_control_center_enter_view_by_search_box("shijianshezhi") - self.dde_control_center_method_click_time_synchronization_btn_by_attr() - self.dde_control_center_method_click_by_attr("TIME_HOUR_WIDGET") - pylinuxauto.backspace() - pylinuxauto.backspace() - pylinuxauto.input_message("12") + self.dde_control_center.dde_control_center_enter_view_by_search_box("shijianshezhi") + self.dde_control_center.dde_control_center_method_click_time_synchronization_btn_by_attr() + self.dde_control_center.dde_control_center_method_click_by_attr("TIME_HOUR_WIDGET") + self.backspace() + self.backspace() + self.input_message("12") sleep(2) - self.dde_control_center_method_click_by_attr("TIME_MIN_WIDGET") - pylinuxauto.backspace() - pylinuxauto.backspace() - pylinuxauto.input_message("12") + self.dde_control_center.dde_control_center_method_click_by_attr("TIME_MIN_WIDGET") + self.backspace() + self.backspace() + self.input_message("12") sleep(2) - self.dde_control_center_method_click_by_attr("Btn_确定") + self.dde_control_center.dde_control_center_method_click_by_attr("Btn_确定") def dde_method_change_time_area_by_control_center(self): """在控制中心中更改时区""" - self.dde_control_center_method_click_by_attr("时间日期") - self.dde_control_center_method_click_by_attr("时区列表") - self.dde_control_center_method_click_by_attr("Btn_修改系统时区") + self.dde_control_center.dde_control_center_method_click_by_attr("时间日期") + self.dde_control_center.dde_control_center_method_click_by_attr("时区列表") + self.dde_control_center.dde_control_center_method_click_by_attr("Btn_修改系统时区") sleep(2) - self.dde_control_center_method_click_by_attr("Editable_qlineedit") - pylinuxauto.input_message("New_York") + self.dde_control_center.dde_control_center_method_click_by_attr("Editable_qlineedit") + self.input_message("New_York") sleep(2) - pylinuxauto.enter() - self.dde_control_center_method_click_by_attr("Btn_确定") + self.enter() + self.dde_control_center.dde_control_center_method_click_by_attr("Btn_确定") sleep(2) def dde_control_center_method_delete_other_time_area_by_control_center(self): """删除时区列表多余的一个时区""" - self.dde_control_center_method_click_by_attr("Btn_时区列表") - self.dde_control_center_click_delete_btn_by_img() + self.dde_control_center.dde_control_center_method_click_by_attr("Btn_时区列表") + self.dde_control_center.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) + self.deepin_font_manager.dde_font_manager_method_click_search_box_attr() + self.input_message(fontname) sleep(3) - pylinuxauto.enter() + self.enter() def dde_editor_method_click_documents_in_pop_window_by_img(self): """在文本编辑器的文件管理器弹窗中点击左侧 文档 目录""" @@ -290,29 +330,29 @@ class DdeMethod( def dde_method_rename_file_in_pop_window_by_attr(self, filename): """在弹出的文件保存窗口中对文件进行重命名并且保存,文件名需要包含后缀名,且文件名不可与文档目录下其他文件重复""" - pylinuxauto.find_element_by_attr_path("/dde-desktop/file_name_edit").click() - pylinuxauto.ctrl_a() - pylinuxauto.input_message(filename) + self.dde_desktop.dde_desktop_method_click_by_attr("file_name_edit") + + self.ctrl_a() + self.input_message(filename) self.dde_methode_click_save_btn_in_pop_window() def dde_method_rename_file_same_name_in_pop_window_by_attr(self, filename): """在弹出的文件保存窗口中将文件重命名为重复名称并且点击保存,方法输入的名称为目标文件名称""" - pylinuxauto.find_element_by_attr_path("/dde-desktop/file_name_edit").click() - pylinuxauto.ctrl_a() - pylinuxauto.input_message(filename) + self.dde_desktop.dde_desktop_method_click_by_attr("file_name_edit") + self.ctrl_a() + self.input_message(filename) self.dde_methode_click_save_btn_in_pop_window() def dde_methode_click_save_btn_in_pop_window(self): """在弹出的文件保存窗口中点击保存""" - pylinuxauto.find_element_by_attr_path("/dde-desktop/statusBar/保 存").click() + self.dde_desktop.dog.app_element("statusBar").child("保 存").click() def dde_device_manager_method_export_file_by_attr(self, module): - """在设备管理器中导出设备信息""" """ module:目标模块的名称,概况,处理器,主板...... """ - pylinuxauto.find_element_by_attr_path(f"/deepin-devicemanager/{module}").right_click() - pylinuxauto.select_menu(1) + self.deepin_devicemanager.dde_device_manager_method_right_click_by_attr(module) + self.select_menu(1) sleep(2) self.dde_editor_method_click_documents_in_pop_window_by_img() self.dde_methode_click_save_btn_in_pop_window() @@ -324,20 +364,26 @@ class DdeMethod( log_name:Xorg Log,Application Log,Boot-Shutdown Event log_type:TEXT (*.txt),Doc (*.doc),Xls (*.xls),Html (*.html) """ - self.deepin_log_viewer_method_click_by_attr(log_name) + self.deepin_log_viewer.deepin_log_viewer_method_click_by_attr(log_name) sleep(2) - self.deepin_log_viewer_method_click_export_btn_by_attr() + self.deepin_log_viewer.deepin_log_viewer_method_click_export_btn_by_attr() self.dde_editor_method_click_documents_in_pop_window_by_img() - pylinuxauto.find_element_by_attr_path("/dde-desktop/TEXT (*.txt)").click() + self.dde_desktop.dde_desktop_method_click_by_attr("TEXT (*.txt)") sleep(1) - pylinuxauto.find_element_by_attr_path(f"/dde-desktop/{log_type}").click() + self.dde_desktop.dde_desktop_method_click_by_attr(log_type) self.dde_methode_click_save_btn_in_pop_window() def deepin_log_viewer_method_export_all_log_by_attr(self): """导出所有的日志""" self.base_method_click_by_img("deepin_log_viewer_export_all_log_icon.png") sleep(2) - self.deepin_log_viewer_input_root_password() + self.deepin_log_viewer.deepin_log_viewer_input_root_password() self.dde_editor_method_click_documents_in_pop_window_by_img() self.dde_methode_click_save_btn_in_pop_window() sleep(1) + + def click_restore(self): + """ + 点击左上角 + """ + self.click(10, 10) diff --git a/method/vender/__init__.py b/method/vender/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/method/dde_browser_method.py b/method/vender/browser_method.py similarity index 62% rename from method/dde_browser_method.py rename to method/vender/browser_method.py index 2701c2f..fd5ba55 100644 --- a/method/dde_browser_method.py +++ b/method/vender/browser_method.py @@ -1,15 +1,16 @@ -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 +from apps.dde_autotest_euler.method.base_method import BaseMethod + + +class BrowserMethod(BaseMethod): + + def __init__(self): + super().__init__(name="Firefox") -class DdeBrowserMethod(BaseMethod): def dde_browser_method_click_by_attr(self, path): """在浏览器中通过属性进行点击""" - pylinuxauto.find_element_by_attr_path(f"/Firefox/{path}").click() + self.dog.element_click(path) def dde_browser_method_click_menu_icon_by_img(self): """在浏览器中点击右上角的菜单按钮""" @@ -21,4 +22,4 @@ class DdeBrowserMethod(BaseMethod): def dde_browser_method_right_click_by_ocr(self, text): """在浏览器中通过属性右键点击对应的标签页""" - pylinuxauto.find_element_by_ocr(text).right_click() + self.base_method_click_by_ocr(text) diff --git a/method/dde_control_center_method.py b/method/vender/dde_control_center_method.py similarity index 91% rename from method/dde_control_center_method.py rename to method/vender/dde_control_center_method.py index 24286eb..a33507e 100644 --- a/method/dde_control_center_method.py +++ b/method/vender/dde_control_center_method.py @@ -1,15 +1,15 @@ 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 +from apps.dde_autotest_euler.method.base_method import BaseMethod class DdeControlCenterMethod(BaseMethod): + + def __init__(self): + super().__init__("dde-control-center") def dde_control_center_method_click_by_attr(self, path): """在控制中心中通过元素点击""" - pylinuxauto.find_element_by_attr_path(f"/dde-control-center/{path}").click() + self.dog.element_click(path) def dde_control_center_method_click_keyboard_and_language_by_attr(self): """在控制中心主界面中点击 键盘和语言""" @@ -46,9 +46,9 @@ class DdeControlCenterMethod(BaseMethod): def dde_control_center_enter_view_by_search_box(self, view_name): """通过控制中心上方的搜索框进入到对应的视图之中""" self.dde_control_center_method_click_by_attr("Editable_searchmodulelineedit") - pylinuxauto.input_message(view_name) + self.input_message(view_name) sleep(3) - pylinuxauto.enter() + self.enter() sleep(1) def dde_control_center_method_click_edit_btn_in_system_language(self): @@ -66,7 +66,7 @@ class DdeControlCenterMethod(BaseMethod): def dde_control_center_method_reduce_password_effective_time(self): """账户视图下,减少账户密码有效时间""" self.dde_control_center_method_click_by_attr("Editable_dspinboxchilddlineedit") - pylinuxauto.enter() + self.enter() def dde_control_center_method_click_add_dsl_btn(self): """在网络的dsl视图中点击添加按钮""" diff --git a/method/vender/dde_desktop_method.py b/method/vender/dde_desktop_method.py new file mode 100644 index 0000000..ed1720c --- /dev/null +++ b/method/vender/dde_desktop_method.py @@ -0,0 +1,11 @@ +from apps.dde_autotest_euler.method.base_method import BaseMethod + + +class DdeDesktopMethod(BaseMethod): + + def __init__(self): + super().__init__("dde-desktop") + + def dde_desktop_method_click_by_attr(self, path): + """在启动器中通过元素点击""" + self.dog.element_click(path) diff --git a/method/dde_dock_method.py b/method/vender/dde_dock_method.py similarity index 83% rename from method/dde_dock_method.py rename to method/vender/dde_dock_method.py index 5a7a823..dce020c 100644 --- a/method/dde_dock_method.py +++ b/method/vender/dde_dock_method.py @@ -1,20 +1,17 @@ -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 +from apps.dde_autotest_euler.method.base_method import BaseMethod class DdeDockMethod(BaseMethod): + + def __init__(self): + super().__init__("dde-dock") def dde_dock_method_click_by_attr(self, path): """在任务栏中通过元素点击""" - pylinuxauto.find_element_by_attr_path(f"/dde-dock/{path}").click() + self.dog.element_click(path) def dde_dock_method_right_click_by_attr(self, path): """在任务栏中通过元素右键点击""" - pylinuxauto.find_element_by_attr_path(f"/dde-dock/{path}").right_click() - + self.dog.element_click(path, button=3) def dde_dock_method_click_dde_file_manager_by_attr(self): """在任务栏点击文件管理器""" self.dde_dock_method_click_by_attr("Btn_文件管理器") diff --git a/method/dde_launcher_method.py b/method/vender/dde_launcher_method.py similarity index 65% rename from method/dde_launcher_method.py rename to method/vender/dde_launcher_method.py index d1dba89..fc1926a 100644 --- a/method/dde_launcher_method.py +++ b/method/vender/dde_launcher_method.py @@ -1,26 +1,25 @@ -from funnylog2.config import config as funnylog2_config - -funnylog2_config.CLASS_NAME_ENDSWITH = ["Method"] -import pylinuxauto -from method.base_method import BaseMethod +from apps.dde_autotest_euler.method.base_method import BaseMethod class DdeLauncherMethod(BaseMethod): + + def __init__(self): + super().__init__("dde-launcher") def dde_launcher_method_click_search_box_by_attr(self): """在启动器中点击搜索框""" self.dde_launcher_method_click_by_attr("Editable_dlineeditchildlineedit") def dde_launcher_method_click_by_attr(self, path): """在启动器中通过元素点击""" - pylinuxauto.find_element_by_attr_path(f"/dde-launcher/{path}").click() + self.dog.element_click(path) def dde_launcher_method_right_click_by_attr(self, path): """在启动器中通过元素右键点击""" - pylinuxauto.find_element_by_attr_path(f"/dde-launcher/{path}").right_click() + self.dog.element_click(path, button=3) def dde_launcher_method_click_all_categories_or_back_by_attr(self): """点击启动器下方的 所有分类 或者 返回""" - pylinuxauto.find_element_by_attr_path("/dde-launcher/AllIcon").click() + self.dde_launcher_method_click_by_attr("AllIcon") def dde_launcher_method_click_system_manager_in_all_categories_view(self): """在启动器的 所有分类 界面点击 系统管理""" diff --git a/method/vender/dde_polkit_agent_method.py b/method/vender/dde_polkit_agent_method.py new file mode 100644 index 0000000..fb53063 --- /dev/null +++ b/method/vender/dde_polkit_agent_method.py @@ -0,0 +1,11 @@ +from apps.dde_autotest_euler.method.base_method import BaseMethod + + +class DdePolkitAgentMethod(BaseMethod): + + def __init__(self): + super().__init__("dde-polkit-agent") + + def dde_polkit_agent_method_click_by_attr(self, path): + """在终端界面内点击右上角的【设置】按钮""" + self.dog.element_click(path) diff --git a/method/vender/deepin_device_manager_method.py b/method/vender/deepin_device_manager_method.py new file mode 100644 index 0000000..2b165d7 --- /dev/null +++ b/method/vender/deepin_device_manager_method.py @@ -0,0 +1,13 @@ +from apps.dde_autotest_euler.method.base_method import BaseMethod + + +class DeepinDeviceManagerMethod(BaseMethod): + + def __init__(self): + super().__init__("deepin-devicemanager") + def dde_device_manager_method_click_by_attr(self, path): + """在设备管理器中通过元素点击""" + self.dog.element_click(path) + def dde_device_manager_method_right_click_by_attr(self, path): + """在设备管理器中通过元素点击""" + self.dog.element_click(path, button=3) \ No newline at end of file diff --git a/method/deepin_draw_method.py b/method/vender/deepin_draw_method.py similarity index 70% rename from method/deepin_draw_method.py rename to method/vender/deepin_draw_method.py index 7293221..d644272 100644 --- a/method/deepin_draw_method.py +++ b/method/vender/deepin_draw_method.py @@ -1,15 +1,14 @@ -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 +from apps.dde_autotest_euler.method.base_method import BaseMethod +from src import sleep class DeepinDrawMethod(BaseMethod): + + def __init__(self): + super().__init__("deepin-draw") def deepin_draw_method_click_by_attr(self, path): """在画板中通过元素点击""" - pylinuxauto.find_element_by_attr_path(f"/deepin-draw/{path}").click() + self.dog.element_click(path) def deepin_draw_method_click_option_btn_by_attr(self): """在画板中通过元素点击右上角菜单按钮""" @@ -19,7 +18,7 @@ class DeepinDrawMethod(BaseMethod): """通过菜单选项退出画板应用""" self.deepin_draw_method_click_option_btn_by_attr() sleep(1) - pylinuxauto.reverse_select_menu(1) + self.reverse_select_menu(1) sleep(2) def deepin_draw_method_click_rectangle_tool_btn_by_attr(self): diff --git a/method/dde_editor_method.py b/method/vender/deepin_editor_method.py similarity index 68% rename from method/dde_editor_method.py rename to method/vender/deepin_editor_method.py index 172b2d3..34432f7 100644 --- a/method/dde_editor_method.py +++ b/method/vender/deepin_editor_method.py @@ -1,20 +1,19 @@ -from time import sleep -from funnylog2.config import config as funnylog2_config -from config import config +from apps.dde_autotest_euler.method.base_method import BaseMethod +from src import sleep -funnylog2_config.CLASS_NAME_ENDSWITH = ["Method"] -import pylinuxauto -from method.base_method import BaseMethod +class DeepinEditorMethod(BaseMethod): + + def __init__(self): + super().__init__("deepin-editor") -class DdeEditorMethod(BaseMethod): def dde_editor_method_click_by_attr(self, path): """在文本编辑器中通过元素点击""" - pylinuxauto.find_element_by_attr_path(f"/deepin-editor/{path}").click() + self.dog.element_click(path) def dde_editor_method_right_click_by_attr(self, path): """在文本编辑器中通过元素右键点击""" - pylinuxauto.find_element_by_attr_path(f"/deepin-editor/{path}").right_click() + self.dog.element_click(path, button=3) def dde_editor_method_click_menu_btn_by_attr(self): """在文本编辑器中通过元素点击右上角菜单按钮""" @@ -22,27 +21,27 @@ class DdeEditorMethod(BaseMethod): def dde_editor_method_choose_open_file_option_by_ocr(self): """在文本编辑器的菜单栏中选择 打开文件 选项""" - pylinuxauto.find_element_by_ocr("打开文件").click() + self.ocrx("打开文件").click() def dde_editor_method_choose_save_as_option_by_ocr(self): """在文本编辑器的的菜单栏中选择 另存为 选项""" - pylinuxauto.find_element_by_ocr("另存为").click() + self.ocrx("另存为").click() def dde_editor_method_choose_save_option_by_ocr(self): """在文本编辑器的的菜单栏中选择 保存 选项""" - pylinuxauto.find_element_by_ocr("保存").click() + self.ocrx("保存").click() def dde_editor_method_quit_editor_by_ocr(self): """通过菜单栏退出文本编辑器""" self.dde_editor_method_click_menu_btn_by_attr() sleep(2) - pylinuxauto.find_element_by_ocr("退出").click() + self.ocrx("退出").click() def dde_editor_method_close_tab_by_attr(self, tab_name): """在文本编辑器中通过元素,通过右键关闭标签(适用于修改,不适用于新建的标签)""" self.dde_editor_method_right_click_by_attr(tab_name) sleep(1) - pylinuxauto.select_menu(1) + self.select_menu(1) def dde_editor_method_close_tab_by_img(self): """在文本编辑器中通过标签右边的关闭图表关闭当前标签""" diff --git a/method/dde_font_manager_method.py b/method/vender/deepin_font_manager_method.py similarity index 49% rename from method/dde_font_manager_method.py rename to method/vender/deepin_font_manager_method.py index 97d3d6e..d209f0c 100644 --- a/method/dde_font_manager_method.py +++ b/method/vender/deepin_font_manager_method.py @@ -1,15 +1,13 @@ -from time import sleep -from funnylog2.config import config as funnylog2_config +from apps.dde_autotest_euler.method.base_method import BaseMethod -funnylog2_config.CLASS_NAME_ENDSWITH = ["Method"] -import pylinuxauto -from method.base_method import BaseMethod +class DeepinFontManagerMethod(BaseMethod): -class DdeFontManagerMethod(BaseMethod): + def __init__(self): + super().__init__("deepin-font-manager") def dde_font_manager_method_click_by_attr(self, path): """在字体管理器中通过元素点击""" - pylinuxauto.find_element_by_attr_path(f"/deepin-font-manager/{path}").click() + self.dog.element_click(path) def dde_font_manager_method_click_search_box_attr(self): """在字体管理器中点击搜索框""" diff --git a/method/deepin_log_viewer_method.py b/method/vender/deepin_log_viewer_method.py similarity index 57% rename from method/deepin_log_viewer_method.py rename to method/vender/deepin_log_viewer_method.py index cde5550..f8032f3 100644 --- a/method/deepin_log_viewer_method.py +++ b/method/vender/deepin_log_viewer_method.py @@ -1,19 +1,18 @@ -from time import sleep +from apps.dde_autotest_euler.method.base_method import BaseMethod +from src 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 DeepinLogViewerMethod(BaseMethod): + def __init__(self): + super().__init__("deepin-log-viewer") -class DeepinLogViewerMethod(BaseMethod): def deepin_log_viewer_method_click_by_attr(self, path): """ 在日志收集工具中通过元素点击 侧边栏模块属性名称:Boot Log,Xorg Log,Application Log,Boot-Shutdown Event """ - pylinuxauto.find_element_by_attr_path(f"/deepin-log-viewer/{path}").click() + self.dog.element_click(path) def deepin_log_viewer_method_click_export_btn_by_attr(self): """在日志收集工具中通过元素点击导出按钮""" @@ -22,10 +21,8 @@ class DeepinLogViewerMethod(BaseMethod): def deepin_log_viewer_input_root_password(self): """在日志收集工具弹出鉴权窗口后输入管理员密码""" sleep(2) - pylinuxauto.find_element_by_attr_path( - "/dde-polkit-agent/EditableText_passwordinput" - ).click() - pylinuxauto.input_message(BaseMethod.account_message) + self.deepin_log_viewer_method_click_by_attr("EditableText_passwordinput") + self.input_message(BaseMethod.account_message) sleep(3) - pylinuxauto.enter() + self.enter() sleep(2) diff --git a/method/deepin_system_monitor_method.py b/method/vender/deepin_system_monitor_method.py similarity index 76% rename from method/deepin_system_monitor_method.py rename to method/vender/deepin_system_monitor_method.py index 933aa61..e95247d 100644 --- a/method/deepin_system_monitor_method.py +++ b/method/vender/deepin_system_monitor_method.py @@ -1,16 +1,14 @@ -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 +from apps.dde_autotest_euler.method.base_method import BaseMethod +from src import sleep class DeepinSystemMonitorMethod(BaseMethod): + + def __init__(self): + super().__init__("deepin-system-monitor") def deepin_system_monitor_method_click_by_attr(self, path): """ "在系统监视器中根据元素点击""" - pylinuxauto.find_element_by_attr_path(f"/deepin-system-monitor/{path}").click() + self.dog.element_click(path) def deepin_system_monitor_method_click_program_process_btn_by_attr(self): """在系统监听器中点击左上角 进程服务 按钮""" @@ -22,18 +20,18 @@ class DeepinSystemMonitorMethod(BaseMethod): def deepin_system_monitor_method_click_first_service_in_system_services(self): """在系统监听器的系统服务界面鼠标左键点击第一个服务""" - pylinuxauto.click(500, 290) + self.click(500, 290) def deepin_system_monitor_method_right_click_first_service_in_system_services(self): """在系统监听器的系统服务界面鼠标右键点击第一个服务""" - pylinuxauto.right_click(500, 290) + self.right_click(500, 290) def deepin_system_monitor_method_search_process_or_service(self, message): """在系统监听器上方的搜索框中搜索进程或是服务""" self.deepin_system_monitor_method_click_by_attr("DSearchEditIconButton") - pylinuxauto.input_message(message) + self.input_message(message) sleep(3) - pylinuxauto.enter() + self.enter() sleep(1) diff --git a/method/dde_terminal_method.py b/method/vender/deepin_terminal_method.py similarity index 43% rename from method/dde_terminal_method.py rename to method/vender/deepin_terminal_method.py index 1bd05bc..96fb2c7 100644 --- a/method/dde_terminal_method.py +++ b/method/vender/deepin_terminal_method.py @@ -1,19 +1,15 @@ -from time import sleep -from funnylog2.config import config as funnylog2_config +from apps.dde_autotest_euler.method.base_method import BaseMethod -funnylog2_config.CLASS_NAME_ENDSWITH = ["Method"] -import pylinuxauto -from method.base_method import BaseMethod +class DeepinTerminalMethod(BaseMethod): -class DdeTerminalMethod(BaseMethod): + def __init__(self): + super().__init__("deepin-terminal") def dde_terminal_method__right_click_by_xy(self): """通过右键点击【在终端中打开】""" - pylinuxauto.right_click(960, 540) + self.right_click(960, 540) self.base_method_click_by_ocr("在终端中打开") def dde_terminal_method_click_option_by_attr(self): """在终端界面内点击右上角的【设置】按钮""" - pylinuxauto.find_element_by_attr_path( - "/deepin-terminal/DTitlebarDWindowOptionButton" - ).click() + self.dog.element_click("DTitlebarDWindowOptionButton") diff --git a/pytest.ini b/pytest.ini deleted file mode 100644 index fb20844..0000000 --- a/pytest.ini +++ /dev/null @@ -1,18 +0,0 @@ -[pytest] -addopts = - -s - --no-header - --verbosity=2 - --show-capture=no - --reruns-delay=1 - --color=auto - --code-highlight=yes - --tb=auto - -r fEs - --continue-on-collection-errors -filterwarnings = - ignore - ignore::UserWarning - ignore:.*U.*mode is deprecated:DeprecationWarning - -console_output_style = count diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 2896a5f..0000000 --- a/requirements.txt +++ /dev/null @@ -1,4 +0,0 @@ --i https://pypi.tuna.tsinghua.edu.cn/simple - -youqu3[gui] -pyscreenshot \ No newline at end of file -- Gitee