From 6f08f3a70eae9268514078dc9a6a6fd8e3c2d523 Mon Sep 17 00:00:00 2001 From: JunHyung An Date: Thu, 21 Aug 2025 11:07:24 +0900 Subject: [PATCH 1/4] Prevent overwrite screenshots --- load_check.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/load_check.py b/load_check.py index ed7dc96..041bd03 100644 --- a/load_check.py +++ b/load_check.py @@ -6,6 +6,7 @@ import time import unittest import random import os +from datetime import datetime from selenium import webdriver from selenium.webdriver.common.by import By @@ -93,9 +94,20 @@ class MultipleTest(unittest.TestCase): # print("\n8. [선택] 스크린샷 저장 위치 (기본값: screenshots):") # self.screenshot_base_dir = input().strip() or "screenshots" - self.screenshot_base_dir = "screenshots" - if not os.path.exists(self.screenshot_base_dir): - os.makedirs(self.screenshot_base_dir) + # Check if the "screenshots" folder exists + self.screenshots_folder = "screenshots" + if os.path.exists(self.screenshots_folder): + + # Get the current date and time in YYMMDD_HHmm format + timestamp = datetime.now().strftime("%y%m%d_%H%M%S") + new_folder_name = f"{self.screenshots_folder}_{timestamp}" + + # Rename the existing folder + os.rename(self.screenshots_folder, new_folder_name) + + # Create a new "screenshots" folder and set the base directory for it + os.makedirs(self.screenshots_folder, exist_ok=True) + self.screenshot_base_dir = self.screenshots_folder def setUp(self): self._get_user_inputs() -- GitLab From 0cdb8b9e3d408bfb620a91ee98894b656c09ee08 Mon Sep 17 00:00:00 2001 From: JunHyung An Date: Thu, 21 Aug 2025 11:23:25 +0900 Subject: [PATCH 2/4] Make Screenshots_YYMMDD_HHmmss folder / do not need to check exist --- load_check.py | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/load_check.py b/load_check.py index 041bd03..6237741 100644 --- a/load_check.py +++ b/load_check.py @@ -92,20 +92,9 @@ class MultipleTest(unittest.TestCase): self.max_connections = 50 self.ramp_up_time = 30 * 60 - # print("\n8. [선택] 스크린샷 저장 위치 (기본값: screenshots):") - # self.screenshot_base_dir = input().strip() or "screenshots" - # Check if the "screenshots" folder exists - self.screenshots_folder = "screenshots" - if os.path.exists(self.screenshots_folder): - - # Get the current date and time in YYMMDD_HHmm format - timestamp = datetime.now().strftime("%y%m%d_%H%M%S") - new_folder_name = f"{self.screenshots_folder}_{timestamp}" - - # Rename the existing folder - os.rename(self.screenshots_folder, new_folder_name) - - # Create a new "screenshots" folder and set the base directory for it + # Make Screenshots_YYMMDD_HHmmss folder + timestamp = datetime.now().strftime("%y%m%d_%H%M%S") + self.screenshots_folder = f"Screenshots_{timestamp}" os.makedirs(self.screenshots_folder, exist_ok=True) self.screenshot_base_dir = self.screenshots_folder -- GitLab From 5bae6bf1392b2e58eaebc382bbf2feeb923b6a7d Mon Sep 17 00:00:00 2001 From: JunHyung An Date: Thu, 21 Aug 2025 11:31:06 +0900 Subject: [PATCH 3/4] Add .gitignore on all screenshots folder --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index f5c0499..78ec18e 100644 --- a/.gitignore +++ b/.gitignore @@ -226,4 +226,5 @@ chrome-mac-x64.zip chrome-win32.zip chrome-win64.zip -screenshots/ \ No newline at end of file +# Screenshots folder +Screenshots_* -- GitLab From e066c5a924cd58007bacff215c59ccfc72040cd2 Mon Sep 17 00:00:00 2001 From: JunHyung An Date: Thu, 21 Aug 2025 12:20:21 +0900 Subject: [PATCH 4/4] Check third module and second custom dashboard existed --- load_check.py | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/load_check.py b/load_check.py index 6237741..71388dd 100644 --- a/load_check.py +++ b/load_check.py @@ -213,20 +213,35 @@ class MultipleTest(unittest.TestCase): def _dashboard_actions(self, driver): """Performs actions on the Dashboard.""" + wait = WebDriverWait(driver, 3) driver.find_element(By.XPATH, "//div[@id='wrapper']/nav/ul/li[1]/a/div").click() + # Default dashbaord self._take_screenshot(driver, "dashboard_menu_click") driver.find_element(By.XPATH, "//div[@id='wrapper']/div/div/aside/div/div/div/div/article/div/div/div/div/div/div/div/div[2]/div/div/span[2]/span/span").click() - self._take_screenshot(driver, "dashboard_first_element_click") + time.sleep(1.5) + self._take_screenshot(driver, "dashboard_default_first_module_click") driver.find_element(By.XPATH, "//div[@id='wrapper']/div/div/aside/div/div/div/div/article/div/div/div/div/div/div/div/div[2]/div[2]/div/span[2]/span/span").click() - self._take_screenshot(driver, "dashboard_second_element_click") - driver.find_element(By.XPATH, "//div[@id='wrapper']/div/div/aside/div/div/div/div/article/div/div/div/div/div/div/div/div[2]/div[3]/div/span[2]/span/span").click() - self._take_screenshot(driver, "dashboard_third_element_click") + time.sleep(1.5) + self._take_screenshot(driver, "dashboard_default_second_module_click") + try: + wait.until(EC.element_to_be_clickable((By.XPATH, "//div[@id='wrapper']/div/div/aside/div/div/div/div/article/div/div/div/div/div/div/div/div[2]/div[3]/div/span[2]/span/span"))).click() + time.sleep(1.5) + self._take_screenshot(driver, "dashboard_default_third_module_click") + except (TimeoutException, NoSuchElementException): + print("There is no third modules") + + # Custom dashboard driver.find_element(By.XPATH, "//div[@id='wrapper']/div/div/aside/div/div/div/div/div[2]/label[2]/span/span").click() - self._take_screenshot(driver, "dashboard_fourth_element_click") + self._take_screenshot(driver, "dashboard_custom_dashbaord_menu_click") driver.find_element(By.XPATH, "//div[@id='wrapper']/div/div/aside/div/div/div/div/article/div/div[2]/div/div/div/div/div/div[2]/div/div/span[2]/span/span").click() - self._take_screenshot(driver, "dashboard_fifth_element_click") - driver.find_element(By.XPATH, "//div[@id='wrapper']/div/div/aside/div/div/div/div/article/div/div[2]/div/div/div/div/div/div[2]/div[2]/div/span[2]/span/span").click() - self._take_screenshot(driver, "dashboard_sixth_element_click") + time.sleep(20) + self._take_screenshot(driver, "dashboard_custom_first_dashboard_click") + try: + wait.until(EC.element_to_be_clickable((By.XPATH, "//div[@id='wrapper']/div/div/aside/div/div/div/div/article/div/div[2]/div/div/div/div/div/div[2]/div[2]/div/span[2]/span/span"))).click() + time.sleep(20) + self._take_screenshot(driver, "dashboard_custom_second_dashboard_click") + except (TimeoutException, NoSuchElementException): + print("There is no second custom dashboard") def _topology_map_actions(self, driver): """Performs actions on the Topology Map.""" -- GitLab