提交 5e3b0a69 authored 作者: 陈泽健's avatar 陈泽健

优化browser_init初始化函数的传参方式以及系统环境判断处理。优化ngrok以及定时任务注解。

上级 769fb5c9
......@@ -48,12 +48,18 @@ logging.basicConfig(
# 配置日志
# logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
def browser_init(login_url):
def browser_init(login_type):
"""
初始化浏览器设置和实例。
此函数旨在创建并配置一个Chrome浏览器实例,包括设置Chrome选项以排除不必要的日志,
并尝试打开特定的登录页面。任何初始化过程中出现的错误都会被捕获并记录。
参数:
login_type (str): 指定登录类型,根据不同的登录类型选择不同的URL。
返回:
"""
# 标记初始化过程的开始
INFO("'----------' 正在初始化浏览器 '----------'")
......@@ -64,7 +70,9 @@ def browser_init(login_url):
options.add_experimental_option('excludeSwitches', ['enable-Logging'])
# 忽略证书错误,允许在本地主机上运行时不安全
options.add_argument('--ignore-certificate-errors')
# 禁用自动化控制特征检测,避免被网站识别为自动化流量
options.add_argument('--disable-blink-features=AutomationControlled')
# 允许不安全的本地主机运行,通常用于开发和测试环境
options.add_argument('--allow-insecure-localhost')
# 使用webdriver_manager自动下载并管理chromedriver
......@@ -72,6 +80,7 @@ def browser_init(login_url):
# 使用备用的ChromeDriver下载源
# service = Service(ChromeDriverManager().install())
# 手动指定ChromeDriver的路径
# 自动化运行服务器的chromedriver路径:C:\Program Files\Python310\Scripts\chromedriver.exe
service = Service(r'C:\Users\29194\AppData\Local\Programs\Python\Python310\Scripts\chromedriver.exe')
# 尝试创建WebDriver实例并执行初始化操作
try:
......@@ -80,13 +89,19 @@ def browser_init(login_url):
# 设置隐式等待时间为10秒,以允许元素加载
wd.implicitly_wait(60)
# 定义目标登录页面的URL
# login_test_url = 'https://192.168.5.218/#/login/logindf'
# login_ngrok_url = "https://nat.ubainsyun.com:11046"
# 展厅巡检环境
# login_exhibit_url = 'http://nat.ubainsyun.com:11060/#/login/logindf'
# 请求WebDriver打开登录页面
login_url = ""
# 判断初始化的系统类型
if login_type == "标准版":
login_url = 'https://192.168.5.235/#/login/lgindf'
elif login_type == "展厅预定巡检":
login_url = "http://192.168.5.200/#/login/logindf"
elif login_type == "展厅运维巡检":
login_url = "http://192.168.5.200:8081/#/login"
elif login_type == "展厅统一平台巡检":
login_url = "http://192.168.5.200:38083/#/login"
# 打开对应类型的登录页面
wd.get(login_url)
# 最大化浏览器窗口
wd.maximize_window()
......@@ -99,6 +114,7 @@ def browser_init(login_url):
# 捕获并记录初始化过程中的任何异常
logging.error(f"浏览器初始化失败:{e}")
def admin_login(username, password):
"""
管理员登录函数。
......
......@@ -174,3 +174,5 @@
- 调整日志记录器。
41. 2025-01-15
- 调整截图文件的缩放比,实现测试报告点击图片弹窗放大功能。
42. 2025-01-16
- 优化browser_init初始化函数的传参方式以及系统环境判断处理。优化ngrok以及定时任务注解。
\ No newline at end of file
......@@ -12,10 +12,8 @@ from 预定系统.Base.base import *
def suite_setup():
STEP(1, "初始化浏览器")
login_url = 'http://192.168.5.235:443/#/login/logindf'
# login_ngrok_url = "https://nat.ubainsyun.com:11046"
# login_url = 'http://192.168.5.200:8080/#/login/logindf'
browser_init(login_url)
# 传入系统类型,标准版 == 192.168.5.235
browser_init("标准版")
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
......
......@@ -12,10 +12,8 @@ from 预定系统.Base.base import *
def suite_setup():
STEP(1, "初始化浏览器")
login_url = 'http://192.168.5.235:443/#/login/logindf'
# login_ngrok_url = "https://nat.ubainsyun.com:11046"
# login_url = 'http://192.168.5.200:8080/#/login/logindf'
browser_init(login_url)
# 传入系统类型,标准版 == 192.168.5.235
browser_init("标准版")
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
......
......@@ -12,10 +12,8 @@ from 预定系统.Base.base import *
def suite_setup():
STEP(1, "初始化浏览器")
login_url = 'http://192.168.5.235:443/#/login/logindf'
# login_ngrok_url = "https://nat.ubainsyun.com:11046"
# login_url = 'http://192.168.5.200:8080/#/login/logindf'
browser_init(login_url)
# 传入系统类型,标准版 == 192.168.5.235
browser_init("标准版")
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
......
......@@ -12,10 +12,8 @@ from 预定系统.Base.base import *
def suite_setup():
STEP(1, "初始化浏览器")
login_url = 'http://192.168.5.235:443/#/login/logindf'
# login_ngrok_url = "https://nat.ubainsyun.com:11046"
# login_url = 'http://192.168.5.200:8080/#/login/logindf'
browser_init(login_url)
# 传入系统类型,标准版 == 192.168.5.235
browser_init("标准版")
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
......
......@@ -12,10 +12,8 @@ from 预定系统.Base.base import *
def suite_setup():
STEP(1, "初始化浏览器")
login_url = 'http://192.168.5.235:443/#/login/logindf'
# login_ngrok_url = "https://nat.ubainsyun.com:11046"
# login_url = 'http://192.168.5.200:8080/#/login/logindf'
browser_init(login_url)
# 传入系统类型,标准版 == 192.168.5.235
browser_init("标准版")
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
......
......@@ -12,10 +12,8 @@ from 预定系统.Base.base import *
def suite_setup():
STEP(1, "初始化浏览器")
login_url = 'http://192.168.5.235:443/#/login/logindf'
# login_ngrok_url = "https://nat.ubainsyun.com:11046"
# login_url = 'http://192.168.5.200:8080/#/login/logindf'
browser_init(login_url)
# 传入系统类型,标准版 == 192.168.5.235
browser_init("标准版")
wd = GSTORE['wd']
admin_login("admin@user", "Ubains@4321")
......
......@@ -18,10 +18,8 @@ except ModuleNotFoundError as e:
def suite_setup():
STEP(1, "初始化浏览器")
login_url = 'http://192.168.5.235:443/#/login/logindf'
# login_ngrok_url = "https://nat.ubainsyun.com:11046"
# login_url = 'http://192.168.5.200:8080/#/login/logindf'
browser_init(login_url)
# 传入系统类型,标准版 == 192.168.5.235
browser_init("标准版")
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
......
......@@ -18,10 +18,8 @@ except ModuleNotFoundError as e:
def suite_setup():
STEP(1, "初始化浏览器")
login_url = 'http://192.168.5.235:443/#/login/logindf'
# login_ngrok_url = "https://nat.ubainsyun.com:11046"
# login_url = 'http://192.168.5.200:8080/#/login/logindf'
browser_init(login_url)
# 传入系统类型,标准版 == 192.168.5.235
browser_init("标准版")
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
......
......@@ -18,10 +18,9 @@ except ModuleNotFoundError as e:
def suite_setup():
STEP(1, "初始化浏览器")
login_url = 'http://192.168.5.235:443/#/login/logindf'
# login_ngrok_url = "https://nat.ubainsyun.com:11046"
# login_url = 'http://192.168.5.200:8080/#/login/logindf'
browser_init(login_url)
# 传入系统类型,标准版 == 192.168.5.235
browser_init("标准版")
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
......
......@@ -12,10 +12,8 @@ from 预定系统.Base.base import *
def suite_setup():
STEP(1, "初始化浏览器")
login_url = 'http://192.168.5.235:443/#/login/logindf'
# login_ngrok_url = "https://nat.ubainsyun.com:11046"
# login_url = 'http://192.168.5.200:8080/#/login/logindf'
browser_init(login_url)
# 传入系统类型,标准版 == 192.168.5.235
browser_init("标准版")
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
......
......@@ -22,9 +22,9 @@ def suite_setup():
STEP(1, "初始化设备adb连接")
device_ip = '192.168.5.112'
app_init(device_ip)
login_url = "http://192.168.5.200:8080/#/login/logindf"
check_service_status("192.168.5.200", 8080)
browser_init(login_url)
# 传入系统类型,展厅预定巡检 == 192.168.5.200
browser_init("展厅预定巡检")
wd = GSTORE['wd']
def suite_teardown():
......
......@@ -18,9 +18,8 @@ except ModuleNotFoundError as e:
def suite_setup():
STEP(1, "初始化浏览器")
login_exhibit_url = 'http://192.168.5.200:8080/#/login/logindf'
login_exhibit_ngrok_url = 'http://nat.ubainsyun.com:11060/#/login/logindf'
browser_init(login_exhibit_url)
# 传入系统类型,展厅预定巡检 == 192.168.5.200
browser_init("展厅预定巡检")
wd = GSTORE['wd']
admin_login("Test02", "ubains@123")
......
......@@ -22,8 +22,8 @@ def suite_setup():
STEP(1, "初始化设备adb连接")
device_ip = '192.168.5.156'
app_init(device_ip)
login_url = "http://192.168.5.200:8080/#/login/logindf"
browser_init(login_url)
# 传入系统类型,展厅预定巡检 == 192.168.5.200
browser_init("展厅预定巡检")
wd = GSTORE['wd']
def suite_teardown():
......
......@@ -18,9 +18,8 @@ except ModuleNotFoundError as e:
def suite_setup():
STEP(1, "初始化浏览器")
login_exhibit_url = 'http://192.168.5.200:8080/#/login/logindf'
login_exhibit_ngrok_url = 'http://nat.ubainsyun.com:11060/#/login/logindf'
browser_init(login_exhibit_url)
# 传入系统类型,展厅预定巡检 == 192.168.5.200
browser_init("展厅预定巡检")
wd = GSTORE['wd']
admin_login("Test02", "ubains@123")
......
......@@ -22,8 +22,9 @@ def suite_setup():
STEP(1, "初始化设备adb连接")
device_ip = '192.168.5.142'
app_init(device_ip)
login_url = "http://192.168.5.200:8080/#/login/logindf"
browser_init(login_url)
# 传入系统类型,展厅预定巡检 == 192.168.5.200
browser_init("展厅预定巡检")
wd = GSTORE['wd']
def suite_teardown():
......
......@@ -18,9 +18,8 @@ except ModuleNotFoundError as e:
def suite_setup():
STEP(1, "初始化浏览器")
login_exhibit_url = 'http://192.168.5.200:8080/#/login/logindf'
login_exhibit_ngrok_url = 'http://nat.ubainsyun.com:11060/#/login/logindf'
browser_init(login_exhibit_url)
# 传入系统类型,展厅预定巡检 == 192.168.5.200
browser_init("展厅预定巡检")
wd = GSTORE['wd']
admin_login("Test02", "ubains@123")
......
......@@ -18,8 +18,8 @@ except ModuleNotFoundError as e:
def suite_setup():
STEP(1, "初始化浏览器")
login_exhibit_url = 'http://192.168.5.200:8081/#/login'
browser_init(login_exhibit_url)
# 传入系统类型,展厅运维巡检 == 192.168.5.200
browser_init("展厅运维巡检")
wd = GSTORE['wd']
STEP(2, "登录系统")
......
......@@ -18,8 +18,8 @@ except ModuleNotFoundError as e:
def suite_setup():
STEP(1, "初始化浏览器")
login_exhibit_url = 'http://192.168.5.200:38083/#/login'
browser_init(login_exhibit_url)
# 传入系统类型,展厅统一平台巡检 == 192.168.5.200
browser_init("展厅统一平台巡检")
wd = GSTORE['wd']
STEP(2, "登录系统")
......
......@@ -18,9 +18,8 @@ except ModuleNotFoundError as e:
def suite_setup():
STEP(1, "初始化浏览器")
login_exhibit_url = 'http://192.168.5.200:8080/#/login/logindf'
login_exhibit_ngrok_url = 'http://nat.ubainsyun.com:11060/#/login/logindf'
browser_init(login_exhibit_url)
# 传入系统类型,展厅预定巡检 == 192.168.5.200
browser_init("展厅预定巡检")
wd = GSTORE['wd']
admin_login("Test02", "ubains@123")
......
......@@ -18,9 +18,8 @@ except ModuleNotFoundError as e:
def suite_setup():
STEP(1, "初始化浏览器")
login_exhibit_url = 'http://192.168.5.200:8080/#/login/logindf'
login_exhibit_ngrok_url = 'http://nat.ubainsyun.com:11060/#/login/logindf'
browser_init(login_exhibit_url)
# 传入系统类型,展厅预定巡检 == 192.168.5.200
browser_init("展厅预定巡检")
wd = GSTORE['wd']
admin_login("Test02", "ubains@123")
......
......@@ -13,10 +13,8 @@ from 预定系统.Base.base import *
def suite_setup():
STEP(1, "初始化浏览器")
login_url = 'http://192.168.5.235:443/#/login/logindf'
# login_ngrok_url = "https://nat.ubainsyun.com:11046"
# login_url = 'http://192.168.5.200:8080/#/login/logindf'
browser_init(login_url)
# 传入系统类型,标准版 == 192.168.5.235
browser_init("标准版")
def suite_teardown():
wd = GSTORE['wd']
......
......@@ -13,10 +13,8 @@ from 预定系统.Base.base import *
def suite_setup():
STEP(1, "初始化浏览器")
login_url = 'http://192.168.5.235:443/#/login/logindf'
# login_ngrok_url = "https://nat.ubainsyun.com:11046"
# login_url = 'http://192.168.5.200:8080/#/login/logindf'
browser_init(login_url)
# 传入系统类型,标准版 == 192.168.5.235
browser_init("标准版")
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
......
......@@ -16,10 +16,8 @@ except ModuleNotFoundError as e:
def suite_setup():
STEP(1, "初始化浏览器")
login_url = 'http://192.168.5.235:443/#/login/logindf'
# login_ngrok_url = "https://nat.ubainsyun.com:11046"
# login_url = 'http://192.168.5.200:8080/#/login/logindf'
browser_init(login_url)
# 传入系统类型,标准版 == 192.168.5.235
browser_init("标准版")
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
......
......@@ -10,9 +10,8 @@ from 预定系统.Base.base import *
def suite_setup():
STEP(1, "初始化浏览器")
login_url = 'http://192.168.5.235:443/#/login/logindf'
# login_ngrok_url = "http://nat.ubainsyun.com:16345"
browser_init(login_url)
# 传入系统类型,标准版 == 192.168.5.235
browser_init("标准版")
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
......
server_addr: "ngrok.ubsyun.com:9083"
trust_host_root_certs: false
tunnels:
nat1:
remote_port: 31134
proto:
tcp: "192.168.5.88:81"
\ No newline at end of file
ngrok -config=ngrok.cfg start nat1
\ No newline at end of file
......@@ -15,14 +15,25 @@ logging.basicConfig(
)
"""
执行指令:
调试主机-执行指令:
1.打开一个终端输入:
- cd 预定系统
- python -m http.server 80 --directory reports
2.打开新终端输入:
- cd .\预定系统\ngrok\
- cd .\ngrok\ngrok-调试主机\
- .\start.bat
2.再打开一个终端输入:
3.再打开一个终端输入:
- cd .\预定系统\
- python .\定时执行功能测试.py
自动化运行虚拟机-执行指令:
1.打开一个终端输入:
- cd 预定系统
- python -m http.server 81 --directory reports
2.打开新终端输入:
- cd .\ngrok\ngrok-自动化运行虚拟机
- .\start.bat
3.再打开一个终端输入:
- cd .\预定系统\
- python .\定时执行功能测试.py
"""
......@@ -66,16 +77,12 @@ def start_workers(num_workers):
# 启动3个工作线程
start_workers(3)
# 定义每天定时执行的任务
# 每天早上07:50执行后台系统设置功能测试
# schedule.every().day.at("10:00").do(run_task, run_automation_test, report_title="预定系统_后台管理功能_测试报告", report_url_prefix="http://nat.ubainsyun.com:31133", test_case="预定系统功能", ding_type="标准版巡检")
# 定时执行预定系统测试任务
# schedule.every().day.at("09:00").do(run_task, run_automation_test, report_title="预定系统_后台管理功能_测试报告", report_url_prefix="http://nat.ubainsyun.com:31134", test_case="预定系统功能", ding_type="标准版巡检")
# 定时执行展厅巡检任务
schedule.every().day.at("07:50").do(run_task, run_automation_test, report_title="展厅巡检测试报告", report_url_prefix="http://nat.ubainsyun.com:31133", test_case="展厅巡检", ding_type="展厅巡检")
# schedule.every().day.at("08:25").do(run_task, run_automation_test, report_title="展厅巡检_腾讯终端入会测试报告", report_url_prefix="http://nat.ubainsyun.com:31133", test_case="展厅巡检_腾讯会议")
# schedule.every().day.at("08:30").do(run_task, run_automation_test, report_title="展厅巡检_无纸化查看议题测试报告", report_url_prefix="http://nat.ubainsyun.com:31133", test_case="展厅巡检_无纸化")
try:
# 无限循环,持续检查并执行计划任务
while True:
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论