From 6d7dba25d81d01c63ac544b7f34923c4b557fb31 Mon Sep 17 00:00:00 2001 From: zhouqi Date: Tue, 19 May 2026 18:04:34 +0800 Subject: [PATCH] Update UI automation test files --- .../generate_automation_api.py | 204 ++++++++++++- .../Create_ui_testcase/server.py | 111 +++++-- package-lock.json | 6 + zhyy/screenshots/TC-zhyy-xsxt-hngl-001.png | Bin 0 -> 64872 bytes .../TC-zhyy-xsxt-hngl-001_01_open_page.png | Bin 0 -> 59783 bytes .../TC-zhyy-xsxt-hngl-001_02_after_login.png | Bin 0 -> 67523 bytes zhyy/test_case/Resource/UI/__init__.py | 0 zhyy/test_case/Resource/UI/base_page.py | 78 +++++ .../Resource/UI/contract_manage_page.py | 194 +++++++++++++ .../Resource/UI/contract_management_page.py | 208 +++++++++++++ zhyy/test_case/Resource/UI/hngl_page.py | 274 ++++++++++++++++++ zhyy/test_case/Resource/UI/login_page.py | 47 +++ zhyy/test_case/Resource/__init__.py | 0 .../UI/test_TC_zhyy_ui_api_verify_001.py | 6 - 14 files changed, 1076 insertions(+), 52 deletions(-) create mode 100644 package-lock.json create mode 100644 zhyy/screenshots/TC-zhyy-xsxt-hngl-001.png create mode 100644 zhyy/screenshots/TC-zhyy-xsxt-hngl-001_01_open_page.png create mode 100644 zhyy/screenshots/TC-zhyy-xsxt-hngl-001_02_after_login.png create mode 100644 zhyy/test_case/Resource/UI/__init__.py create mode 100644 zhyy/test_case/Resource/UI/base_page.py create mode 100644 zhyy/test_case/Resource/UI/contract_manage_page.py create mode 100644 zhyy/test_case/Resource/UI/contract_management_page.py create mode 100644 zhyy/test_case/Resource/UI/hngl_page.py create mode 100644 zhyy/test_case/Resource/UI/login_page.py create mode 100644 zhyy/test_case/Resource/__init__.py delete mode 100644 zhyy/test_case/TestCase/UI/test_TC_zhyy_ui_api_verify_001.py diff --git a/base_framework/platform_tools/Create_ui_testcase/generate_automation_api.py b/base_framework/platform_tools/Create_ui_testcase/generate_automation_api.py index f0ef66c..19f401e 100644 --- a/base_framework/platform_tools/Create_ui_testcase/generate_automation_api.py +++ b/base_framework/platform_tools/Create_ui_testcase/generate_automation_api.py @@ -737,19 +737,64 @@ def _build_import_lines(project_code, page_file_name, class_names): return import_lines +def _normalize_generated_imports(code, project_code, resource_files, remove_local_resource_imports=False): + resource_modules = [ + os.path.splitext(resource_file.get("fileName", ""))[0] + for resource_file in resource_files + if resource_file.get("fileName", "").endswith(".py") + ] + normalized_code = str(code or "") + normalized_code = re.sub(r"^from\s+pages\.[^\n]+\n", "", normalized_code, flags=re.MULTILINE) + + for module_name in resource_modules: + if not module_name: + continue + if remove_local_resource_imports: + normalized_code = re.sub( + r"^from\s+{0}\s+import\s+[^\n]+\n".format(re.escape(module_name)), + "", + normalized_code, + flags=re.MULTILINE + ) + else: + normalized_code = re.sub( + r"^from\s+{0}\s+import\s+([^\n]+)".format(re.escape(module_name)), + r"from {0}.test_case.Resource.UI.{1} import \1".format(project_code, module_name), + normalized_code, + flags=re.MULTILINE + ) + + return normalized_code.strip() + "\n" + + def _python_string_literal(value): return json.dumps(str(value or ""), ensure_ascii=False) +def _prepend_import_lines_preserving_future(code, import_lines): + unique_import_lines = list(dict.fromkeys(line for line in import_lines if line)) + if not unique_import_lines: + return str(code or "").strip() + "\n" + + lines = str(code or "").strip().splitlines() + future_lines = [] + while lines and lines[0].startswith("from __future__ import "): + future_lines.append(lines.pop(0)) + if lines and not lines[0].strip(): + lines.pop(0) + + result_lines = [] + result_lines.extend(future_lines) + result_lines.extend(unique_import_lines) + result_lines.append("") + result_lines.extend(lines) + return "\n".join(result_lines).strip() + "\n" + + def _ensure_allure_markers(testcase_code, module_name=None, case_name=None, project_name=None): code = testcase_code.strip() + "\n" if "import allure" not in code: - import_match = list(re.finditer(r"^(?:import\s+[^\n]+|from\s+[^\n]+\s+import\s+[^\n]+)$", code, re.MULTILINE)) - if import_match: - insert_at = import_match[-1].end() - code = code[:insert_at] + "\nimport allure" + code[insert_at:] - else: - code = "import allure\n" + code + code = _prepend_import_lines_preserving_future(code, ["import allure"]) decorators = [] if project_name and "@allure.feature" not in code: @@ -770,6 +815,19 @@ def _ensure_allure_markers(testcase_code, module_name=None, case_name=None, proj return code.strip() + "\n" +def _normalize_missing_secret_asserts(testcase_code): + code = str(testcase_code or "") + if "pytest.skip" in code: + return code.strip() + "\n" + code = re.sub( + r"^(\s*)assert\s+([^\n,]+(?:password|PASSWORD|token|TOKEN|secret|SECRET)[^\n,]*),\s*([^\n]+)$", + r"\1if not \2:\n\1 pytest.skip(\3)", + code, + flags=re.MULTILINE + ) + return code.strip() + "\n" + + def split_ui_generated_code(generated_content, product_name, project_name, case_key, module_name=None): explicit_blocks = extract_python_file_blocks(generated_content) project_code = _resolve_project_code_or_default(product_name, project_name, case_key) @@ -799,9 +857,26 @@ def split_ui_generated_code(generated_content, product_name, project_name, case_ class_name )) test_code = "\n\n".join(test_code_parts).strip() + "\n" - test_code = re.sub(r"^from\s+pages\.[^\n]+\n", "", test_code, flags=re.MULTILINE) + test_code = _normalize_generated_imports( + code=test_code, + project_code=project_code, + resource_files=resource_files, + remove_local_resource_imports=True + ) if import_lines: - test_code = "\n".join(dict.fromkeys(import_lines)) + "\n" + test_code + test_code = _prepend_import_lines_preserving_future(test_code, import_lines) + resource_files = [ + { + "fileName": resource_file["fileName"], + "code": _normalize_generated_imports( + code=resource_file["code"], + project_code=project_code, + resource_files=resource_files, + remove_local_resource_imports=False + ) + } + for resource_file in resource_files + ] return test_code, resource_files full_code = extract_python_code(generated_content) @@ -827,7 +902,7 @@ def split_ui_generated_code(generated_content, product_name, project_name, case_ class_names.extend(_extract_defined_class_names(block)) import_lines = _build_import_lines(project_code, page_file_name, class_names) if import_lines: - test_code = "\n".join(import_lines) + "\n" + test_code + test_code = _prepend_import_lines_preserving_future(test_code, import_lines) test_code = re.sub(r"^from\s+pages\.[^\n]+\n", "", test_code, flags=re.MULTILINE) return test_code.strip() + "\n", resource_files @@ -881,6 +956,7 @@ def save_generated_ui_testcase(generated_content, case_name=case_name or case_key, project_name=project_name ) + testcase_code = _normalize_missing_secret_asserts(testcase_code) with open(file_path, "w", encoding="utf-8") as file: file.write(testcase_code) @@ -888,6 +964,58 @@ def save_generated_ui_testcase(generated_content, return file_path +def _classify_pytest_result(return_code, output): + output_text = str(output or "") + if return_code == -1: + return "timeout" + if return_code != 0: + return "failed" + if re.search(r"\b\d+\s+skipped\b", output_text, re.IGNORECASE): + return "skipped" + return "passed" + + +def _build_verification_message(status, failure_reason=None): + if status == "passed": + return "用例已生成并执行通过" + if status == "skipped": + return "用例已生成,但 pytest 执行被跳过,请检查环境变量、测试数据或跳过条件" + if status == "timeout": + return "用例已生成,但 pytest 执行超时" + return failure_reason or "用例已生成,但 pytest 执行失败" + + +def analyze_generated_case_quality(testcase_path, product_name, project_name, case_key): + files = read_generated_case_files( + testcase_path=testcase_path, + product_name=product_name, + project_name=project_name, + case_key=case_key, + only_imported_resources=True + ) + todo_items = [] + for relative_path, content in files.items(): + for line_number, line in enumerate(str(content or "").splitlines(), 1): + if "TODO" in line or "PLACEHOLDER" in line: + todo_items.append({ + "file": relative_path, + "line": line_number, + "text": line.strip()[:200] + }) + + warnings = [] + if todo_items: + warnings.append("生成文件包含 TODO/PLACEHOLDER,需要人工补充页面元素定位或测试数据") + + return { + "hasTodoSelectors": bool(todo_items), + "todoCount": len(todo_items), + "requiresManualCompletion": bool(todo_items), + "warnings": warnings, + "todoItems": todo_items[:20] + } + + def run_generated_ui_testcase(testcase_path, timeout=180): command = [ sys.executable, @@ -908,12 +1036,16 @@ def run_generated_ui_testcase(testcase_path, timeout=180): stdout = process.stdout or "" stderr = process.stderr or "" output = (stdout + "\n" + stderr).strip() + verification_status = _classify_pytest_result(process.returncode, output) + failure_reason = summarize_test_failure(output) return { "success": process.returncode == 0, "returnCode": process.returncode, "stdout": stdout, "stderr": stderr, - "failureReason": summarize_test_failure(output) + "verificationStatus": verification_status, + "verificationMessage": _build_verification_message(verification_status, failure_reason), + "failureReason": failure_reason } except subprocess.TimeoutExpired as error: output = ((error.stdout or "") + "\n" + (error.stderr or "")).strip() @@ -925,15 +1057,20 @@ def run_generated_ui_testcase(testcase_path, timeout=180): "returnCode": -1, "stdout": error.stdout or "", "stderr": error.stderr or "", + "verificationStatus": "timeout", + "verificationMessage": _build_verification_message("timeout", failure_reason), "failureReason": failure_reason } except Exception as error: + failure_reason = "pytest执行异常:{0}".format(str(error)) return { "success": False, "returnCode": -1, "stdout": "", "stderr": str(error), - "failureReason": "pytest执行异常:{0}".format(str(error)) + "verificationStatus": "failed", + "verificationMessage": _build_verification_message("failed", failure_reason), + "failureReason": failure_reason } @@ -959,18 +1096,35 @@ def summarize_test_failure(output, max_length=3000): return summary[-max_length:] -def read_generated_case_files(testcase_path, product_name, project_name, case_key): +def _extract_imported_resource_files(testcase_path, project_code): + if not os.path.exists(testcase_path): + return [] + with open(testcase_path, "r", encoding="utf-8") as file: + content = file.read() + modules = re.findall( + r"^from\s+{0}\.test_case\.Resource\.UI\.([A-Za-z_][A-Za-z0-9_]*)\s+import\s+".format(re.escape(project_code)), + content, + flags=re.MULTILINE + ) + return ["{0}.py".format(module_name) for module_name in modules] + + +def read_generated_case_files(testcase_path, product_name, project_name, case_key, only_imported_resources=False): files = {} candidate_paths = [testcase_path] + project_code = _resolve_project_code_or_default(product_name, project_name, case_key) resource_dir = _resolve_ui_resource_dir( product_name=product_name, project_name=project_name, case_key=case_key ) if os.path.isdir(resource_dir): - for file_name in os.listdir(resource_dir): - if file_name.endswith(".py"): - candidate_paths.append(os.path.join(resource_dir, file_name)) + if only_imported_resources: + resource_file_names = _extract_imported_resource_files(testcase_path, project_code) + else: + resource_file_names = [file_name for file_name in os.listdir(resource_dir) if file_name.endswith(".py")] + for file_name in resource_file_names: + candidate_paths.append(os.path.join(resource_dir, file_name)) for path in candidate_paths: if os.path.exists(path): @@ -1119,10 +1273,18 @@ def generate_save_and_verify_ui_testcase(project_id, last_failure_reason = None for attempt_index in range(1, max_attempts + 1): run_result = run_generated_ui_testcase(testcase_path) + quality = analyze_generated_case_quality( + testcase_path=testcase_path, + product_name=product_name, + project_name=project_name, + case_key=case_key + ) attempts.append({ "attempt": attempt_index, "success": run_result["success"], "returnCode": run_result["returnCode"], + "verificationStatus": run_result.get("verificationStatus"), + "verificationMessage": run_result.get("verificationMessage"), "failureReason": run_result["failureReason"] }) if run_result["success"]: @@ -1130,6 +1292,9 @@ def generate_save_and_verify_ui_testcase(project_id, "success": True, "testcasePath": testcase_path, "attempts": attempts, + "quality": quality, + "verificationStatus": run_result.get("verificationStatus"), + "verificationMessage": run_result.get("verificationMessage"), "failureReason": None } @@ -1164,10 +1329,19 @@ def generate_save_and_verify_ui_testcase(project_id, case_name=case_name ) + quality = analyze_generated_case_quality( + testcase_path=testcase_path, + product_name=product_name, + project_name=project_name, + case_key=case_key + ) return { "success": False, "testcasePath": testcase_path, "attempts": attempts, + "quality": quality, + "verificationStatus": attempts[-1].get("verificationStatus") if attempts else "failed", + "verificationMessage": attempts[-1].get("verificationMessage") if attempts else "用例生成后未执行", "failureReason": "用例生成后执行并自动修复 {0} 次仍失败:\n{1}".format(max_attempts, last_failure_reason) } diff --git a/base_framework/platform_tools/Create_ui_testcase/server.py b/base_framework/platform_tools/Create_ui_testcase/server.py index 0075a0e..ab8db9c 100644 --- a/base_framework/platform_tools/Create_ui_testcase/server.py +++ b/base_framework/platform_tools/Create_ui_testcase/server.py @@ -1,7 +1,6 @@ # -*- coding:utf-8 -*- import argparse import json -import traceback from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer from urllib.parse import urlparse @@ -46,52 +45,42 @@ class GenerateAutomationHandler(BaseHTTPRequestHandler): }) return + generation_mode = self._get_generation_mode(request_data) + normalized_prompt = self._build_effective_prompt(request_data) + normalized_steps = self._normalize_text_list(request_data.get("steps")) + normalized_expected_results = self._normalize_text_list(request_data.get("expectedResults")) + max_attempts = self._get_max_attempts(request_data, generation_mode) + verify_result = generate_save_and_verify_ui_testcase( project_id=request_data.get("projectId"), case_id=request_data.get("caseId"), automation_type=request_data.get("automationType"), - prompt=request_data.get("prompt"), + prompt=normalized_prompt, case_key=request_data.get("caseKey"), module_name=request_data.get("moduleName"), product_name=request_data.get("productName"), project_name=request_data.get("projectName"), - steps=request_data.get("steps"), - expected_results=request_data.get("expectedResults"), + steps=normalized_steps, + expected_results=normalized_expected_results, case_name=self._get_case_name(request_data), - enable_reconnaissance=request_data.get("enableReconnaissance", True), + enable_reconnaissance=self._should_enable_reconnaissance(request_data, generation_mode), headless=request_data.get("headless", True), - max_attempts=request_data.get("maxAttempts", 3) + max_attempts=max_attempts ) + response_data = self._build_response_data(request_data, verify_result, generation_mode) if not verify_result.get("success"): self._send_json_response(200, { - "code": 1, - "message": "用例生成后执行失败,自动修复{0}次仍未通过".format(request_data.get("maxAttempts", 3)), - "data": { - "projectId": request_data.get("projectId"), - "caseId": request_data.get("caseId"), - "automationType": request_data.get("automationType"), - "caseKey": request_data.get("caseKey"), - "content": self._get_case_name(request_data), - "testcasePath": verify_result.get("testcasePath"), - "attempts": verify_result.get("attempts"), - "failureReason": verify_result.get("failureReason") - } + "code": self._build_failure_code(verify_result), + "message": verify_result.get("verificationMessage") or "用例生成后执行失败,自动修复{0}次仍未通过".format(max_attempts), + "data": response_data }) return self._send_json_response(200, { "code": 0, - "message": "success", - "data": { - "projectId": request_data.get("projectId"), - "caseId": request_data.get("caseId"), - "automationType": request_data.get("automationType"), - "caseKey": request_data.get("caseKey"), - "content": self._get_case_name(request_data), - "testcasePath": verify_result.get("testcasePath"), - "attempts": verify_result.get("attempts") - } + "message": verify_result.get("verificationMessage") or "success", + "data": response_data }) except ValueError as error: self._send_json_response(400, { @@ -102,9 +91,8 @@ class GenerateAutomationHandler(BaseHTTPRequestHandler): except Exception as error: self._send_json_response(500, { "code": 500, - "message": str(error), - "data": None, - "trace": traceback.format_exc() + "message": self._sanitize_error_message(str(error)), + "data": None }) def _read_json_body(self): @@ -147,6 +135,67 @@ class GenerateAutomationHandler(BaseHTTPRequestHandler): request_data.get("moduleName") ) + def _normalize_text_list(self, value): + if isinstance(value, list): + return "\n".join(str(item) for item in value) + return str(value or "") + + def _get_generation_mode(self, request_data): + generation_mode = str(request_data.get("generationMode") or "fast").strip().lower() + if generation_mode not in ("fast", "recon"): + raise ValueError("generationMode仅支持fast或recon") + return generation_mode + + def _should_enable_reconnaissance(self, request_data, generation_mode): + if "enableReconnaissance" in request_data: + return bool(request_data.get("enableReconnaissance")) + return generation_mode == "recon" + + def _get_max_attempts(self, request_data, generation_mode): + default_attempts = 1 if generation_mode == "fast" else 2 + try: + max_attempts = int(request_data.get("maxAttempts", default_attempts)) + except (TypeError, ValueError): + raise ValueError("maxAttempts必须是整数") + return max(1, min(max_attempts, 3)) + + def _build_effective_prompt(self, request_data): + prompt_parts = [self._normalize_text_list(request_data.get("prompt"))] + selectors = request_data.get("selectors") + test_data = request_data.get("testData") + if isinstance(selectors, dict) and selectors: + prompt_parts.append("前端传入的页面元素 selectors:\n{0}".format(json.dumps(selectors, ensure_ascii=False, indent=2))) + if isinstance(test_data, dict) and test_data: + prompt_parts.append("前端传入的测试数据 testData:\n{0}".format(json.dumps(test_data, ensure_ascii=False, indent=2))) + return "\n\n".join(part for part in prompt_parts if part) + + def _build_response_data(self, request_data, verify_result, generation_mode): + return { + "projectId": request_data.get("projectId"), + "caseId": request_data.get("caseId"), + "automationType": request_data.get("automationType"), + "caseKey": request_data.get("caseKey"), + "content": self._get_case_name(request_data), + "generationMode": generation_mode, + "testcasePath": verify_result.get("testcasePath"), + "attempts": verify_result.get("attempts"), + "quality": verify_result.get("quality"), + "verificationStatus": verify_result.get("verificationStatus"), + "verificationMessage": verify_result.get("verificationMessage"), + "failureReason": verify_result.get("failureReason") + } + + def _build_failure_code(self, verify_result): + verification_status = verify_result.get("verificationStatus") + if verification_status == "skipped": + return 3002 + if verification_status == "timeout": + return 3004 + return 3001 + + def _sanitize_error_message(self, message): + return str(message or "").replace("password", "******").replace("密码", "密码******") + def _send_json_response(self, status_code, response_data): response_body = json.dumps(response_data, ensure_ascii=False).encode("utf-8") self.send_response(status_code) diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..7e66c71 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "smart-management-auto-test", + "lockfileVersion": 3, + "requires": true, + "packages": {} +} diff --git a/zhyy/screenshots/TC-zhyy-xsxt-hngl-001.png b/zhyy/screenshots/TC-zhyy-xsxt-hngl-001.png new file mode 100644 index 0000000000000000000000000000000000000000..47915d43d2fdc97a10cf4dfb4170335abad14cc4 GIT binary patch literal 64872 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 +{FRUU@Y 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

W9j-lZ=YH%Xg*4WsTOI2oh zmA?uX7NN80tE)guKy=AFuk~wpWyfshe4t{;1auMBQ0oBcx|V<|ua<;~?FQ$<$}Ppy zQ?l4uhv2D@udWo0ItRwLx{ejor@TGXML?Iqy*7VJ=Va&I3$I>NQkDaKkS8k>_3SJJ z<7m*3BuS2N2R}f5KD6dtPMlQ?$#q@eRI}qXV-jT;Q63R2D4_4I8X^Q@wbc(D$bN*1 zbMI@C{lj+mTis1t;nvf_RHkF9=oaC1rqe_W+dn~v>e5p|)ftX#5u<8>RiUoG9&@ex zJJ=p3D}^eQCQ^U=_*Of5S}f4h(^0ufznBf`(B0fzoKxMbzOQznYHKUwSQvepit4W} zpLcv=vAvnAdlqFwwUkgiDTcNs8=Nx4TE6t0FU5X##bpSW_C5Gf&a$I>HTUV?-kJ0g2)dLJ*VtFhSSWhw9V+kChLvWz znAqCqpCss;P<-1k2cjaNogV@N%${roz zRB?!V<`w%=s3Fi*e)*w>;cIAKk&6Rn%sUE5cV@Eg?toH!@Dp=*Goghn8Q$!pe~F*K z`TJmNqrs3>c1z%_n2Mkf^F|7d#03;ayhBVyY`OMcSy{)fA@BC@qQk*}^l#}#6FsJD zJaI~SBRLoEr+K)U#P5QcQ*?4NR?m0m4Vq5j&dd0}+h`N;GcMXo9tl_8R-c}*%&@o+ z5b|cf$uk5l8{xl=7B1ebpnBW+J}FP8qCgk?Xxz1!;?t*qU3YqVo)yi5yxZyMc8Mq_ z#9b)LX&^}i{Ov3J@3(F5o6+qhGb#1P?>_{gf49zrgvgtu<`*BUBMuLWB9~+1O z4Gc*|J4d0VH805Q^QR>D$zIGE3LdL(=kF*BNCm{{0~oi_CJO+~&M{gvAvwF%WmMTp zxEnfH4`{J;>-(v&>e!Si>%_e1iV8zDrM3=VHF<^@V^_VV_$;dqIKvEI0{4i}l;xnn zX&`h7E!BDl$(k%o1yY5EkwPbAI!)>Xe5&B0PN`7v)Rd=R3N05lBr`UhDQp&6gOjjr(wz84md&D_`ctKagXZ$6u=DcyGY$VJk+ z@+HBRZynH4302hsiI7`hr3Ie>Fi=SxJ#+#w4p5SE4$6_jyGe_mHqRX;w`cC}o;vSm zZ!4}GQ?t_K^t@L~cY8BQPP~?9`t=JqWImwLhJEXMKcW`$0RSFZeOBC2$ z^2JMiokcJHUFj5H2K&<@AYR32Sp)RH$onYHkJ@{z)I%ol?v_f;b4u+aaPv6D<%-?L z+sZ7G;tNxPpE&U0np&g#1{7F!DlXqZien`}*IH_CfQ&ky|LS(Ag0_VJx**HG^-@Pf z$&zNa^nhIgk90osrh`>9xgUdJBDE=6Z*x(pd6Dy{Z`BnJck5_?czNd`4zP+1UqBVf zKaTx;D{@UaGB(E92mxKMk&&x61xEpWTk-;zz9ET@Uu^48&dNDxW0E=BpY7)qu{#m2 zr6%2;kHcMwZXE{=S@s3}FQuX~$kF_6%g4>I=X~l?oma{2254gB%F+o-%910^nx4HV zJEh(9N2%dKx5gZ|xkX%_{El~rSoe(tj-RG)O9)P=-NM~x3~U8L--+9wIpnb?%EzA7 zd>;QIX~Lu8kC*UYp1vI>3t`{B86H1fTx`#%gepT0SoZ-(ty{NiYfU?QrbA z`ZPSepVu*{l%AeaOtQe|M=WFVl0{tiZ+Y0w^Yb0<&95yyBA%5uKRZAy7ay~@H8q15 zqfW8E>#Laq5soH*QOWmPu!v&|&;H;;!l6VKFwiGc;7(ttKNG!`!UtHETvQ~P3NPaP z+|oix;P16;>U9+x#w=>W-?MD!>p-86h|L1PtoZnpi;iUp9fQ&0OpfmXG`#z%emjdx zdWetBBrULKzxMtqm6qK86JYz!^shGl;iC}!zA)L1+Eknb`Z7qA6GkmQ=Dr1-bsf;Y zOw96Y&vXrq_gy)w+xc?Q(xIJvUAaVV%*2J0|BxZ&{D04BhV(wCB4!-fDJsGxoy?-% zIAyDnjluB`XnC(lrC-7DqkHkBX5#nH$D18JHMcCEKo|azApC7qdw(yBjF*Aiec4Tk zJ%C!4_)6sM&cg@l?V$7X!#s96yU?OSD{Zqj+Wp(*LUn|@-7c5(3u@}ByPO+vVv!1d z3}>Uk3Ph=S!{uB~{pB_U!ZBiTbxi}h4Ui_)E&U{#SeU4R^e^>x|1jlft~zyfW6Xcx zF1WjX@ab#Ngm!d#i$=^uTvGkF`(gvwP$E@pAxKjx25W%k4QDB=?qA-Si<&kF=}k>aIy~HB7%2=8n|Z)S z+xzLaaGq-N#nS7S11feuK8r8h8r(5w)xS-Yvy8EXvQQji4HJ1XQSQ6d8@7D8C-R&@ z8!G0S#Z1MDncd#frQj~qCGKW}J^`(8Ru%bzVjN{_2^^uya@r#h%UeZZJmEq(p~}3? zlWo1*qEa=O`c41!46VpeLvTg0mC(ZJjm@oJPM~I!8b6<&u4cVD!rI+*N_*;}EF-mu4zAf*a1@lc|w4cMlDp?M;0O_V- zkJ|f6!ksf{TfR&_IDh19xvhbXVZ|a6XiNcS!f2N4`D8l--{mj7vY9DMlixX-u4$xu z_o7O$kE|GBy{i*Eu0QkaXvYO^MDeEXh+h$0yICCZ; z0d;12y3OmCQjPizVxzrNgKEajytpqo8y#~>7sCx1P3gssVCUzTd*JEyUTI_09IW5? z33yE-QmF5p(cSsH;vo0cXeD1rp0nJwR5NXB>>6Sq>mQe$djF=vk4EcdeVhjuwrwZ5CHI^D|Kwb2dp2>5|t zjxRK$q}DM}!YQU#mete@qrY3u$7cpRW?*o&MN@C2>3RGY68JhTBscmL{IooKt zDUi5+qOj6!kK0}?3rpM-^p)G%*!yhU2zWNDKkBt>OxIaF3|-Z})k9l$uQG_Kv6mc< zJJHJ@1 z-O5_iD+>2MxCpP6W_LRYb7pQ47%zNR8?BCBb{6%g2hFKqHYsEgZsjU0&Otl36iHRKCj)4OPs{#c-lU?|%?gTS8e(bXU_|MS zKweelYl@I|Vg!Y5H;e%>Mp&%{STj9Qks_=6eKTRsqUoa1>3$h|A#ADW~*f~ zAAgl26UfFDYG+i8dPim4qV7WTTyfmBY^Bb~>hsKY_S$keY4!0Us;;Oy z+h(@xAtJ`hnJQ=1_PswwiwMvlz)Z6rZsi*mResYi2UwFQX?lhD)h)=TlfGwwIn$}C z%$#mAp8EONC`sqHv#3O&O8N6mIyNt2|5UI6QAW+Tc$@c={Gi3=)olwWV*Su}yB|I+ zi&@F*&Gu_qg043^awK#To3tG*N2Eu=G00;1;n0S-WN+b~YO;(z z-nNU?>g2ghrL-$N59>Y6QcVbzxD~d>10)eGY5;}fBwoS49eeun*VM_&=Xw|Rp+S72H4Q7(8jz|x^;A}{G!TV7m=WPtqCMjM=*wU*XvkWS5g zH)X(Bm4;6nV+6gP8-U1K!vH@+%Wn32m5jlN!`e1hR(j4067tlXQ^^@xf&dt8U36m*{-Bi;o&hgF)6w1)W!C$tSqzOm;%8}R> zQbs3hL|m`Q&XPn8&{Y1LnOvQs$H|k10uVWtUBRw)-A~iY(SAop0%G(#{==wtZ6zKj z-a~VvTzbK}rQ>T5oAlqEr?;Aduh=HJ3Md;p<^F!GeImv*GGP77?-2>2>@nCgRwb&c z&&E}4e3a?lqtybkKUzvw%t+&MttiI6XXHw6Rk_VH7M)hGjnhs+38fn)#nY+Zj8!EC zW>uKVv@~l{oEro2b^w!?`6;Uc%Z{@B1Nl0^cJUdEbtSs3EBz#x7<*t_?*?6ExO z!X5zwzlQa%$Si--CCX({N%u$!`qr(x`;UbU3NkQ~lvz+)EH= zXx7BXZ>J+^987w@Yfx10*m*b|IGpO4?;tDqB5J|ZIq_Mk#wZI=;>W3b+jXDMQk|>% zn^EZG_0`1NzGuP?YDKTVYxPPcnKXs%SesYcW^fZV&R-sj)%w+y_>;yT;k~diF0M;< zpQ8A&^l0W~avOm>&7|q|w%zq^`jFRO2j*K#G<$Ylaw+3OuF@WdQSOrGwu?1h?rlPmD3ju7q6VaUoy%|noQ-3z(M(rsl_F{vXgf7lA;}2b!!fQ!BeyU z+B0I*y1T^YKwg5E$>IqC9~XV2K`S@-^l~s=w5@M**kXjfJ3odvMchf*kIXpj!EQS; zd7UI?QoP~U2@T{c#3}$=#w+{M!B@OsVd*Eui-{A~)tIlxAAEjxNJVY;)xz=&?dQqB zE~3VoLEL#&C8;%uN&ngfz&7(KNO_m=faN(mwzq6Ls%7IZTcEo{wB|NT)LO}o?@`h9 z2KqFDAg()JL8wj3FBFQI1(|CW*ZQ$)|OfXkcTr{ z1bJl%(LudNO;*dSCGaGA|?F$qp)-8d4-)583h-v6w1^i1SdXl6X`HmniDDdh6~Wa;!7C+C18 zZp;RT?CAHlA8kk>(DLoi9XkH$EyH(Hy73RKcpHO>=hbAXQ*vb>t3C8p0^s^NA)if11*S#kxqw_$W7Yn}bJ#WXKSnO~CmGUGy zGwz#jsW}cxep14=--QnwzzZx;Qe|K6L({HDIQx=Eaj89t@UJ1Z?OU`)-hX7q|uVe|zpif(85 z1*eZba{sewh_Gm|oekkcSsukRrV=jd>xvmo&977M+wOflipLt7s`cK!$*A9+#@RB0 zZ{>N}y_&NwB%FJT z2owi};@RIRkMKEC!McQ&f7!Z1>!OrQNt>0%QdJG_gX$8`M*7vUKdc2OhS z*vE5GeL~#DSiXYKlP^**f>={hiesY6_g*Z-uamNKETzV$laM-r&iiF!ii?)A(#z&r z1N`%*tPMNdwMxOjziY}9_{R6}AL5UXux!80b7c8;>KD(5%y7KXXp>+sVLl(7f3B8x z*GY7RR|whb5G(&Jv0Mgj4H3zhj_x|{K(Fac45+?Cg1Ig$sPa0iWjCiqBmMjWwY;sD zB4HAfMittm45kziF|MjPLL(^DOglv%J`>_4Dm>KTAQaqxgbe+?GxZw`@B6fCByHG2J2w3#zo8HuDB_9Y{3Yi z^Opi>x93qB1%%4b)J6&r&vLPS$hA5DP^+?4#2juhwufx3ycz!^D@Q&K_9US?$r9a; z0sgX^XC->x$P5I0#6S63Vk!n(v?{d_zjBw1?11HB!J!dFo4jxKV?Ma8P&irl3}g~g z9{d`^5+-Jqtd!X8k#q^U!bEaMpN%QI(X^yM4*A+-0oRxSef#~|FBmBnFCF*jHA30h zc9p&_?&T5Jfz-d%)m6JYD;`xaY-fF4n~S`v;$f%qOF|Q8%i~;I!H9N);Rt_oOA9Vb zVZGTP9Tg0lMSo0}W)`g0qW9}bM+GY~By49cdpJ{4H4@?w)Z+4!JQjmcx;drU;p&n2 z)m@4UeJ{nqlEYZD=NVjmm$ZuebYk=OpsnFfl-H8Zn>P4`+e1p*Q#32)edXfbu7KcQ zoBc^`zL`GR;? zc4{7rseSH!RxFJC0Uip3Ec1ALBPtLY{~yp3;RhrnQ)s@c(C?iH?Yq%*`jp{%w?n=y z6p#Xk{?4Jo5;2GnWiK_y9L-;U_pH{uRz!j=57z$b_WP|vck>&`-mu2by)}iWPSMC? zzTY)g`yr2x7Z(>)L%gMGDYt3h^T}QS6#cjEsaPBKgobIB1(<| zY#E8WMkJ&f8Fr0l3R`3K>=I72BTO zAKNa+JaZ+zv?in4?CwYUqlEQIP%L_Fuu2K&9%R1f@Zujz5HL=Jl?)pSlZ?k9Pd%=Z zc)e@Qpg_lU&I%`y2n{dtab{{gsRDFY&~&2dN4=}IiCsTjEL;56UoLTh0$%A)<1Ee2 zekwNq8w>E1s3^bqnk7%5c=49eT{20)I&F;BRW7w=6Y(#;?zU1hySs2RvqZD1hgtm8 z_v|0oYl>9_X(hbgQ+EGW)yw^D-=GQBA@~$e?{2Yjxe!q<#t&{TErCWS)9P)L$4!B1 z1FXpkYq^TrBpy7;aVT)^7pFqOn~J>!rjJ-Zy5I&Pjs)mppA08Ce>F{k$^N?UG=bI< z{XQlGR{SAwvn)|{K7j2A=6xN(Uw?D`d$t&ZPTOSutoFgW$>}sk8Ogt6>+S=BEyhdK zDRfUa6*$>G9ZL19W;oXM4(t~oLx_YD3e^T@ z^or|cu}SAUr(BJQ7;^u`Dc8eQgk9*?WkS9yImoL!PfAFF&8-%lS4aQm=&uOX3cJVU z-}Nu?@+kQD!%J=L^;Y!qdPr6&z@DPYS68M1=CR!=>?3Mo^w>EZNh1ScnC;^1vsqir zeN}N|-+@?M{ox8kU7 zUN5AixHGY(+}O>Mn{bSTyue5*=P>vad{ztk4b7Spdp4fUXA+Z{^H0X2o_0IwS9H913o=Ofs*cM zARo*H3QtX8v4+L?DsMdAocR+!v^WQ=oRGgdx6q!B_Put$p>X*tS1{WW8!6xewOVXh;SVLUy zT_wB#*4R+uiky(Let&7DK^;#R`lMynmwC&09|7gzNe6f7k#}PzG;Jy5BKa@krvvBk zJdg=Khg%0e+f)&O(XqlltL5p%Mf3!US(8bm=FELdk!y7iA)&DMtL?2V4h~^58ZIb) z(VR!lRE;CO>}cE+Ga$l+Mn1SJ0Fu#)5F`Yp&o5E6p6I?6mA*tRS%{^O(b?s5Oew_H zmPmsc*!wU2lIx>!hzXngz|?dcaC?pVrx?Twk;L=n%$ij@FOyH)zK1|4uBZibxdklm zrH@mU>&B-Ll$ z0U#N|6PY&{hr{xh9#K(XpqAHmtt%O7eqmmLNfMTA<<&@1W{yGN3}98&Y}2zaH0+Wd z##MLXa@@F%r*SUve1$-rBeH1sqLr67XCmw{EhQn>b}V~sHy~JMe`Uo?n@X6bq-Phu zDSj#Jt?y4K21C%seUtXW7+J3?+mW34)4{|3q>4xRXg}O~aml!m_`S3yAS*>m=ko5i zpZ&#v&*R)twHZlP;^#2*h96KkTih@Z4fOZN>!a`L5!wPa+c#9HQLNt+<7?v*3m)Ac zw(7u|l<30Vr>F0RXXr2rMG+te{Fq zi&K18n48ErkZxmBW;4a?WU7QJG|LJXO4Z%+@)z#~5?l&f1ouLFUl#{&P4Vu6Zzse> zJwK0tXj981rQudkF4Gl3BqDFb^i7d)U}>l^m~91Mb>;{!=3OVZBHuWbjjiOKs&IVP ze`k6}0D8vbJVh`e2>6F>@TSV~@X;x)x@Jm9&k8dAUSmBpjt&psIn3{!oQ&m5mu~+< z-C3qt9hlxMnMrmj|E6Q5oI@QLex+Ly{}%%kC;-TOsR4dS#B@5x{#6997S_0B4?U$C zp7$dR3gU*#Gz6&(yjy@*xxjTj)sS673VB80dZ;AB&4N$wlro#oMVnKd>Rc&3VdWwJ zY}-&Dlmy9YfiS+|57dtBaVpc<4JcE+ECT^;MvSu-`@FbPul8pBImw?k;!k4+$70Y>o$G8c8$7 zk(Bd?W6|q?{th^!SuSa}+Namh&oYL(MG93ZBpUiof0u&` z?)5v*+?JJUl7wR^FT$ktwqkO`ljENVD`Us%|IC9VHCwH0C7 zY9uoA`qm9u_1aU^HX?t;C{3l-!MZHdVCnHr?B}R44j~ewfns5wu4q@9OV<*-%9a>S zdCUh9AK!+w>3ebK3&EO-ryRwFs@<2<5}%X?+wS^0U_(}t9#9zh6}5v^N>m)ii}|}Z za_0w&?7IKJS~6l0!5=UXe5yiarGi7=eJZq{TKO5iQtT)=!H{Fh(2*_4`^*5G>muzz zN!Dkrw)m!`u5QwCl}1QXIKz2qhTBhH-HOR?o+SpA3`6~Tpf zsr7Hq91v0CVs!JqL!^VCuc?>856iID^RPl@UiCnuoO?3MSDsS@`sL20nZG4FX&Bo< zvMZdw8R6}jZqIysRu6D|y$F3*UW#j+zGotdHkd#cUS(p51XPAq0I)+J#8(%3XKle@ zaHxj}lj+`$@bq3jrmy=FZ?IN?SalAMxa%4&E;SLIMwWdT?9cE_)x}-j6dGK>z->NX z=#Y7CVxc&2CV1%RD6Z+K5H*q+(rA%A;51u!cOrjb`l)(1D3?VM{&v04<;v^qS8U^| zSBKLX^Q}8Cubg>3m9M!grQyq2|9>?oOnMcrl$`8$7uikF-p1eJ9e$3wKp~GX^$ozy zy?~hD93&W&*0m>};T*TJ>|z)xI!(O>+NuYZ6jwJX&*S3VPbQLieM4<5WtGbo6ym-U z>RY7VsLXLx=*{~u)~yGaG-jK$eO zjNlHIW4ez4pJ##m;?<$rz)1(@h*9amnaJPnHa_+DffUfb%}spe(}B`linX(}1CK`v z@&YYBl64bto6IBcl`=XC;rQ$2wbW;UppkmrGiB* zl*GO0f1c#A$(?DR}%q&1_KDfp@8IgrQuI| z2F^&v*kR0^f@Z_Q#(X^z0-Mju&$h|!HM|~?_Xt1L#rU{iy`t*X;dvgM8#z@oXV~M! zn~^*-k~LzCfdX{oj*{lu6ruy{LO8XqYrj0q$3rzH6OU853*+1{%Oe3R0W_S5WpQT6pQ)G3}Fa|wbMF5VIgXcxHkFeWJt}^mi zMuwfJ1e*k49WKFs9E_9^I~_ski&Yj&olD>CM|kj5p+(@Wln;E`9J2<`@%?OA5T#iF zn*D*uhW^=9wGm2>Chcys7B+D=+O2U*kF`kQsVZu)w+ z{P;xfXh|<><|sxyX`iayed-Jo&UiqoE95~{w*Em}N$#*nUsiS1ylGTU2hf`!uwVg1 zQ>IACCziQNNeGWFr;2$!hWlq+QN#hmd^Z6XXN=*r!o!B6!_>Tb!6ok2b0H2ahsq+I z2J_xt+70_06t;7>-cdpu7R?5s+^cSoS;ut#{o*sPkHCWQ{OG#RBDO3la}zBd$Y5el}ho8146S&T(_*{rL&(5Hf@lbYK6SW&I0dRuqqbyda?Kf$fj ziH&t^sr;#Wr;w?f)HkJUovxCqOE2>5wV8|Or0#!B!Ume8E1}V7TjaUzfmE-G{~=~c zW-mi&Mj!ppE5bNeO5u5@-=}{$iYbY7Wp4_;ger524NqiBPo+zYnO^jWL>IrUjaz+z z^k-kQ8fR_!PUr@o&}iES?wytP#uH8Z!*d|Z&*A4rC1zw$Y3->sUo=ksU<*XCNc_CE zJ%v0wLHp|@sz0ZBi*J1mL*efO`b4hhE7?B-ak(?SyteIdrZq4kuZCslPp9)4mm4z z4QcU#R^4dZ!Syo=-Bvrhb`ym-`nbFM3qqV9ID<-ga`ZpEJ?-G0EoXn;VH@!2S#oc? zyMeGK2kz{+BK&IBKr-XGpv#RvtAGTv<0ZEk+hU9gY5o!^At9aD)41_Jd746QCpGG> zHedEjA4;NJ4eWEtOV+z~cwGme{o6}BdY)#sh+)9m@$7snbJ&P+De`>e{D_W`M=(}w zY93}%t=WuM`(@MKfpmG(h8e>au;GxQ9?>mGL#XTHZSilb;tTZ^SSw4?mP5$->qFpH zYs>Z`PAXN?gwWB3hWrn}3*^LsdAu*3uuy~{vNjp_gB7DRYH#`O2+*c}x$}#$Zb*jk zB?VZj<>STF#Kqi*NEMo0i@>{DG_-F99TL=gtmUnVAA}b8-uSX>WnZ~>K5up_Qwf$#h9-&M z@v7s~7yHD?Xy+k8S;{Z{R91cV>qeF9SrS$Zq?4HYVx0SiRbAcN5MGN zHTpPoC$`8iTgNF=0uM{CHemttN(kYgGsyGSxH6Pv$^F9J16 zo{YO+$kS1y&4ZFL3SR`9pI)o!IjV`0KJ7e?YI;H7185dy&SrZwhjm_SQOe~m+r508 zSqb$fpm5L7yYcyq!>3Q~HcoNYYW;KiZtU9y(!W|q#DXMKM{I)ktI1TxVDXED2d}eWD9QL5duZ?qSSjb0Mr4{`#~hR4Q1>)0-JZr zh`{2*&GfayxbaWQk+}d>tRgznDNO(L!eg+GrvShoPvKYF!bT@%YdfZsHvUXC3X>?} zqb}-L&r8Zt$g`d|f`HFcaWWuh!lTkLv;8!@%oEr?CW?YHeYo6?g+)b0Wj?;LRGK^( z>zi#Cch$(%uz)KiI6M$EF*z?-tBM58sdk-;3X!GO6+2}l=>DhtQw65Kbfpp0TAmT2 z(ZrVaJm`-c*Y6{(#Mu_rj2mHs>Fx_sY(w~?5w2T-4jr2jFq7QV1Vw?=?=mtN@dwKd zS-SOX&&#(DG{&jf>DdM1FVJcmF)1l9XV2Yku`iA%E(A&RWx)+s-FEzFYk>yMbO74D zI(8I0@B8S!xRu?wS`5of0Ds>8UqwetZas6$*=UnwD2wnC{RedtyNp5)2(Iv`i|D&7 zro-nt4+iK`*FMJp74-KU3x7BFlGnwra--!HcP`$_Gulx}lq7`V4~NwT3PZ3j8sQkr z$fqqnca6WiA!+$wA+rUxvr3npm~<8ut$g>tbNE!nekv3cFa$XTdktd^4VBJ0$`=Tf zp};Bc)hmxqftRm~@t;W`z?@+=llOBC!hfJE_;$$~Ev!VuH4w9)xmt$&_YniR$!*16h6pXF=2Ei!{r`k#!)H)tvg zstX0u9|yk+Bh&$xZM;N~qtnTdk}o0z$_#$z1J1A1KTBvRQ=05Y=Yf@WK9JRHG*M3_ zRHdXTC5~KfGbgv>fDpOFs7brz6V`!Bdqq*j6mW3!aMxKZbyBT9r{+u?sQX7pa;yl5 zi&z4sj`nJEp3TUrC!{rQzyaGBVoz420%nk>;}mQkjebF}*IQs{v|%oc1A2G}?Hm3+ zNyU^rB$yo(^v-#Vf{wR;9M%Arr^pAycy7Nb51aruuS(yhm)BCx%Ta|>R0w3R^kDI% z;;TCW;P#l#n*zl0z%MazXw*%9={mg0ATO}++b-1a zvN-(mtxa&X&3l6kTbBRQQngIf$T3+44HD{0{nutWUykG_3PP-XjQj#F z1~Jn~A!u!WMed|t_6f~?_Zc(N|NPBFV8L9+XTLAEjixvunl0j}shBdEfGbe`I!+mHMmj7AlOBCaOgd@uAh zN%g+BtVx-}XT>iPE)SOe+ob;Ic{s`Qt`H--qQXh2b>d*xwGP`n_Y?!uPV^tE*JYBm z`&^v2F#SoW(`)m z9W30_+tV2rNX{FC>W_yY(Nk2czlyW&X6tE?1t1qWBaNG%j$RNUvA}5xVi4Q+Lv`Y_ z0&>DAAezRL1qrO&vhIpkI;A_Ur|P~(0|D!VUpv50`GsgI3ax-i9*CMeI|71n>3?kW z4{1DY8*We4FhAG&4YYtsk>&o!71vSLWohb1j!N4&QHg)xh&%7g>F@HG=2qjyIGL^2 ze`PGRV}4mi8W-RD8;CNak-#X4HkZJwe9 zmO6|81D}$QV{}Y7Rgsz9=?q^F8WG3QSJ3pHV~1I4-4Rd`U3I-fZ3vKXfJi<3c-bV5 zX4WYf``ObdK+Ck0({i!uyr1d|I+983yOv7RyWJ~3wVS&|hc_g%5cRa7cJ=OO-H6{)MG$ZMz#H z0l<}5)h+Ys!JCLG3qSgt#gYU^MXglk9!1rCDf>ouZE!>2Ykhut>gt8-U%{Lodk3o5qsaO5N;HATw zE>6c95)hJbmAl?d8d}XfK8Bt}4qy@$qrE`X5(LR&ZRRNYYZacC)?_PD2%#1RQniydY<><`im)*yv>K zc9WuCh~+~EAGrdVajmpG8h>EfBu}po1e|F=?_raDRPa|dy51U_s)Mo znI|!*H{}LOp>bpXDEHtL>egM?+{J<^YbX62I-NQlI+umSAFmPOW&SL2 zG858J>%I*doJ~1LMdaq@wr&G&7uVu}DD#}94E64Sexsa4C0u=eUd2}w z2)%5!>|SW*cG4U4dE}wxE8B=uq7wOp;A1Wfc)tYpaa>!EBqv0EE%dAmfhT%ElJ6;G zGi??tG8DHH-_bRDdV(C+y<>?y5BGOfAU(l?fhjfSWLjO%8-;C+N}(ek5dp?lR%d)y z+*s64G_DfGiN_&aPW zBbEzVmo1#h4o!HrWSKU#KS@P8jcjVUHwG*n#)o@=GaR)2HgFW)_#w}J9xNss@Y~1&_v-bl(7-=dr;L{f1KqzE zu5WHa&de7Yvf*_Oy>$wIe|ZJn@3h}zb6EPo?ftdL&#$hKQIX)6XBw^MEpd;M;af38 z6M`kv{s94VrHeqSi_3l2Zp@(qHLkv&oaBUUz}@op^=)eXB*@C!`vpRwO4y3e;I$Fa$h#dNBPqL4?#?y0{p8kt zx#eb}6XcSJcSzuNcIXmu2u+MmS%Ap4H)glqzkg}eK(!Txjj}eOx;Ai3vhQ`j5xN6P>@en`rAsf}5yH&9wk`;Xw!Hpjw(pZ$f zI~sjez>uU+$TKctJRkp-nI8FZ3l3()WrV0>EFm1`H~;_YL(R7 zxG{Qeg(!VnI;S}wkXI(X2jaBpv|Fv`qM(mjbt*p*Y!l+F!*Ds&^t?S?Qrks|slZ~A zqiSt-nw@VeCp!5@wVTiuIXqVW_=@_QAqe*rv)~OMD!jG(|1ka7gVp~R(@%wC`(3B1 zSaKV6mN%*v0)c=vmmC$VMO0&BRKZK^_YsewiDiVWd2NA#qBU&pWex`E@b-82dlj5d1hC8(i~TJpcsX`#;U?(QfA zi?YCm^B&l6sF;nE73SW_b1-w-ol9cj&77%SYdQAkwq}43@ndH5vA+KiZ+yWPKV}=r zudJ$sn>&t;y#lC~fb4HYRD#EPm(ep>t$2OpL2bZi;V)pFk)WTE6O)i(x3Tm7d@hQ! zHupf=92P*^+RD4NS?PY+U^Kj(n!;xB-5-4`_dimAq)lYEf6^q9fRBs^X_Q43&niiG zQmIHGc#UNcyw#`Gj9!2I54hT~kQWHsAUkgUkrR{NnqvX@h*d>iNA7BrO8iwI_SsL8 zFI-E__;_}vdR$#}1+FiBGHFs?pZ+#0%l68L3F64no@@<@SP_$u8P*l5`=uQBe-iUq z5TlKgKmOUmO{}z_-n01qy=gEk$Ms8zB#g1}IEPOa^C*MeNkzNa4+7*P4LpAS1#r+n ztdOb#HcO5KK=BsC=Wb*O;wK;%yjJt4SIg;lml%Z_<4>+*#&=Dgn9U45g7W?}T(I-g z-RZjtTFsuT4-atS?F6zi0rTUs{z~tVfzzqDV6s;cAetFIcDo_8>aF((h4x#2vnXWK zXq<-UbFU?jez+%0j8J`S~t44-ZhX-hQo+3>X^CdN$JpV8JI91(YpZkua! zWnT1=?>=oR80`kMXx`S_Xx{H(|DnEo6gWL4a6+3h{0;BQ4f6-zb2z zUj!g)X2i{=8JL)bFqz+ z=~c$74C;7bE)oHAG0A&|F!42hd1NTg=}5mq(?ctZq}zdOTZDklV>W&Re{;Ru&P6^7 zJ%~iM#AWOUnIsXwLeR$_bjThG#Vg(c*B0L2x;K(5&vun8E^2x6VU7B~uoa9R+{`9! zH{vw`62wL4Uo?<4Vm^=9+3us_a+fFUVSU+McpBBo4J z25dmmvw5jHt7vv{Y3<~sp>3Ssb7r1XQ$XW_=r3Y$EE)hG&@|3p`1;^)%Am4QogF2K z<44R!A)7n1u%AD@JD6geE{on~Nx9%@_$zfZ;ehs{lsjBLgu~f;LE%;fJzjPlMpd+= zPyAzenUFAn)5U#f?6N5I>NQ@NFj1L+HU2Ugq>AE9j13*N74Jn>9uQH-q4SRQ-?A?I zRJknLd4SPBJqFwvt2t_`8uRg~$;r#ewKv}PWDjdQi$$X}*8` zcN81oAD||~UCH*on_C!UTdzJDutgM^aIOxhY%1JG`J;8QS=cG%{?|!)l+D7sPFGW& zv6pVM#na|c)w^}W@QI3#JmA)3ak2?Q8LA@~aHKY9pEL{EZ0c@BQfh0t+3n2aRdVqd zWspy1ULuIqr@%UTd$;5CcE0~L{h*^@4qKnG&3okYN!U1@bVFa%iAUjh7VTmtEnfo!F~4{>!uhdTeT;}{Yxy{<7Y)>jd&EseCA5Siza*7`4hpDmB- zu!4FGt#Vv?oSo^#+dp{mBDu64S`9h1$<|^SIGA?31u6-Vq|z>gX3guqV$gV9-doaD z35l}JZd#%aP~M5a#;AyyCWXoLs?S#1Q zTm<$fYT;kEDkhC@ZaArP*bSuh*G=i=opqmT`N)3At^~xzrRiK>yXJ=LeLXaA$ZP(( z$TeM603VaVrz0RZ$h5Cm2D!VxjpMGIj_oa#q4Ib)%i%UJiA0}=0_vEfW2NAgPA*{? zR*-jnw+m~nw}{a)X17jqGn3!a2=bI4_*xnu&8@h z@9oBLK!2sIW}0;qT~hhj@4g%6317ZnYE_@hrq@*0Uj4^W3)#lA zp```VxL!mn`qAVWV;P}PqfJVc{3P-%FCeC>F7Dj%>-y%7{0t!@uzUf&rlin>zDd)9 z?)eYa4n?JZ?GCC>bIuY<5z#K5>Q#1KbM&vxeMTj}tNeB#{UoPxst8dXztWtzt8g5*7Lv#Jh(> zPamSK?LeYy$5;JEBy6MI7v%E1$&eY^dan9LnK_y_v0-7ZDR7QKfb1z#4g_&cj-<0q z-^I1=94{>kFPP$gnaa@tEURpxNQ(QGPohEZReB4kgfRyChW^8;HM8F$Qb*g&{IP6f z9f1!GuuQ#I)RwBsn2t#B-}+?ta8k zF`N}0+wbOc&GM(Sx5gofiZm7n|S!s2>Au7)&9OyD!fPW+4m7~PY*mskaL|f-vX-fWn0+yetC>`KU36a$v-ve*|b#-@p zkHA*<|ChOFpHrg`g!sIQACycrWyVELH27`&+pwa%H`RgO;&9m)@UAGj2zk{p^DF)J z*OcYv&Z?~+U|GId?}afrEA407)$QQH-2u!W;mXLtaHkdK%zM60{3$X=mBv~*}l z)PnRw7es^ubfjlJo3`v9b<*zx!+koTP#VqwM|x_|t8w`mNiX((5B(z5v3VkT;MyXP z!^Qt13}$kF^n~v;KS0@*&)FcjJA~&BD$zZ8> zwY(SdI10^G6FYu!)?#?zy^Tk_ZI;GZD&$lMhth4N(NV>o+{z(%LimlLk&$MtU%*>H zq*NF6%bT7a1UG3!K#22)2exFQm18KQ0V0G(4b^QjkuVk;@2WX;%|4^GZm!%6LSr}i zok_lRJ}q<`N-t4B8&4k*;^xiI@l+UsD>|Bfz+X4fx8UI9Us$P~_zsy9)uapgbML zZnUy4r@MFS5l7#P|C~)=Pj2%u^=T@hs?ypNw|M8B6$nrC?DA-Shk9BU(+Xi(ffxSV zjH2&hkr{m~mbf#!y+c*}^(`^=F?PconH(y$mywoHqE-V%7c`~T3SncJ<|GO(RUWDM z@b99l7aIC}0STMHzdsV&xx5C`B;7d2^kIpFTiPIj%btcE(YI3*d*R0;ZTHir9@wnsW@en+Jw392d1eGz%O02A_W-b~QqaW-bRp8N^~$nBq~!3nnW z90&PEhx|*`-gk+T!}2>H^0CQShnP)4+AV2aj*&t49N+&e-41A~f@D6_GXv|X?GJ$A zL29R>Q4oB)z(u`@TRsZ;&QrPopp}qM(L@jObr9-t;(^lU3BZ8Juzu~{S^1}vkI@D( z{Jy<;b#m4DyoZM5{{KKhtw*~=@`FcjLpp_y=OW9c*#9$ zf{#d#?t#n_L75cqKr&84!XT+sm9#T~_3Bx~VUDgM&#(M$Xo-H{*~ZvhZCU<}4SWc) zv-Th4z>5sFAK!&*%~|J?^ozWz2SAe&Jxr~cagEUuM;#F~+> z>^1XH->0LT;hl_xCRZ;;fj-n7(sEo6KS|ikOyj1MD^24L%G#)Z2^bfz)>Lna5}yj) z&dPp5*22$XQ#&>G^Oi2dezE&{sihN#wyp(oIVn!(%_!z=^*7 zZy$wYE%Cp3@Wn2;7I3EYIInkIk0i^-x}5xBUw_EXvwBpf0y|2%4*zMlRF5g8B%jG% zUW`{;c{TVjg;w9^PDiqRA)82W@04pnt`%3>etKst&ugD-x4)-vu}H0)|3(XU!&?%Q zS5`k|XJ!c9rKwCyR3GLY-|cA(g(FFik4 z%%n{1>U$cx!+nfx_GKl&BmT5kipqt(ug=?t(X`ACgQF9O6RrrBIsg7vEE{IKa!$;Sg(EF>=M@E)%x zj>^^atsJejHECZ0fX}{f7E;lv6eRlo`N~k=n#|;$u;+vtlj!e8ygk} zdvTLJoz*=28lxJ>7-c{zQMNH;njc4YJuLz)mvLRjff)|B!FmOsC7*H*__ldmM6bPD zX^V5tcCxn2LJ2)e5@C*c6$>S@WZuIpoPb1Lt>CS?uSUT|OVO`}KA>ux!AG_A$N_>g z+kfRg9*wrq)|u~4R)@l!rx(0|fsC;7TzXJ%f?L0SFej#eqFup~Ea#pA4EWQkhfaMe z`oP2g4-onqq-HAan@Yr-!xPU!eqr{ z`m0(A!tajJRDW=H{aFh?72l3k-jBdcWpU7r{QQRN>CU%elQ$Y2OV^QV_2+{MD?Lfe z;_~PkNv0>e^GeXDzo3Xy1iHhub1UiBe3`PI+Y&N=(MS)wz0^RGgY=_AP?ZZMXYtNC zgKJh&Ye!>e{`%vDfd~C3i~TbSy3iZVvco>~r>l#^`facU4xYl?YIY+JEIoeHz&aJifJfxEnm zZtW3+CHc3;Cf$#Q3#b$G*uEb>VWzd^nO6FcGLd}amZRzt9_%UXlZ$jrM|V_Xm2f%k z`CNagV36M~l3Pd);;ogxMcUkcG0&Ai9Vk^dE=UgbA}L=Z5(sMB@rs?ZEQvWtLjk2h zM~@vP=^Ylo=+7S|#^P?4hmL-~Ud7p=ElpS}n)-zAO+<^GPYn8PQeKR1Z*acTEDnpU zPlNMBuN?k9h#6kR1FqscDS2k2j{MxlXxF~Q-O<&(a_vCw*>>SZ z>=DKOGz#sav@S2Od*p?CQzYqpW;0GSL0Q=EEIlTyaOp!widP{svPD#US7YqmSXhw( z?ivnHJJga*zWm)cQqbuv7HP2?P>bGT62bfQ$oJ$+2^p)9HJVvzNYXFXhq6y7X?-Ju z8uXgA#aT|4CR>MB9|NLvP|aPiGUbN2I4f`FJXxzGFi}(naVvrUZ2O~GD$x8RV9JJY z(uam5pSn!6v_| z=VPQ&PAqZR8mKEM?4n4{FAVxx(i5i?|M5l6=Qt)avP_BHPnaqP+Km=Nv|orG$Bj*r zwdg*8Jl@*Z=A#~uwk<;bi2n2`FHC|$L!D8&uSzWO_f`m&+wZE%o8jd_++*J5vga3p zNY2WH`5M@)u2jOCjJVRv(8IkHBri$~k#L#I?WGj}5!e8E4h9Ckq0kbin}6Iuw$Z44 z{q|bY<_A;te{)m?n4^22(i%0C<`%tUDBzWZy`K_ul--oH{}IpEZ2C!&Bjc)6QU{Ons_B|Sr(>O5`EQRCI&s)u_BN`MP$2WfD`g52Au6KhUN%lD zerz!R_OMxP9*r8hw=(ua9(`7!ic1Ymit$95&d9An{&5{#3$2C!c5#7+hT$LE zszivbOgUk`;a+(>-v4wuAiA;I>+-bAzO2sCw`b|uY?=&kM%Abym7YT2!J@PYW*#C? za{RK~L8I=rfz7RA$lREPJk_n+a=W}M;D|Zfl=U<7AHp&GL+EETB(#=Rwad8VWD|!2 z{sQvWCK+Q%JlQ8(Jr8;;RmqkD3x52%$D}7nUJm@*nC2{l04%=@Hb5ofXxv~ z>GPhWy;;>hFIEUUO5*fRG>cC3a|E^cbSi>|hN{vR4wl^eio1KEaP8ED3@U`hxizNl z;BUk;gUaf`lY~@uW3TIrce1rvYn4Ois};`JIMStgN}XLZAgt5`i3cnEOZ(DVx_4K~ zBUdtv%mLth!3GM0{W}ZeCs>MtB0f!n^@(Hobn!z?1c#BGM_3n4HS{-A; zR=vy1=D}rN72PR>fvPrKx%vC%53e*qV0QE=1_9cGckkZ^$yS__lmc+?Jo};VY+k*t z*IhM&t-;`QLWcD_d5KJjL01%q{-Vd^J7lWh3VRMgDQ)?hrjx>;_mr27`-Al%Cu_;) zS54BBr$^?rGZ~m|kyMww9(+-_aVDxE^I&r z0Rd@g1O#d629=WTE@^4$W>BQN8>G8S7zU(EK)RcubI2iv@8bKuf55lax7Ig5-L+=s z-gD2{d!K!FJkJ;3FoC5Ql$Bj@_o#bV1+hF?=-m40KB(JGK>|P^)ZB*Ehc{&76S{G- zjZTP1?Ba4d#Md>T>KAVsd8E}Jv$|uY&b3@i1e|~LvS>*N_IUdO11EruN6wi?t}GT4 z$Gn|-4!Uhmst6mExjT%V_!(-gDt-_)4pkbiz zWX5C(mvO0D@TRYEayNc|06JxatD{2;GE|VgkNRIMKnivDXy4eqfD9*4m|@24lEb1i z{tX#zr@|2B@tnIhl0P#G8M~s;)p(aXxF@(N+?_9Uswj+f<-X{%I2%4l2~RBYo!xPZ zEe1b^Ol+_q$bS{)-JR+D%zuA$5WTReX_ROJH7vbTZg)}m<9URub<*HESaP)?8Kod& zy=jbw^TBnXt|Zs5`j>l-m0n9i!f0Ey?s+9UDlglfEwG8zkIDhS=5M92a49Kmov(uw z3=Ip7V5zBdC`jZmm9R0^?(%y@SNm7`UfG$+3KLuR>g!O-!r-}8qwepHowxI&%P$%{ zyiGfT&OJ`&t!<_97|}RpR=*IKScBTz0hCtnJojDSX?X%??2zf$b@)`_XOjzwiN$!= zt5DNr_OW_>kFu~DvPEvd)z z=_-|yvhl%TaFb_!Yi?z9dr6F~^)~o|K?j2wbtQwNR`1J0 z$~`>aD;7wFF=N&8RL&#$pTJ7f#ob4xzp$q-o0Bz?-gz_=$V5BCQ`N1jWNG_y@!b>zitW8 ze={^WH7JY>Cz+;TktP^jbYRLhroaE;`4h6kCB8T%E9_IZ%P>1de%keJBBz4*N4Bbm z5!qMrY#nv7w@Q|Iou_|%*Y(q`9pm0VmM}*uGa!bXT@Be5?@jggsAfv7xFb)!Tt0Wt zQsz)T(yqu%(3|g!*D27Ve7_?A%KuF0kC=ts&&K|Ipg<`I*^C}6>BG&=MJMIdnGcCn z#yWTzBDH+%fnYv53E{nx!BS!9n8Gl5fJCXblw{GJZ- zOjuFTxCK~~o#^9cHHtbCLMfzru_E%z5E5g z>BmhiF4%}6BdH@7$QibCl#`2ka&ZwB-bC@$%zQh+Hlo~|)VI!N^aC=|<-KRJhkYWy z(fqvm@g*1J5Oi3CQ1X^{R$?in!(cq;ZO6D7W>Z6nD`13vA7APzzAN{hF;{CCQ<-r( zzSx$id*`Uxn>}E7a@KaUzkoJZ<+2S?mwOuSi#Yufe&eEOteAY>-4o+Xv-&Z>BPpid+ft0#(%O z+t~xpHER`DU$lmggKODc&#HK>T>#HIIgi&IEm`i*gLVs71^rX<*aiT|b~Y;m)*t_% zRa^7Hmcp3f8ZaCCFIh!fAjK!kVctD;%suFqMQw!6Hsz7uL2*!q?(g94YJoz#UFhF$ zMCMUw1`9_o--wbbAFwdC-?z6*4n0?4S0LDlfB}L(7(J=`&6WBxSceQfF(uY}O<#TPQ@cnM>3E#SrSX zN-t$|BXje!Td%^Zxm=(9jV!h1qWcql6tyS!sp3Y1iig>w>? z#5+ylG^OzN))TB?^B4?sR(lADh4GAvpkEOxxe#r$^geB$7`?Gh+Li@*dpZXjR9v6u zp`wq>CTuJzmxbX~o(u)$_XSBT{!7n5y$S}BHs!%`-%{|g^TyuB4*<>NmtMZV`diH9 z-N$};5MrZAO0fq1cL zu$l8I!Pz|Dd>RKb#(M=WJFpe?RVjL*st+3e56lXFs}}qn=%VWCH^W?qC#SMXHQTk< zU*yI(YnJxYh#c?kt9L~XshVzT@NapLfS7F6v+kWco}gZF54HBHW4-EwVqQ@*Jg z9v$|=wc06c*h*-{_cZDJQp^EFkM#5D1m~Od?g{3>Z2SD}Ir|kdcFk-e#W;Hd!+om_ z_L&@bKyMKii#B2Hs66tjVBU1P9}0KFs}wRQgC9B2{)JG$n{ZDiV_8 z70C9Wbn&4*CCRMT>V&;OiXYRiG=u&8jRd6n&R5h> zkZggLL@_RC`+m>2ryTjACGUe0my&z(-EtS(R%rc1-rh{|X%0sy&mtGymHyO22@6;NX} zql(VO=(Di$?2(GPtJh)?GUV=lp%D%A`Ke^eWgC{?*ME&owluoiL9|3;gi?~-Nrhm)L#$plJ5Z&Sg#$Mi$MJB)~zwCNRZ{vRrPxjMntlVQUjMWMt=HUw;Kn~ zP>?E5HFYPGYDXQ@s3F{?Q{g{Y)Xu3P`S6`_6RxS@AVT)4N%z8P7Ao%k+|?bBSL%@= zz+&G{!MUXPDRro|%j7Ws`;20juVj1bdX3%>hXMulr^*IxRE8&F5Q78{*NWYuu+;Mn z6Zed3lNhVpQ7|T{*dojL)Os{nGNwq|WwJLq6G7A<{Kr)sGx0$GtL#QDO`ZiQDJg0Ad|xs<1d8eG8k=l<;|YB38k_(`YMb19$%((?T5?v~ z)z+H+MOHlDrr}j!UM%OmV?;ZHfS?z>Mr&*D`S^aEw>*@0T04Otldrel`ya-CS&}kSE;$;4`2lkLeRH^g&aw_CRvi=Cqsu-Od_-E?9*Ggxta(()ucC1w#?ts0syf|NahvgcU7>i#^(~upfxAY7E@IU6UfJM9{N#;dE9Pg zxL^+Ot}te@*$_P<2_zY1+0C{a)V$HkVBxeb2|G*ZJY~epj%+#G@HlHsR^|W1M~AKp z@(xyaO&bt_u5}zDEuYUbAOohrs)@&n|ey zg(On5t2ic2N!g&KP`(kFQ22=o&>0L9rZngkJs)}TOXpYTPp^IZ(QBh>_ue136;bC- zFpLr%fH9Yl&wA-HD0Z;M;NEW~4Z6WNq>?OpEYPZUTqYzJL7?n$UB7F$Tu!(%(PRfX zd9OB$tJTV#5FZX2Xl*qReR4bdX2DbKY`!$F5!)QPn?EV1P6z~WkU&&ufs#}yu(06) z#yATFvOSj;JE5z`F7DsMKn08xrUD-X+vq4_qX9cxY|JaEoMp&F=;zcN#7^aI(WjmbaX_umkkC=zn6j7OKw(*Y6LgRMUg z2~m+Z&b6&UlHLSwenMnJz(@{zdmH?Id&?g&1J`-YUMvJHoN%}t|6QvT58nU$Yd;8# zW%+I~h`{pK3-@3QLhEB02lUqpF3KX%L-gv8m}Oj(Ob?^o;x&RKJec+X!n0eG9d4>7Kkeu?JTusmhlzG#XJz=CFdArtP=Bms?`BzU^Qy{0OE)XZe&| z`5SjtQ|QTO&`d6UZ~btSwaY*#&FjD)qyjcP+;yw%%4X^_KisTtc%KifKtD#%1~?}W z#v)4(7ZSE$O#d$yFxgPVb*{J-@HdvQ0Ypm%2)j3M}-Kh z@xtU9@pMfa`jJVy$$t%Vi~x)0$%CeIt(UP{YefK8sd!?@9g9=lvI4=8g7Oc_L z>be>)ViPyqLEo|UnD3x4ZXQ>m2tpDC(VWm4IO8_GS@YeW!qXq=^habbEhY~7#s%7} ztZd(hW+3|P1;foY)-a!B2WCb}Zq=uekUy&v$Y{qecAs3P@4&}~2d|yR6BmX@raWga z)na9@N-m#$3rviE0#Mjm8aqF_Ao%CFK$;c0<TAA&k^a+tgvj<1Fx!ADlDg(K^xDjlK`4a z&J=#PH+$_pf&9AnzC{M~DmRGW*H>68Q)8M5j9=<&gPI#mt_GS!K6++v6yOcs87N(N zm9t95%I6FQfU-t@qa>*-q7!~i;c^u32FMPz1>~yvA4~KYv4LgV{QEo7jn{%5HPj)> zO*3_3b_s-AzK|-Kco@%zn)FV;?eq_`YuvqG;BqE0K*=&Xz5>BS$H2dIqv?1i=HX|f z6(T-~&6#}U`RWhz9-;5)PEDb))fz5kj@a)$cB`-mQNM}@X?t~396Od@!7V#@0$+8oHAJ2e%ajT~4F&x5!vIG2iF8UOrac>ry=($Q88Q6-8ZbQ(x^{pjH1!mmx2 zvrr~%LT>87?6aA^S7_CKj!S7z(;?Z4ADxU|WzmKl6rDVHo0BP$`OROvyK9>WCu|Gx z)~u#R@pm$G^9vOo-rhFV=aJPUikr66&^12u!&(wp%fcw_W1v4~oo>(~=zRwFTepqw zYS+^w`?qE-DqAJhVQN@IUlMUxmX^h$%$?vGuy*k4yQQ*M!RGP|hOO+GyD87*)CsiG zFlik$qN5q63HmKQ%g1e!8L!*nu;Zn#onyRG}>PT4{P_`NEo$#;KD^t}#G&-+CG@#Dpls2lUe3$Iqy zg^+6t#mbzWIS2LlX^08=rDvPIr}Org$=YDx*+{By0dp*rw@)D?{Kd3W>S>i*NW3J^ zkOm9IpLR8g6u%l7x!~e>*P(hU2XB*9ZsfkD3xPi*TP5y6_BjLmcmqo+uu`X-=o|Yt z8%{6BEWgfb?}C0MV!TmpRuf?u)h}Kso;U>K{2>wc(muBLl|p^?W_OPfcrNv8;H61w z>O=TNT@0Xi7MayO0lq|?8({4Socp({)zwW?jjWmHh2(S}e&e3sc@#e!z6ve~6D9#6 zPML_J)z>vmAp7f1b?ctzw^`E6KT}2L6`N)7NF}>l%c_dC-{Q)q_-uA`6>-kL;_+)t z-QcTC6EXP{;eCbQ_=@Rq((9k|$LMpj`Q6X{y$FRgZos|H`lNjB4x18_iyG}p_@2=) zj`UC=G&(bkDPxg?j~Ai^p$qnjUqB?nI&4+4TldAIx21?;7OT7^4iW+qg$?VU@0>N2 z^p?`6HEGt$S6bDi$PB!3_#W8EG)FS(zFwp{CqJ5znB1ChjJQB7F}u-CgeIMXv4ben z`j>Q(ys;da8i_ZS;nDPDPuoQwK8IT{hGg1J_AE=y&c2F7=k&Isciil!!}~CMTE#>p zRzYU1|BKn0_~DEExAOIF*VxT-JibwN)ImElnOl`s==#eC^x�P#>lE6BHClmI_^N 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 z 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 H?0)|@>%Tm2 literal 0 HcmV?d00001 diff --git a/zhyy/screenshots/TC-zhyy-xsxt-hngl-001_02_after_login.png b/zhyy/screenshots/TC-zhyy-xsxt-hngl-001_02_after_login.png new file mode 100644 index 0000000000000000000000000000000000000000..ca36ee9c93fbac34c33feb6b4362793516261c61 GIT binary patch literal 67523 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

N%Tnn;+?1lZpe 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

MXa4(OH z$AEQs>n`zXV2?PQ>44rvR%#Mmqwndm0Df4Erpe)y5>|N2NNB{O%Vg1!*oeA=l>86} zD=E)W5awC`2g_h;*-xT4#qJ=NKCIJs1Z1n;_H#4lpAk5=MP!Oms)SFm*hZpTzalN=_`5f>K?8ivoi(CT{jDF) z%gZa>=2IX7q-yr!s0cR+o%7Wnf)JS(LT~J-2ZK`0xxLo2GE*nQ6>t;^7yLVQV%j2D zM3lL@zm7Sgee6TG24NIt4b%!-_=X~mXAQ<|pGe80s;O5Q?V&Od8K-5bxH@Pzl9)_f z@T;l~GBzi`DB%_Io@&Kec=zJ5+<(Tq%EhvNpKNUOk7m9K8PEe4EsgFDMeA+FK1mp z`?7YvWN$cqPL+4E8>__+r1Gh3 str: + path = os.path.join(self.screenshot_dir, name) + self.page.screenshot(path=path, full_page=True) + allure.attach.file(path, name=name, attachment_type=allure.attachment_type.PNG) + return path + + def first_visible_locator( + self, + selectors: list[str], + timeout: int = 5000, + description: str = "元素", + ) -> Locator: + """ + 从候选 CSS/XPath/Text selector 中返回第一个可见元素。 + 注意:页面侦察结果为空时,候选 selector 需在项目落地时根据真实 DOM 调整。 + """ + last_error = None + for selector in selectors: + try: + locator = self.page.locator(selector).first + locator.wait_for(state="visible", timeout=timeout) + return locator + except Exception as exc: + last_error = exc + + self.screenshot(f"not_found_{description}.png") + raise AssertionError(f"未找到可见{description},请根据真实页面 DOM 更新 selector。候选:{selectors}") from last_error + + def click_first_visible( + self, + selectors: list[str], + timeout: int = 5000, + description: str = "按钮", + ): + locator = self.first_visible_locator(selectors, timeout=timeout, description=description) + locator.click() + + def fill_first_visible( + self, + selectors: list[str], + value: str, + timeout: int = 5000, + description: str = "输入框", + ): + locator = self.first_visible_locator(selectors, timeout=timeout, description=description) + locator.fill(value) + + def wait_network_idle(self): + try: + self.page.wait_for_load_state("networkidle", timeout=5000) + except Exception: + pass + + def assert_url_contains(self, expected_part: str): + expect(self.page).to_have_url(lambda url: expected_part in url) + + def wait_for_timeout(self, ms: int): + self.page.wait_for_timeout(ms) diff --git a/zhyy/test_case/Resource/UI/contract_manage_page.py b/zhyy/test_case/Resource/UI/contract_manage_page.py new file mode 100644 index 0000000..fcb1af6 --- /dev/null +++ b/zhyy/test_case/Resource/UI/contract_manage_page.py @@ -0,0 +1,194 @@ +import re +from playwright.sync_api import expect +from zhyy.test_case.Resource.UI.base_page import BasePage + + +class SmartManagementLoginPage(BasePage): + """ + 智慧运营登录页对象。 + + TODO: + 当前未提供登录页侦察结果,以下 selector 为常见候选。 + 落地时请优先使用真实 DOM 中稳定属性,例如 data-testid、id、name。 + """ + + USERNAME_INPUT_SELECTORS = [ + "input[name='username']", + "input[name='userName']", + "input[id*='username']", + "input[placeholder*='用户名']", + "input[placeholder*='账号']", + ] + + PASSWORD_INPUT_SELECTORS = [ + "input[name='password']", + "input[type='password']", + "input[placeholder*='密码']", + ] + + LOGIN_BUTTON_SELECTORS = [ + "button:has-text('登录')", + "button:has-text('登 录')", + "[role='button']:has-text('登录')", + ] + + def login_if_needed(self, username: str, password: str): + """ + 如果当前页面出现登录表单则登录;如果已登录或 SSO 已生效则跳过。 + """ + username_input = self.page.locator(",".join(self.USERNAME_INPUT_SELECTORS)).first + try: + username_input.wait_for(state="visible", timeout=5000) + except Exception: + return + + self.fill_first_visible(self.USERNAME_INPUT_SELECTORS, username, description="用户名输入框") + self.fill_first_visible(self.PASSWORD_INPUT_SELECTORS, password, description="密码输入框") + self.click_first_visible(self.LOGIN_BUTTON_SELECTORS, description="登录按钮") + self.wait_network_idle() + self.screenshot("after_login.png") + + +class ContractManagePage(BasePage): + """ + 合同管理页面对象。 + + 被测页面: + https://smart-management-web-st.best-envision.com/SZPurchase/PurchaseManage/PurchaseOrderManage + + TODO: + reconnaissanceResult 为空,缺少真实 DOM。 + 以下 selector 采用“清晰候选 + TODO”方式,落地执行前需通过页面侦察结果替换为真实稳定 selector。 + """ + + CONTRACT_MENU_SELECTORS = [ + # TODO: 使用真实菜单 DOM 替换,例如 [data-testid='contract-menu'] + "text=合同管理", + "a:has-text('合同管理')", + "li:has-text('合同管理')", + "[role='menuitem']:has-text('合同管理')", + ] + + CONTRACT_NO_INPUT_SELECTORS = [ + # TODO: 使用真实合同编号输入框 selector 替换 + "input[placeholder*='合同编号']", + "input[aria-label*='合同编号']", + ".ant-form-item:has-text('合同编号') input", + ".el-form-item:has-text('合同编号') input", + "label:has-text('合同编号') + div input", + ] + + QUERY_BUTTON_SELECTORS = [ + "button:has-text('查询')", + "button:has-text('搜索')", + "[role='button']:has-text('查询')", + "[role='button']:has-text('搜索')", + ] + + TABLE_ROW_SELECTORS = [ + # Ant Design Table + ".ant-table-tbody > tr:not(.ant-table-placeholder)", + # Element Plus / Element UI Table + ".el-table__body tbody tr", + # 原生 table + "table tbody tr", + ] + + EMPTY_SELECTORS = [ + ".ant-empty", + ".el-empty", + "text=暂无数据", + "text=无数据", + "text=No Data", + ] + + def open(self, url: str): + self.goto(url) + self.screenshot("contract_manage_opened.png") + + def open_contract_menu_if_visible(self): + """ + 用户步骤要求“找到合同菜单”。 + 如果当前 URL 已直达合同管理页,则菜单可能无需点击。 + 若菜单可见则点击;不可见不强制失败,避免直达 URL 场景误报。 + """ + for selector in self.CONTRACT_MENU_SELECTORS: + locator = self.page.locator(selector).first + try: + locator.wait_for(state="visible", timeout=2000) + locator.click() + self.wait_network_idle() + self.screenshot("contract_menu_clicked.png") + return + except Exception: + continue + + def search_by_contract_no_keyword(self, keyword: str): + self.fill_first_visible( + self.CONTRACT_NO_INPUT_SELECTORS, + keyword, + description="合同编号搜索框", + ) + self.click_first_visible( + self.QUERY_BUTTON_SELECTORS, + description="查询按钮", + ) + self.wait_network_idle() + self.wait_for_timeout(1000) + self.screenshot("contract_no_search_result.png") + + def _table_rows_locator(self): + for selector in self.TABLE_ROW_SELECTORS: + rows = self.page.locator(selector) + try: + if rows.count() > 0 and rows.first.is_visible(timeout=2000): + return rows + except Exception: + continue + return None + + def has_empty_result(self) -> bool: + for selector in self.EMPTY_SELECTORS: + try: + locator = self.page.locator(selector).first + if locator.is_visible(timeout=1000): + return True + except Exception: + continue + return False + + def get_result_row_texts(self) -> list[str]: + rows = self._table_rows_locator() + if rows is None: + return [] + + row_texts = [] + count = rows.count() + for index in range(count): + row = rows.nth(index) + text = re.sub(r"\s+", " ", row.inner_text()).strip() + if text: + row_texts.append(text) + return row_texts + + def assert_contract_no_fuzzy_match(self, keyword: str): + """ + 断言查询结果与合同编号模糊匹配条件一致。 + + 说明: + 由于缺少真实表格列 selector,当前按整行文本包含 keyword 断言。 + 落地后建议替换为“合同编号列单元格”精确读取: + - AntD: 根据 th 文本定位列 index,再读取 tbody tr td[index] + - Element: 使用列 prop 或 class 定位 + """ + row_texts = self.get_result_row_texts() + + assert row_texts, ( + f"合同编号关键字【{keyword}】查询后未获取到表格数据。" + f"若业务允许无结果,请调整测试数据为存在的合同编号片段。" + ) + + unmatched_rows = [text for text in row_texts if keyword not in text] + assert not unmatched_rows, ( + f"存在与合同编号关键字【{keyword}】不匹配的查询结果:{unmatched_rows}" + ) diff --git a/zhyy/test_case/Resource/UI/contract_management_page.py b/zhyy/test_case/Resource/UI/contract_management_page.py new file mode 100644 index 0000000..2ef86ee --- /dev/null +++ b/zhyy/test_case/Resource/UI/contract_management_page.py @@ -0,0 +1,208 @@ +import re +from typing import Optional + +import allure +from playwright.sync_api import Page, expect + +from zhyy.test_case.Resource.UI.base_page import BasePage + + +class ContractManagementPage(BasePage): + """合同管理页面对象。 + + 注意: + - 当前未提供页面侦察结果,以下 selector 采用“候选定位 + TODO”方式。 + - 落地执行前,建议通过侦察脚本确认真实 DOM 后替换 TODO selector。 + """ + + def __init__(self, page: Page, screenshot_dir: str): + super().__init__(page, screenshot_dir) + + def open(self, url: str) -> None: + with allure.step("打开合同管理被测页面"): + self.goto(url) + self.attach_screenshot("01_open_contract_management_page.png") + + def login_if_needed(self, username: str, password: str) -> None: + """如页面跳转到登录页,则执行登录。 + + TODO: + 请根据真实登录页 DOM 替换用户名、密码、登录按钮 selector。 + 当前保留常见中文系统候选定位,避免在无侦察结果时硬编码单一 selector。 + """ + with allure.step("如需要则登录系统"): + username_candidates = [ + self.page.get_by_placeholder(re.compile("用户名|账号|请输入用户名|请输入账号")), + self.page.locator("input[name='username']"), + self.page.locator("input[type='text']").first, + # TODO: 替换为真实用户名输入框 selector,例如:self.page.locator("#username") + ] + + password_candidates = [ + self.page.get_by_placeholder(re.compile("密码|请输入密码")), + self.page.locator("input[name='password']"), + self.page.locator("input[type='password']"), + # TODO: 替换为真实密码输入框 selector,例如:self.page.locator("#password") + ] + + login_button_candidates = [ + self.page.get_by_role("button", name=re.compile("登录|登 录|Login", re.I)), + self.page.locator("button[type='submit']"), + self.page.locator("text=登录"), + # TODO: 替换为真实登录按钮 selector + ] + + login_form_visible = any( + locator.first.is_visible() + for locator in username_candidates + password_candidates + ) + + if not login_form_visible: + return + + self.fill_first_visible(username_candidates, username, description="用户名输入框") + self.fill_first_visible(password_candidates, password, description="密码输入框") + self.attach_screenshot("02_before_login.png") + + self.click_first_visible(login_button_candidates, description="登录按钮") + self.wait_network_idle() + self.attach_screenshot("03_after_login.png") + + def ensure_contract_menu_selected(self) -> None: + """进入/确认合同菜单。 + + 若 URL 已直接进入合同管理页面,本方法不会强制点击菜单。 + TODO: + 如系统必须通过左侧菜单进入,请用页面真实菜单 selector 替换候选定位。 + """ + with allure.step("找到并选择合同菜单"): + menu_candidates = [ + self.page.get_by_role("menuitem", name=re.compile("合同管理|合同")), + self.page.get_by_text(re.compile("^合同管理$|^合同$"), exact=False), + self.page.locator("text=合同管理"), + self.page.locator("text=合同"), + # TODO: 替换为真实合同菜单 selector + ] + + try: + menu = self.first_visible_locator( + menu_candidates, + timeout=3000, + description="合同菜单", + ) + menu.click() + self.wait_network_idle() + except AssertionError: + # 直接 URL 进入时可能没有可见菜单或菜单已选中,不阻断用例。 + pass + + self.attach_screenshot("04_contract_menu_selected.png") + + def search_by_contract_no_fuzzy(self, partial_contract_no: str) -> None: + """按合同编号进行模糊查询。""" + with allure.step(f"输入合同编号部分字符并点击查询:{partial_contract_no}"): + contract_no_input_candidates = [ + self.page.get_by_placeholder(re.compile("合同编号|请输入合同编号")), + self.page.locator("input[placeholder*='合同编号']"), + self.page.locator("label:has-text('合同编号')").locator("xpath=following::input[1]"), + self.page.locator("text=合同编号").locator("xpath=following::input[1]"), + # TODO: 替换为真实合同编号搜索框 selector + ] + + query_button_candidates = [ + self.page.get_by_role("button", name=re.compile("^查询$|搜索")), + self.page.locator("button:has-text('查询')"), + self.page.locator("text=查询"), + # TODO: 替换为真实查询按钮 selector + ] + + self.fill_first_visible( + contract_no_input_candidates, + partial_contract_no, + description="合同编号搜索框", + ) + self.attach_screenshot("05_filled_contract_no.png") + + self.click_first_visible( + query_button_candidates, + description="查询按钮", + ) + self.wait_network_idle() + + # 等待常见表格渲染完成 + self.wait_for_result_table() + self.attach_screenshot("06_after_contract_no_search.png") + + def wait_for_result_table(self) -> None: + """等待查询结果表格出现。 + + TODO: + 根据真实表格框架替换为唯一稳定 selector。 + """ + table_candidates = [ + self.page.locator(".el-table__body-wrapper"), + self.page.locator(".el-table__body"), + self.page.locator(".ant-table-tbody"), + self.page.locator("table tbody"), + self.page.locator("[role='table']"), + # TODO: 替换为真实结果表格 selector + ] + self.first_visible_locator(table_candidates, timeout=10000, description="合同结果表格") + + def result_rows_locator(self): + """结果表格行候选。 + + TODO: + 建议替换为合同列表真实数据行 selector。 + """ + candidates = [ + self.page.locator(".el-table__body tbody tr"), + self.page.locator(".ant-table-tbody tr"), + self.page.locator("table tbody tr"), + self.page.locator("[role='row']"), + # TODO: 替换为真实合同列表行 selector + ] + + for locator in candidates: + try: + if locator.count() > 0: + return locator + except Exception: + continue + + raise AssertionError("未找到合同列表数据行,请根据真实页面补充 result_rows_locator selector。") + + def get_result_row_texts(self) -> list[str]: + with allure.step("获取合同列表查询结果"): + rows = self.result_rows_locator() + texts = self.text_contents(rows) + # 过滤空行、表头、加载占位行 + return [ + text + for text in texts + if text and "暂无数据" not in text and "No Data" not in text + ] + + def assert_contract_no_fuzzy_match(self, partial_contract_no: str) -> None: + """断言查询结果与合同编号模糊查询条件一致。 + + 当前无页面侦察结果,无法确认“合同编号”列的真实 selector。 + 因此先断言每条结果行文本中包含输入的合同编号部分字符。 + 如果后续确认合同编号列 selector,请改为仅校验合同编号列文本。 + """ + with allure.step("断言列表仅展示合同编号与输入内容模糊匹配的数据"): + row_texts = self.get_result_row_texts() + + assert row_texts, "查询结果为空,无法验证合同编号模糊匹配。请确认测试数据或查询条件。" + + unmatched_rows = [ + row_text + for row_text in row_texts + if partial_contract_no not in row_text + ] + + assert not unmatched_rows, ( + f"存在与合同编号查询条件不匹配的结果。\n" + f"查询条件:{partial_contract_no}\n" + f"不匹配行:{unmatched_rows}" + ) diff --git a/zhyy/test_case/Resource/UI/hngl_page.py b/zhyy/test_case/Resource/UI/hngl_page.py new file mode 100644 index 0000000..967cc20 --- /dev/null +++ b/zhyy/test_case/Resource/UI/hngl_page.py @@ -0,0 +1,274 @@ +from typing import List, Optional + +import allure +from playwright.sync_api import Page, expect + +from zhyy.test_case.Resource.UI.base_page import BasePage + + +class SmartManagementLoginPage(BasePage): + """智慧运营登录页。""" + + # TODO:如项目已有页面侦察结果,请替换为真实 selector + USERNAME_INPUT_SELECTORS = [ + 'input[name="username"]', + 'input[id="username"]', + 'input[placeholder*="用户名"]', + 'input[placeholder*="账号"]', + 'input[type="text"]', + ] + + PASSWORD_INPUT_SELECTORS = [ + 'input[name="password"]', + 'input[id="password"]', + 'input[placeholder*="密码"]', + 'input[type="password"]', + ] + + LOGIN_BUTTON_SELECTORS = [ + 'button:has-text("登录")', + 'button:has-text("登 录")', + 'button[type="submit"]', + ] + + def is_login_page(self) -> bool: + url = self.page.url.lower() + if "login" in url: + return True + try: + self.first_visible_locator(self.PASSWORD_INPUT_SELECTORS, timeout=2000, description="密码输入框") + return True + except Exception: + return False + + @allure.step("登录智慧运营系统") + def login_if_required(self, username: str, password: str): + if not self.is_login_page(): + return + + self.fill_first_visible(self.USERNAME_INPUT_SELECTORS, username, description="用户名输入框") + self.fill_first_visible(self.PASSWORD_INPUT_SELECTORS, password, description="密码输入框") + self.click_first_visible(self.LOGIN_BUTTON_SELECTORS, description="登录按钮") + self.wait_for_page_ready() + + +class ContractManagementPage(BasePage): + """合同管理页面:封装合同编号模糊查询能力。""" + + PAGE_URL = "https://smart-management-web-st.best-envision.com/SZPurchase/PurchaseManage/PurchaseOrderManage" + + # TODO:页面侦察结果为空,以下为基于业务语义的候选定位;落地时建议替换为真实稳定 selector/data-testid + CONTRACT_MENU_SELECTORS = [ + 'a:has-text("合同管理")', + 'li:has-text("合同管理")', + 'span:has-text("合同管理")', + 'div:has-text("合同管理")', + ] + + CONTRACT_NO_INPUT_SELECTORS = [ + # Ant Design 常见结构:label 为“合同编号”后紧邻输入框 + 'xpath=//*[normalize-space()="合同编号"]/following::input[1]', + 'input[placeholder*="合同编号"]', + 'input[name*="contract"]', + 'input[id*="contract"]', + # TODO:补充页面侦察得到的合同编号输入框 selector + ] + + QUERY_BUTTON_SELECTORS = [ + 'button:has-text("查询")', + 'button:has-text("搜索")', + # TODO:补充页面侦察得到的查询按钮 selector + ] + + RESET_BUTTON_SELECTORS = [ + 'button:has-text("重置")', + 'button:has-text("清空")', + ] + + TABLE_ROW_SELECTORS = [ + # Ant Design 表格常见结构 + '.ant-table-tbody > tr:not(.ant-table-placeholder)', + 'table tbody tr', + # TODO:补充页面侦察得到的列表行 selector + ] + + TABLE_HEADER_CELL_SELECTORS = [ + '.ant-table-thead th', + 'table thead th', + # TODO:补充页面侦察得到的表头 selector + ] + + EMPTY_SELECTORS = [ + '.ant-empty', + 'text=暂无数据', + 'text=无数据', + ] + + def __init__(self, page: Page): + super().__init__(page) + self.login_page = SmartManagementLoginPage(page) + + @allure.step("打开合同管理页面") + def open(self, username: str, password: str): + self.goto(self.PAGE_URL) + self.login_page.login_if_required(username, password) + + # 登录后如回到首页,则再次进入目标页面 + if "PurchaseOrderManage" not in self.page.url: + self.goto(self.PAGE_URL) + self.wait_for_page_ready() + + self.ensure_contract_management_page_loaded() + + @allure.step("确认合同管理页面加载完成") + def ensure_contract_management_page_loaded(self): + """ + 优先确认页面 URL,其次确认页面上存在合同相关筛选项。 + """ + if "PurchaseOrderManage" in self.page.url: + return + + try: + self.first_visible_locator(self.CONTRACT_MENU_SELECTORS, timeout=5000, description="合同管理菜单") + return + except Exception as exc: + raise AssertionError(f"合同管理页面未成功加载,当前 URL={self.page.url}") from exc + + @allure.step("点击合同管理菜单") + def click_contract_menu_if_visible(self): + """ + 用户步骤要求“找到合同菜单”;若当前已在目标页面,则不强制点击。 + """ + if "PurchaseOrderManage" in self.page.url: + return + + self.click_first_visible(self.CONTRACT_MENU_SELECTORS, timeout=5000, description="合同管理菜单") + self.wait_for_page_ready() + + @allure.step("输入合同编号查询条件:{contract_no_keyword}") + def input_contract_no_keyword(self, contract_no_keyword: str): + try: + self.page.get_by_label("合同编号", exact=False).fill(contract_no_keyword) + except Exception: + self.fill_first_visible( + self.CONTRACT_NO_INPUT_SELECTORS, + contract_no_keyword, + description="合同编号搜索框", + ) + + @allure.step("点击查询按钮") + def click_query(self): + try: + self.page.get_by_role("button", name="查询").click() + self.wait_for_page_ready() + except Exception: + self.click_first_visible(self.QUERY_BUTTON_SELECTORS, description="查询按钮") + + # 等待列表刷新完成 + self.page.wait_for_timeout(1000) + + @allure.step("按合同编号模糊查询:{contract_no_keyword}") + def search_by_contract_no(self, contract_no_keyword: str): + self.input_contract_no_keyword(contract_no_keyword) + self.click_query() + + def _get_contract_no_column_index(self) -> Optional[int]: + """ + 根据表头文本动态识别“合同编号”列索引。 + 识别失败时返回 None,断言时退化为行文本包含校验。 + """ + for selector in self.TABLE_HEADER_CELL_SELECTORS: + headers = self.page.locator(selector) + try: + count = headers.count() + except Exception: + continue + + for index in range(count): + text = headers.nth(index).inner_text(timeout=2000).strip() + if "合同编号" in text: + return index + return None + + def get_result_rows_text(self) -> List[str]: + for selector in self.TABLE_ROW_SELECTORS: + rows = self.page.locator(selector) + try: + count = rows.count() + except Exception: + continue + + row_texts = [] + for index in range(count): + row = rows.nth(index) + text = row.inner_text(timeout=3000).strip() + if text: + row_texts.append(text) + if row_texts: + return row_texts + return [] + + def get_result_contract_numbers(self) -> List[str]: + """ + 返回结果列表中的合同编号列文本。 + 若无法识别合同编号列,则返回空列表,由上层断言决定是否退化为行文本校验。 + """ + column_index = self._get_contract_no_column_index() + if column_index is None: + return [] + + for selector in self.TABLE_ROW_SELECTORS: + rows = self.page.locator(selector) + try: + row_count = rows.count() + except Exception: + continue + + contract_numbers = [] + for row_index in range(row_count): + row = rows.nth(row_index) + cells = row.locator("td") + if cells.count() > column_index: + contract_no = cells.nth(column_index).inner_text(timeout=3000).strip() + if contract_no: + contract_numbers.append(contract_no) + + if contract_numbers: + return contract_numbers + + return [] + + def is_empty_result(self) -> bool: + for selector in self.EMPTY_SELECTORS: + try: + if self.page.locator(selector).first.is_visible(timeout=2000): + return True + except Exception: + continue + return False + + @allure.step("断言列表仅展示合同编号模糊匹配:{contract_no_keyword}") + def assert_contract_no_fuzzy_match(self, contract_no_keyword: str): + """ + 优先按“合同编号”列断言; + 如因页面侦察缺失无法识别列,则退化为断言每行文本均包含查询关键字。 + """ + expect(self.page.locator("body")).to_be_visible() + + contract_numbers = self.get_result_contract_numbers() + if contract_numbers: + assert all(contract_no_keyword in item for item in contract_numbers), ( + f"存在合同编号不匹配查询条件:keyword={contract_no_keyword}, " + f"contract_numbers={contract_numbers}" + ) + return + + row_texts = self.get_result_rows_text() + if row_texts: + assert all(contract_no_keyword in row_text for row_text in row_texts), ( + f"无法识别合同编号列,已退化为行文本校验;存在行不包含查询条件:" + f"keyword={contract_no_keyword}, rows={row_texts}" + ) + return + + assert self.is_empty_result(), "查询后列表无数据且未识别到空数据提示,请检查表格 selector 或查询条件" diff --git a/zhyy/test_case/Resource/UI/login_page.py b/zhyy/test_case/Resource/UI/login_page.py new file mode 100644 index 0000000..08ff67d --- /dev/null +++ b/zhyy/test_case/Resource/UI/login_page.py @@ -0,0 +1,47 @@ +from playwright.sync_api import Page + +from zhyy.test_case.Resource.UI.base_page import BasePage + + +class LoginPage(BasePage): + """ + 登录页对象。 + + 注意: + 当前用例未提供登录页侦察结果,因此以下 selector 使用 TODO 占位。 + 落地执行前请通过页面侦察补充真实 selector。 + """ + + USERNAME_INPUT = "TODO_LOGIN_USERNAME_INPUT_SELECTOR" + PASSWORD_INPUT = "TODO_LOGIN_PASSWORD_INPUT_SELECTOR" + LOGIN_BUTTON = "TODO_LOGIN_BUTTON_SELECTOR" + + def __init__(self, page: Page): + super().__init__(page) + + def is_login_page(self) -> bool: + """ + 判断当前是否处于登录页。 + 由于缺少真实登录页 selector,这里通过 TODO selector 判断。 + 若系统已通过 SSO 或已有登录态直接进入业务页,可返回 False。 + """ + if "TODO" in self.USERNAME_INPUT: + # 未补充登录页定位时,不主动执行登录,避免误判。 + return False + + try: + return self.page.locator(self.USERNAME_INPUT).first.is_visible(timeout=3_000) + except Exception: + return False + + def login_if_needed(self, username: str, password: str): + """ + 如当前页面需要登录,则执行登录。 + """ + if not self.is_login_page(): + return + + self.fill(self.USERNAME_INPUT, username) + self.fill(self.PASSWORD_INPUT, password) + self.click(self.LOGIN_BUTTON) + self.wait_for_network_idle() diff --git a/zhyy/test_case/Resource/__init__.py b/zhyy/test_case/Resource/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/zhyy/test_case/TestCase/UI/test_TC_zhyy_ui_api_verify_001.py b/zhyy/test_case/TestCase/UI/test_TC_zhyy_ui_api_verify_001.py deleted file mode 100644 index 9dba19a..0000000 --- a/zhyy/test_case/TestCase/UI/test_TC_zhyy_ui_api_verify_001.py +++ /dev/null @@ -1,6 +0,0 @@ -# -*- coding:utf-8 -*- -import pytest - - -def test_tc_zhyy_ui_api_verify_001(): - assert "智慧运营"