59 lines
1.8 KiB
Python
59 lines
1.8 KiB
Python
from selenium import webdriver
|
|
from selenium.webdriver.common.by import By
|
|
from selenium.webdriver.chrome.service import Service
|
|
from webdriver_manager.chrome import ChromeDriverManager
|
|
from selenium.webdriver.support.ui import WebDriverWait
|
|
from selenium.webdriver.support import expected_conditions as EC
|
|
from selenium.webdriver.common.keys import Keys
|
|
import time
|
|
import sys
|
|
import os
|
|
|
|
try:
|
|
from login import login_to_cms
|
|
print("✅ Successfully imported login_to_cms from login.py")
|
|
except ImportError as e:
|
|
print(f"❌ Failed to import login_to_cms: {e}")
|
|
sys.exit(1)
|
|
|
|
def test_system_parameters():
|
|
driver = None
|
|
try:
|
|
driver = login_to_cms()
|
|
print("✅ Logged in to CMS")
|
|
|
|
# Wait for sidebar to load
|
|
WebDriverWait(driver, 20).until(
|
|
EC.presence_of_element_located((By.CSS_SELECTOR, "li.ant-menu-item, li.ant-menu-submenu"))
|
|
)
|
|
print("✅ Sidebar loaded")
|
|
time.sleep(1)
|
|
|
|
# Click System Parameters menu item
|
|
system_parameters_link = WebDriverWait(driver, 10).until(
|
|
EC.element_to_be_clickable((By.XPATH, "//a[@href='/system-parameters']"))
|
|
)
|
|
system_parameters_link.click()
|
|
print("✅ Clicked 'System Parameters'")
|
|
time.sleep(2)
|
|
|
|
# Click Sync Data button
|
|
sync_button = WebDriverWait(driver, 10).until(
|
|
EC.element_to_be_clickable((By.XPATH, "//button[.//span[text()='Sync Data']]"))
|
|
)
|
|
sync_button.click()
|
|
print("✅ Clicked 'Sync Data' button")
|
|
time.sleep(2)
|
|
|
|
except Exception as e:
|
|
print(f"❌ Test failed: {e}")
|
|
finally:
|
|
if driver:
|
|
print("⏳ Waiting 10 seconds before closing browser...")
|
|
time.sleep(10)
|
|
driver.quit()
|
|
print("🧹 Browser closed")
|
|
|
|
if __name__ == "__main__":
|
|
test_system_parameters()
|