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