From dd52b4f4d5fdebd167b051be351dae356eaf2d42 Mon Sep 17 00:00:00 2001 From: Akshay Bokade Date: Thu, 12 Mar 2026 18:11:42 +0530 Subject: [PATCH 1/2] Remove legacy run_tests.py test runner Delete run_tests.py which implemented a local daily test runner: cleaning up old Allure report folders, creating today's allure-results directory and environment.properties, running pytest to generate results, and serving the Allure report. Likely removed because test execution/reporting has been moved to CI or replaced by another tool. --- run_tests.py | 65 ---------------------------------------------------- 1 file changed, 65 deletions(-) delete mode 100644 run_tests.py diff --git a/run_tests.py b/run_tests.py deleted file mode 100644 index ca1e5e6..0000000 --- a/run_tests.py +++ /dev/null @@ -1,65 +0,0 @@ -import os -import shutil -import subprocess -import time -from datetime import datetime, timedelta -from pathlib import Path - - -def cleanup_old_reports(reports_root, days_to_keep=7): - if not reports_root.exists(): - print("๐Ÿ“‚ Reports root not found. Skipping cleanup.") - return - - cutoff_date = datetime.now() - timedelta(days=days_to_keep) - print(f"๐Ÿงน Checking for reports older than {cutoff_date.strftime('%Y-%m-%d')}...") - - # Categories: 'allure-results' and 'allure-report' - for category in ["allure-results", "allure-report"]: - category_path = reports_root / category - if not category_path.exists(): - continue - - for folder in category_path.iterdir(): - if folder.is_dir(): - try: - # Ensure we are parsing just the folder name (e.g., '2026-03-01') - folder_date = datetime.strptime(folder.name, "%Y-%m-%d") - - if folder_date < cutoff_date: - print(f" ๐Ÿ—‘๏ธ Deleting: {category}/{folder.name}") - shutil.rmtree(folder) - except ValueError: - # This folder isn't named 'YYYY-MM-DD', ignore it safely - continue - - -def run_daily_tests(): - # 1. Setup Paths - project_root = Path(__file__).parent - reports_root = project_root / "reports" - today = datetime.now().strftime("%Y-%m-%d") - - results_dir = reports_root / "allure-results" / today - results_dir.mkdir(parents=True, exist_ok=True) - - # 2. Run Cleanup - cleanup_old_reports(reports_root, days_to_keep=7) - - # 3. Add Environment Info (Allure Widget) - env_file = results_dir / "environment.properties" - with open(env_file, "w") as f: - f.write(f"Date={today}\nBrowser=Chrome\nPython_Version=3.10\n") - - # 4. Execute Pytest - print(f"๐Ÿš€ Running tests for {today}...") - pytest_cmd = ["pytest", "tests/", f"--alluredir={results_dir}"] - subprocess.run(pytest_cmd) - - # 5. Serve Report - print("๐Ÿ“Š Opening Allure Report...") - subprocess.run(["allure", "serve", str(results_dir)]) - - -if __name__ == "__main__": - run_daily_tests() \ No newline at end of file From 8039c27b9b43baab6e729d3879785aa152468a81 Mon Sep 17 00:00:00 2001 From: Akshay Bokade Date: Fri, 13 Mar 2026 14:18:26 +0530 Subject: [PATCH 2/2] Delete date_picker_page.py --- pages/date_picker_page.py | 79 --------------------------------------- 1 file changed, 79 deletions(-) delete mode 100644 pages/date_picker_page.py diff --git a/pages/date_picker_page.py b/pages/date_picker_page.py deleted file mode 100644 index 9d58c4d..0000000 --- a/pages/date_picker_page.py +++ /dev/null @@ -1,79 +0,0 @@ -from pages.base_page import BasePage -from selenium.webdriver.common.by import By -from selenium.webdriver.support.ui import Select -import time - - -class DatePickerPage(BasePage): - """ - Page Object for the Test Automation Practice blogspot page, - focusing on the date picker widgets. - """ - # --- Locators for Date Picker 1 --- - DATE_PICKER_INPUT = (By.ID, "datepicker") - CALENDAR_MONTH_DROPDOWN = (By.CLASS_NAME, "ui-datepicker-month") - CALENDAR_YEAR_DROPDOWN = (By.CLASS_NAME, "ui-datepicker-year") - - # This locator is dynamic. We will use .format() to insert the day number. - CALENDAR_DAY_LINK = (By.XPATH, "//a[text()='{}']") - - def __init__(self, driver): - super().__init__(driver) - - def select_date(self, target_date): - """ - Selects a specific date from the calendar widget. - - Args: - target_date (str): The date to select in "DD-Month-YYYY" format - (e.g., "15-August-2025"). - """ - self.logger.info(f"Attempting to select date: {target_date}") - - # 1. Split the target date into day, month, and year - try: - day, month, year = target_date.split('-') - except ValueError: - self.logger.error("Date format is incorrect. Please use 'DD-Month-YYYY'.") - raise - - # 2. Click the input field to open the calendar - self.click(self.DATE_PICKER_INPUT) - - # Give the calendar a moment to animate and become fully visible - time.sleep(1) - - # 3. Select the year from the dropdown - year_dropdown = self.wait_for_element(self.CALENDAR_YEAR_DROPDOWN) - if year_dropdown: - select_year = Select(year_dropdown) - select_year.select_by_visible_text(year) - self.logger.info(f"Selected year: {year}") - else: - self.logger.error("Could not find the Year dropdown.") - return - - # 4. Select the month from the dropdown - month_dropdown = self.wait_for_element(self.CALENDAR_MONTH_DROPDOWN) - if month_dropdown: - select_month = Select(month_dropdown) - select_month.select_by_visible_text(month) - self.logger.info(f"Selected month: {month}") - else: - self.logger.error("Could not find the Month dropdown.") - return - - # 5. Select the day by clicking the link with the correct text - day_locator = (self.CALENDAR_DAY_LINK[0], self.CALENDAR_DAY_LINK[1].format(day)) - self.click(day_locator) - self.logger.info(f"Selected day: {day}") - - def get_selected_date(self): - """ - Gets the currently selected date from the input field. - """ - # We need to get the 'value' attribute, not the text - date_input_element = self.wait_for_element(self.DATE_PICKER_INPUT) - if date_input_element: - return date_input_element.get_attribute("value") - return "" \ No newline at end of file