From 8c9395d6a0e07ea64a7ed88a466c5befb83178e3 Mon Sep 17 00:00:00 2001 From: 阳洁 <2077506045@qq.com> Date: 星期五, 28 七月 2023 18:42:59 +0800 Subject: [PATCH] 测评系统自动测试 --- testcase/test_3export_test_data.py | 124 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 124 insertions(+), 0 deletions(-) diff --git a/testcase/test_3export_test_data.py b/testcase/test_3export_test_data.py new file mode 100644 index 0000000..ad11842 --- /dev/null +++ b/testcase/test_3export_test_data.py @@ -0,0 +1,124 @@ +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.export_test_data_page import ExportTestDataPage +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 TestPackageList: + driver = None + test_package_name = "MAQV2鑷姩娴嬭瘯鍖�-20230727155906" + member_email = None + + @pytest.mark.parametrize('data_read', ["testPackageList"], indirect=True) + def test_export_test_data(self, data_read: dict, driver): + home = HomePage(driver) + home.menu_select("娴嬭瘯鍖呯鐞�/瀵煎嚭娴嬭瘯鏁版嵁") + time.sleep(5) + export = ExportTestDataPage(driver) + # 閫夋嫨浜у搧鍖� + export.select(export.es.product_select, export.es.product_option, data_read["edit"]["product"]) + + # 鑾峰彇褰撳墠鏃ユ湡 + now = datetime.now() + # 鎻愬彇骞淬�佹湀銆佹棩 + year = now.year + month = now.month + if month < 10: + month = "0" + str(month) + day = now.day + if day < 10: + day = "0" + str(day) + # 鎷兼帴鏃ユ湡 + date = f"{year}-{month}-{day}" + # 杈撳叆瀹屾垚鏃堕棿 + export.fill(export.es.test_begin_time_input, date) + export.fill(export.es.test_end_time_input, date) + # 鐐瑰嚮鎼滅储鎸夐挳 + export.click(export.es.search_btn) + time.sleep(5) + + # 鑾峰彇褰撳墠椤圭洰鏍硅矾寰� + root_path = os.getcwd() + # 鎷兼帴涓嬭浇鏂囦欢鐩綍 + dir_path = root_path + r"\download" + # 鑾峰彇鐩綍涓嬫墍鏈夋枃浠� + old_file_names = listdir(dir_path) + + # 鍕鹃�� + export.click(export.es.table_thead_checkbox) + # 鐐瑰嚮瀵煎嚭 + export.click(export.es.export_test_data_btn) + + # 绛夊緟鍔犺浇妗嗘秷澶� + export.wait_layer_reload_hide() + + new_file_names = [] + + i = 0 + while i < data_read["downloadWaitTime"]: + # 鑾峰彇鐩綍涓嬫墍鏈夋枃浠� + new_file_names = listdir(dir_path) + # 鍒ゆ柇鏃ф枃浠剁殑鏁伴噺涓庢柊鏂囦欢鐨勬暟閲忔槸鍚︾浉鍚岋紝鐩稿悓鍒欑潯鐪犱竴绉� + if len(old_file_names) == len(new_file_names): + time.sleep(1) + i += 1 + continue + else: + # 鍒ゆ柇鏂扮殑鏂囦欢鍚嶆槸鍚﹀寘鍚湭纭 + for file_name in new_file_names: + if "鏈‘璁�" in file_name: + new_file_names = listdir(dir_path) + break + else: + # 鍚﹀垯鐩存帴閫�鍑哄惊鐜� + break + else: + assert False + + # 鑾峰彇涓や釜鍒楄〃涓殑宸泦 + result = set(old_file_names).symmetric_difference(set(new_file_names)) + result_list = list(result) + file_name = dir_path + "\\" + result_list[0] + # 璇诲彇鏂囦欢鏁版嵁 + data_list = read_excel(file_name, "Sheet1") + # 瀵煎嚭鐨勬暟鎹� + excel_data = data_list[3] + # 绛旈鐨勬暟鎹� + answer_data: dict = data_read["question"]["MAQ"] + # 瀵规瘮鏁版嵁 + for key in answer_data.keys(): + if excel_data[key] != answer_data[key]["answer"]: + print(key + "鏁版嵁閿欒") + assert False + assert True + + +if __name__ == '__main__': + pytest.main(["-s", __file__]) + + + + + + + + + + -- Gitblit v1.9.1