From 8c9395d6a0e07ea64a7ed88a466c5befb83178e3 Mon Sep 17 00:00:00 2001
From: 阳洁 <2077506045@qq.com>
Date: 星期五, 28 七月 2023 18:42:59 +0800
Subject: [PATCH] 测评系统自动测试

---
 testcase/test_group_report.py |  147 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 147 insertions(+), 0 deletions(-)

diff --git a/testcase/test_group_report.py b/testcase/test_group_report.py
new file mode 100644
index 0000000..dd365d2
--- /dev/null
+++ b/testcase/test_group_report.py
@@ -0,0 +1,147 @@
+import os
+from datetime import datetime
+import time
+from selenium.webdriver.common.by import By
+from selenium.common.exceptions import TimeoutException
+from selenium.common.exceptions import NoSuchElementException
+
+import pytest
+from comm.comm import *
+from comm.read_data import *
+from comm.write_data import *
+from selenium import webdriver
+from po.login_page import LoginPage
+from po.home_page import HomePage
+from po.group_report_page import GroupReportPage
+from po.member_detail_page import MemberDetailPage
+from po.report_page import ReportPage
+from po.share_add_page import ShareAddPage
+from po.maq_answer_page import MAQAnswerPage
+from po.caq_answer_page import CAQAnswerPage
+from comm.my_random import *
+
+
+class TestGroupReport:
+    driver = None
+    name = "MAQV2鑷姩娴嬭瘯鍖�-20230727155906"
+    member_email = None
+
+    @pytest.mark.parametrize('data_read', ["groupReport"], indirect=True)
+    def test_add(self, data_read: dict, driver):
+        home = HomePage(driver)
+        home.menu_select("娴嬭瘯鍖呯鐞�/缁勫埆鎶ュ憡")
+        group = GroupReportPage(driver)
+        # 鐐瑰嚮鏂板鎸夐挳
+        group.click(group.es.add_btn)
+        # 鍒囨崲iframe
+        group.switch_iframe(group.es.add_iframe)
+        # 鑾峰彇闅忔満鍚嶇О
+        name = "缁勫埆鎶ュ憡-" + random_string(8)
+        TestGroupReport.name = name
+        # 杈撳叆鍚嶇О
+        group.fill(group.es.add_name_input, name)
+        # 鏂囦欢璺緞
+        # 鑾峰彇褰撳墠椤圭洰鏍硅矾寰�
+        root_path = os.getcwd()
+        # 鎷兼帴鏂囦欢璺緞
+        if "\\testcase" in root_path:
+            root_path = root_path[0:root_path.rfind("\\testcase")]
+        file_path = root_path + r"\data\MAQ_group_data.xlsx"
+        # 浼犲叆鏂囦欢
+        group.fill(group.es.add_load_file_input, file_path)
+        # 鍒囨崲iframe
+        group.switch_parent_iframe()
+        # 鐐瑰嚮纭鎸夐挳
+        group.click(group.es.layer_confirm_btn)
+        time.sleep(10)
+
+    @pytest.mark.parametrize('data_read', ["testPackageList"], indirect=True)
+    def test_group_data(self, data_read: dict, driver):
+        group = GroupReportPage(driver)
+        # 杈撳叆鍚嶇О
+        group.fill(group.es.add_name_input, TestGroupReport.name)
+        # 鐐瑰嚮鎼滅储鎸夐挳
+        group.click(group.es.search_btn)
+
+        # 鑾峰彇褰撳墠椤圭洰鏍硅矾寰�
+        root_path = os.getcwd()
+        # 鎷兼帴涓嬭浇鏂囦欢鐩綍
+        if "\\testcase" in root_path:
+            root_path = root_path[0:root_path.rfind("\\testcase")]
+        dir_path = root_path + r"\download"
+        # 鑾峰彇鐩綍涓嬫墍鏈夋枃浠�
+        old_file_names = []
+        for filename in os.listdir(dir_path):
+            if os.path.isfile(os.path.join(dir_path, filename)):
+                old_file_names.append(filename)
+
+        # 鐐瑰嚮缁勫埆鏁版嵁
+        group.click(group.es.group_data_btn)
+
+        i = 0
+        while i < data_read["downloadWaitTime"]:
+            # 鑾峰彇鐩綍涓嬫墍鏈夋枃浠�
+            new_file_names = []
+            for filename in os.listdir(dir_path):
+                if os.path.isfile(os.path.join(dir_path, filename)):
+                    new_file_names.append(filename)
+            # 鍒ゆ柇鏃ф枃浠剁殑鏁伴噺涓庢柊鏂囦欢鐨勬暟閲忔槸鍚︾浉鍚岋紝鐩稿悓鍒欑潯鐪犱竴绉�
+            if len(old_file_names) == len(new_file_names):
+                time.sleep(1)
+                i += 1
+                continue
+            else:
+                # 鍚﹀垯鐩存帴閫�鍑哄惊鐜�
+                break
+        else:
+            assert False
+
+    @pytest.mark.parametrize('data_read', ["testPackageList"], indirect=True)
+    def test_group_report(self, data_read: dict, driver):
+        group = GroupReportPage(driver)
+        # 鑾峰彇褰撳墠椤圭洰鏍硅矾寰�
+        root_path = os.getcwd()
+        # 鎷兼帴涓嬭浇鏂囦欢鐩綍
+        if "\\testcase" in root_path:
+            root_path = root_path[0:root_path.rfind("\\testcase")]
+        dir_path = root_path + r"\download"
+        # 鑾峰彇鐩綍涓嬫墍鏈夋枃浠�
+        old_file_names = []
+        for filename in os.listdir(dir_path):
+            if os.path.isfile(os.path.join(dir_path, filename)):
+                old_file_names.append(filename)
+
+        # 鐐瑰嚮缁勫埆鏁版嵁
+        group.click(group.es.group_report_btn)
+
+        i = 0
+        while i < data_read["downloadWaitTime"]:
+            # 鑾峰彇鐩綍涓嬫墍鏈夋枃浠�
+            new_file_names = []
+            for filename in os.listdir(dir_path):
+                if os.path.isfile(os.path.join(dir_path, filename)):
+                    new_file_names.append(filename)
+            # 鍒ゆ柇鏃ф枃浠剁殑鏁伴噺涓庢柊鏂囦欢鐨勬暟閲忔槸鍚︾浉鍚岋紝鐩稿悓鍒欑潯鐪犱竴绉�
+            if len(old_file_names) == len(new_file_names):
+                time.sleep(1)
+                i += 1
+                continue
+            else:
+                # 鍚﹀垯鐩存帴閫�鍑哄惊鐜�
+                break
+        else:
+            assert False
+
+
+if __name__ == '__main__':
+    pytest.main(["-s", __file__])
+
+
+
+
+
+
+
+
+
+

--
Gitblit v1.9.1