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

chore(tests): 更新测试配置与用例文件

- 修改新统一平台前后台系统浏览器初始化名称
- 更新预定系统标准版功能测试用例及配置文件路径- 删除预定系统ngrok配置文件
- 注释掉信息统计与账号管理模块的测试代码
- 添加标准版功能测试模块并实现预定功能测试逻辑
- 调整定时任务执行时间与报告URL前缀
-优化登录后等待时间逻辑,增加日志提示信息
- 设置标准输出编码为UTF-8以支持中文显示
上级 015b6f24
...@@ -8,7 +8,7 @@ from 新统一平台.Base.base import * ...@@ -8,7 +8,7 @@ from 新统一平台.Base.base import *
def suite_setup(): def suite_setup():
STEP(1, "初始化浏览器") STEP(1, "初始化浏览器")
browser_init("标准版新统一平台前台") browser_init("新统一平台前台")
def suite_teardown(): def suite_teardown():
browser_quit() browser_quit()
\ No newline at end of file
...@@ -10,7 +10,7 @@ sys.path.append(platform_path) ...@@ -10,7 +10,7 @@ sys.path.append(platform_path)
from 新统一平台.Base.base import * from 新统一平台.Base.base import *
# 构建XLSX文件的绝对路径 # 构建XLSX文件的绝对路径
xlsx_file_path = os.path.join(current_dir,'..', '测试数据', '会议预定测试用例.xlsx') xlsx_file_path = os.path.join(current_dir,'..', '测试数据', '新统一平台测试用例.xlsx')
class NewUnifiedPlatform: class NewUnifiedPlatform:
#执行指令: #执行指令:
......
...@@ -8,7 +8,7 @@ from 新统一平台.Base.base import * ...@@ -8,7 +8,7 @@ from 新统一平台.Base.base import *
def suite_setup(): def suite_setup():
STEP(1, "初始化浏览器") STEP(1, "初始化浏览器")
browser_init("标准版新统一平台后台") browser_init("新统一平台后台系统")
def suite_teardown(): def suite_teardown():
browser_quit() browser_quit()
\ No newline at end of file
...@@ -17,7 +17,7 @@ class NewUnifiedPlatform: ...@@ -17,7 +17,7 @@ class NewUnifiedPlatform:
# cd ./统一平台/ # cd ./统一平台/
# hytest --tag 新统一平台 # hytest --tag 新统一平台
tags = ['新统一平台后台系统'] tags = ['新统一平台后台系统']
ddt_cases = read_xlsx_data(xlsx_file_path, sheet_name="管理后台", case_type="标准版") ddt_cases = read_xlsx_data(xlsx_file_path, sheet_name="新统一管理后台", case_type="标准版")
def teststeps(self): def teststeps(self):
""" """
...@@ -29,8 +29,8 @@ class NewUnifiedPlatform: ...@@ -29,8 +29,8 @@ class NewUnifiedPlatform:
# 刷新页面 # 刷新页面
# wd.refresh() # wd.refresh()
wd.refresh() # wd.refresh()
sleep(5) # sleep(5)
for step in self.para: for step in self.para:
# 赋值页面类型page # 赋值页面类型page
...@@ -57,7 +57,11 @@ class NewUnifiedPlatform: ...@@ -57,7 +57,11 @@ class NewUnifiedPlatform:
if element_type == "click": if element_type == "click":
safe_click((locator_type, locator_value), wd) safe_click((locator_type, locator_value), wd)
sleep(5) if "登录" in step_name:
INFO("已经点击登录了,请耐心等待")
sleep(40)
else:
sleep(5)
SELENIUM_LOG_SCREEN(wd, "75") SELENIUM_LOG_SCREEN(wd, "75")
elif element_type == "input": elif element_type == "input":
......
import io
import schedule import schedule
import queue import queue
from Base.base import * from Base.base import *
...@@ -6,6 +7,10 @@ import logging ...@@ -6,6 +7,10 @@ import logging
import os import os
import sys import sys
# 设置标准输出编码为UTF-8
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8')
if getattr(sys, 'frozen', False): if getattr(sys, 'frozen', False):
base_dir = os.path.dirname(sys.executable) base_dir = os.path.dirname(sys.executable)
else: else:
...@@ -84,7 +89,7 @@ def start_workers(num_workers): ...@@ -84,7 +89,7 @@ def start_workers(num_workers):
start_workers(3) start_workers(3)
# 定时执行新统一平台标准版 # 定时执行新统一平台标准版
schedule.every().day.at("14:18").do(run_task, run_automation_test, report_title="新统一平台测试报告", report_url_prefix="http://nat.ubainsyun.com:31137", test_case="新统一平台后台系统", ding_type="标准版巡检") schedule.every().day.at("14:24").do(run_task, run_automation_test, report_title="新统一平台测试报告", report_url_prefix="http://nat.ubainsyun.com:31137", test_case="新统一平台后台系统", ding_type="标准版巡检")
try: try:
# 无限循环,持续检查并执行计划任务 # 无限循环,持续检查并执行计划任务
......
import sys # import sys
import os # import os
#
# 获取 Base 目录的绝对路径,并加入 sys.path # # 获取 Base 目录的绝对路径,并加入 sys.path
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..'))) # sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..')))
from 预定系统.Base.base import * # from 预定系统.Base.base import *
#
# 获取当前脚本所在的目录 # # 获取当前脚本所在的目录
current_dir = os.path.dirname(os.path.abspath(__file__)) # current_dir = os.path.dirname(os.path.abspath(__file__))
#
# 构建XLSX文件的绝对路径 # # 构建XLSX文件的绝对路径
xlsx_file_path = os.path.join(current_dir, '..', '..', '测试数据', '会议预定测试用例.xlsx') # xlsx_file_path = os.path.join(current_dir, '..', '..', '测试数据', '会议预定测试用例.xlsx')
#
class InformationStatistics: # class InformationStatistics:
tags = ['新-信息统计测试', 'JSON测试'] # tags = ['新-信息统计测试', 'JSON测试']
""" # """
执行指令是: # 执行指令是:
1.cd 预定系统 # 1.cd 预定系统
2.hytest --report_title 信息统计测试报告 --report_url_prefix http://nat.ubainsyun.com:31133 --tag 新-信息统计测试 # 2.hytest --report_title 信息统计测试报告 --report_url_prefix http://nat.ubainsyun.com:31133 --tag 新-信息统计测试
""" # """
ddt_cases = read_xlsx_data(xlsx_file_path, sheet_name='信息统计',case_type="标准版") # ddt_cases = read_xlsx_data(xlsx_file_path, sheet_name='信息统计',case_type="标准版")
# 测试开始前调用clear_columns_in_xlsx函数,将测试用例中的测试结果和日志截图置空 # # 测试开始前调用clear_columns_in_xlsx函数,将测试用例中的测试结果和日志截图置空
# clear_columns_in_xlsx(xlsx_file_path, sheet_name='信息统计', columns_to_clear=['测试结果', '测试频次', '日志截图']) # # clear_columns_in_xlsx(xlsx_file_path, sheet_name='信息统计', columns_to_clear=['测试结果', '测试频次', '日志截图'])
#
def teststeps(self): # def teststeps(self):
""" # """
执行测试步骤函数,主要用于执行读取的测试用例并进行信息统计模块功能测试操作 # 执行测试步骤函数,主要用于执行读取的测试用例并进行信息统计模块功能测试操作
""" # """
# 从全局存储中获取webdriver对象 # # 从全局存储中获取webdriver对象
wd = GSTORE['wd'] # wd = GSTORE['wd']
name = self.name # name = self.name
#
for step in self.para: # for step in self.para:
# 赋值页面page类型 # # 赋值页面page类型
page_type = step.get('page') # page_type = step.get('page')
# 赋值元素定位类型,并将字符串转为Enum类型 # # 赋值元素定位类型,并将字符串转为Enum类型
locator_type = get_by_enum(step.get('locator_type')) # locator_type = get_by_enum(step.get('locator_type'))
# 赋值元素值 # # 赋值元素值
locator_value = step.get('locator_value') # locator_value = step.get('locator_value')
# 赋值元素类型,例如:click点击、input输入框等 # # 赋值元素类型,例如:click点击、input输入框等
element_type = step.get('element_type') # element_type = step.get('element_type')
# 赋值元素值,例如输入框的输入值 # # 赋值元素值,例如输入框的输入值
element_value = step.get('element_value') # element_value = step.get('element_value')
# 赋值预期结果 # # 赋值预期结果
expected_result = step.get('expected_result') # expected_result = step.get('expected_result')
#
# 判断页面功能类型 # # 判断页面功能类型
if page_type == "ConferenceStatistics": # if page_type == "ConferenceStatistics":
if element_type == "click": # if element_type == "click":
safe_click((locator_type, locator_value), wd) # safe_click((locator_type, locator_value), wd)
sleep(1) # sleep(1)
SELENIUM_LOG_SCREEN(wd, "50") # SELENIUM_LOG_SCREEN(wd, "50")
elif element_type == "input": # elif element_type == "input":
safe_send_keys((locator_type, locator_value), element_value, wd) # safe_send_keys((locator_type, locator_value), element_value, wd)
\ No newline at end of file \ No newline at end of file
...@@ -19,8 +19,6 @@ class TokenManage: ...@@ -19,8 +19,6 @@ class TokenManage:
2.hytest --report_title 授权码管理测试报告 --report_url_prefix http://nat.ubainsyun.com:31133 --tag 新-授权码管理测试 2.hytest --report_title 授权码管理测试报告 --report_url_prefix http://nat.ubainsyun.com:31133 --tag 新-授权码管理测试
""" """
ddt_cases = read_xlsx_data(xlsx_file_path, sheet_name='授权码管理',case_type="标准版") ddt_cases = read_xlsx_data(xlsx_file_path, sheet_name='授权码管理',case_type="标准版")
# 测试开始前调用clear_columns_in_xlsx函数,将测试用例中的测试结果和日志截图置空
clear_columns_in_xlsx(xlsx_file_path, sheet_name='授权码管理', columns_to_clear=['测试结果', '测试频次', '日志截图'])
def teststeps(self): def teststeps(self):
""" """
......
import sys
import os
from hytest import *
# 获取 Base 目录的绝对路径,并加入 sys.path
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..')))
from 预定系统.Base.base import *
def suite_setup():
STEP(1, "初始化浏览器")
# 初始化浏览器与系统地址
browser_init("标准版预定系统")
# user_login("admin@Test", "Ubains@4321")
sleep(2)
wd = GSTORE['wd']
# # 进入后台模块
# safe_click((By.XPATH, "//img[@title='后台系统']"),wd)
# # 展开全局配置模块
# safe_click((By.XPATH, "//span[contains(text(),'授权码管理')]"), wd)
# sleep(1)
# # 进入全局配置界面
# safe_click((By.XPATH, "//li[contains(text(),'授权码管理')]"), wd)
def suite_teardown():
wd = GSTORE['wd']
wd.quit()
\ No newline at end of file
import sys
import os
# 获取 Base 目录的绝对路径,并加入 sys.path
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..')))
from 预定系统.Base.base import *
# 获取当前脚本所在的目录
current_dir = os.path.dirname(os.path.abspath(__file__))
# 构建XLSX文件的绝对路径
xlsx_file_path = os.path.join(current_dir, '..', '..', '测试数据', '会议预定测试用例.xlsx')
class MeetingManageTest:
tags = ['预定系统测试']
"""
执行指令是:
1.cd 预定系统
2.hytest --report_title 预定系统测试报告 --report_url_prefix http://nat.ubainsyun.com:31133 --tag 预定系统测试
"""
ddt_cases = read_xlsx_data(xlsx_file_path, case_type="标准版")
def teststeps(self):
"""
执行测试步骤函数,主要用于执行读取的测试用例并进行信息统计模块功能测试操作
"""
# 从全局存储中获取webdriver对象
wd = GSTORE['wd']
name = self.name
for step in self.para:
# 赋值页面类型page
page_type = step.get('page')
# 赋值元素定位类型,并将字符串转为Enum类型
locator_type = get_by_enum(step.get('locator_type'))
# 赋值元素值
locator_value = step.get('locator_value')
# 赋值元素类型,例如:click点击、input输入框等
element_type = step.get('element_type')
# 赋值元素值,例如输入框的输入值
element_value = step.get('element_value')
# 赋值预期结果
expected_result = step.get('expected_result')
# 赋值等待时间
# sleep_time = step.get('sleep_time')
INFO(
f"页面: {page_type}、元素定位类型: {locator_type}、元素定位值: {locator_value}、元素类型: {element_type}、元素值: {element_value}、预期结果: {expected_result}")
if element_type == "click":
safe_click((locator_type, locator_value), wd)
sleep(2)
SELENIUM_LOG_SCREEN(wd, "75")
elif element_type == "input":
safe_send_keys((locator_type, locator_value), element_value, wd)
sleep(2)
SELENIUM_LOG_SCREEN(wd, "75")
elif element_type == "SwitchWindow":
# 将字符转换为int类型
element_value = int(element_value)
wd.switch_to.window(wd.window_handles[element_value])
sleep(2)
SELENIUM_LOG_SCREEN(wd, "75")
elif element_type == "login":
# 退出系统登录
safe_click((By.XPATH, "//div[@class='quit']"), wd)
sleep(2)
INFO(f"开始登录,账号为:{element_value[0]},密码为:{element_value[1]}")
user_login(element_value[0], element_value[1])
sleep(2)
elif element_type == "getTips":
notify_text = get_notify_text(wd, (locator_type, locator_value))
INFO(f"获取到的提示信息为:{notify_text}")
sleep(2)
CHECK_POINT(f"获取到的提示信息为:{notify_text}", expected_result in notify_text)
SELENIUM_LOG_SCREEN(wd, "75")
elif element_type == "getText":
text = elment_get_text((locator_type, locator_value), wd)
INFO(f"获取到的文本信息为:{text}")
CHECK_POINT(f"获取到的文本信息为:{text}", expected_result in text)
SELENIUM_LOG_SCREEN(wd, "75")
\ No newline at end of file
import sys # import sys
import os # import os
#
# 获取 Base 目录的绝对路径,并加入 sys.path # # 获取 Base 目录的绝对路径,并加入 sys.path
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..'))) # sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..')))
from 预定系统.Base.base import * # from 预定系统.Base.base import *
#
# 获取当前脚本所在的目录 # # 获取当前脚本所在的目录
current_dir = os.path.dirname(os.path.abspath(__file__)) # current_dir = os.path.dirname(os.path.abspath(__file__))
#
# 构建XLSX文件的绝对路径 # # 构建XLSX文件的绝对路径
xlsx_file_path = os.path.join(current_dir, '..', '..', '测试数据', '会议预定测试用例.xlsx') # xlsx_file_path = os.path.join(current_dir, '..', '..', '测试数据', '会议预定测试用例.xlsx')
#
class AccountManagement: # class AccountManagement:
tags = ['新-账号管理测试', 'JSON测试'] # tags = ['新-账号管理测试', 'JSON测试']
""" # """
执行指令是: # 执行指令是:
1.cd 预定系统 # 1.cd 预定系统
2.hytest --report_title 账号管理测试报告 --report_url_prefix http://nat.ubainsyun.com:31133 --tag 新-账号管理测试 # 2.hytest --report_title 账号管理测试报告 --report_url_prefix http://nat.ubainsyun.com:31133 --tag 新-账号管理测试
""" # """
ddt_cases = read_xlsx_data(xlsx_file_path, sheet_name='账号管理',case_type="标准版") # ddt_cases = read_xlsx_data(xlsx_file_path, sheet_name='账号管理',case_type="标准版")
# 测试开始前调用clear_columns_in_xlsx函数,将测试用例中的测试结果和日志截图置空 # # 测试开始前调用clear_columns_in_xlsx函数,将测试用例中的测试结果和日志截图置空
# clear_columns_in_xlsx(xlsx_file_path, sheet_name='账号管理', columns_to_clear=['测试结果', '测试频次', '日志截图']) # # clear_columns_in_xlsx(xlsx_file_path, sheet_name='账号管理', columns_to_clear=['测试结果', '测试频次', '日志截图'])
#
def teststeps(self): # def teststeps(self):
""" # """
执行测试步骤函数,主要用于执行读取的测试用例并进行信息统计模块功能测试操作 # 执行测试步骤函数,主要用于执行读取的测试用例并进行信息统计模块功能测试操作
""" # """
# 从全局存储中获取webdriver对象 # # 从全局存储中获取webdriver对象
wd = GSTORE['wd'] # wd = GSTORE['wd']
name = self.name # name = self.name
#
for step in self.para: # for step in self.para:
# 赋值页面类型page # # 赋值页面类型page
page_type = step.get('page') # page_type = step.get('page')
# 赋值元素定位类型,并将字符串转为Enum类型 # # 赋值元素定位类型,并将字符串转为Enum类型
locator_type = get_by_enum(step.get('locator_type')) # locator_type = get_by_enum(step.get('locator_type'))
# 赋值元素值 # # 赋值元素值
locator_value = step.get('locator_value') # locator_value = step.get('locator_value')
# 赋值元素类型,例如:click点击、input输入框等 # # 赋值元素类型,例如:click点击、input输入框等
element_type = step.get('element_type') # element_type = step.get('element_type')
# 赋值元素值,例如输入框的输入值 # # 赋值元素值,例如输入框的输入值
element_value = step.get('element_value') # element_value = step.get('element_value')
# 赋值预期结果 # # 赋值预期结果
expected_result = step.get('expected_result') # expected_result = step.get('expected_result')
#
# 判断页面功能类型 # # 判断页面功能类型
if page_type == "CompanyManagement": # if page_type == "CompanyManagement":
if element_type == "click": # if element_type == "click":
safe_click((locator_type, locator_value), wd) # safe_click((locator_type, locator_value), wd)
sleep(2) # sleep(2)
elif element_type == "input": # elif element_type == "input":
safe_send_keys((locator_type, locator_value), element_value, wd) # safe_send_keys((locator_type, locator_value), element_value, wd)
sleep(2) # sleep(2)
elif element_type == "getTips": # elif element_type == "getTips":
notify_text = get_notify_text(wd, (locator_type, locator_value)) # notify_text = get_notify_text(wd, (locator_type, locator_value))
INFO(f"获取到的提示信息为:{notify_text}") # INFO(f"获取到的提示信息为:{notify_text}")
CHECK_POINT(f"获取到的提示信息为:{notify_text}", expected_result in notify_text) # CHECK_POINT(f"获取到的提示信息为:{notify_text}", expected_result in notify_text)
SELENIUM_LOG_SCREEN(wd, "50") # SELENIUM_LOG_SCREEN(wd, "50")
\ No newline at end of file \ No newline at end of file
{ {
"标准版预定系统": "https://192.168.5.235/#/login/logindf", "标准版预定系统": "https://192.168.5.48/#/login/logindf",
"展厅预定巡检": "http://192.168.5.200:8080/#/login/logindf", "展厅预定巡检": "http://192.168.5.200:8080/#/login/logindf",
"展厅预定系统后台巡检": "http://192.168.5.200:8080/backstage/#/login/logindf", "展厅预定系统后台巡检": "http://192.168.5.200:8080/backstage/#/login/logindf",
"展厅运维巡检": "http://192.168.5.200:8081/#/login", "展厅运维巡检": "http://192.168.5.200:8081/#/login",
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
server_addr: ngrok.ubsyun.com:9083
trust_host_root_certs: false
tunnels:
nat1:
proto:
tcp: 127.0.0.1:80
remote_port: 31135
ngrok -config=ngrok.cfg start nat1
\ No newline at end of file
server_addr: ngrok.ubsyun.com:9083
trust_host_root_certs: false
tunnels:
nat1:
proto:
tcp: 127.0.0.1:80
remote_port: 31133
ngrok -config=ngrok.cfg start nat1
\ No newline at end of file
...@@ -95,19 +95,19 @@ def start_workers(num_workers): ...@@ -95,19 +95,19 @@ def start_workers(num_workers):
start_workers(3) start_workers(3)
# 定时执行预定系统测试任务 # 定时执行预定系统测试任务
schedule.every().day.at("10:00").do(run_task, run_automation_test, report_title="预定系统测试报告", report_url_prefix="http://nat.ubainsyun.com:31133", test_case="JSON测试", ding_type="标准版巡检") schedule.every().day.at("10: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: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("07: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:45").do(run_task, run_automation_test, report_title="展厅巡检测试报告", report_url_prefix="http://nat.ubainsyun.com:31136", test_case="展厅巡检", ding_type="展厅巡检") # schedule.every().day.at("07:45").do(run_task, run_automation_test, report_title="展厅巡检测试报告", report_url_prefix="http://nat.ubainsyun.com:31134", test_case="展厅巡检", ding_type="展厅巡检")
schedule.every().monday.at("07:42").do(run_task, run_automation_test, report_title="展厅巡检测试报告", report_url_prefix="http://nat.ubainsyun.com:31133", test_case="展厅巡检", ding_type="展厅巡检") schedule.every().monday.at("07:42").do(run_task, run_automation_test, report_title="展厅巡检测试报告", report_url_prefix="http://nat.ubainsyun.com:31134", test_case="展厅巡检", ding_type="展厅巡检")
schedule.every().thursday.at("07:42").do(run_task, run_automation_test, report_title="展厅巡检测试报告", report_url_prefix="http://nat.ubainsyun.com:31133", test_case="展厅巡检", ding_type="展厅巡检") schedule.every().thursday.at("07:42").do(run_task, run_automation_test, report_title="展厅巡检测试报告", report_url_prefix="http://nat.ubainsyun.com:31134", test_case="展厅巡检", ding_type="展厅巡检")
schedule.every().wednesday.at("07:42").do(run_task, run_automation_test, report_title="展厅巡检测试报告", report_url_prefix="http://nat.ubainsyun.com:31133", test_case="展厅巡检", ding_type="展厅巡检") schedule.every().wednesday.at("07:42").do(run_task, run_automation_test, report_title="展厅巡检测试报告", report_url_prefix="http://nat.ubainsyun.com:31134", test_case="展厅巡检", ding_type="展厅巡检")
schedule.every().tuesday.at("07:42").do(run_task, run_automation_test, report_title="展厅巡检测试报告", report_url_prefix="http://nat.ubainsyun.com:31133", test_case="展厅巡检", ding_type="展厅巡检") schedule.every().tuesday.at("07:42").do(run_task, run_automation_test, report_title="展厅巡检测试报告", report_url_prefix="http://nat.ubainsyun.com:31134", test_case="展厅巡检", ding_type="展厅巡检")
schedule.every().friday.at("07:42").do(run_task, run_automation_test, report_title="展厅巡检测试报告", report_url_prefix="http://nat.ubainsyun.com:31133", test_case="展厅巡检", ding_type="展厅巡检") schedule.every().friday.at("07:42").do(run_task, run_automation_test, report_title="展厅巡检测试报告", report_url_prefix="http://nat.ubainsyun.com:31134", test_case="展厅巡检", ding_type="展厅巡检")
# schedule.every().saturday.at("07:42").do(run_task, run_automation_test, report_title="展厅巡检测试报告", report_url_prefix="http://nat.ubainsyun.com:31136", test_case="展厅巡检", ding_type="展厅巡检") # schedule.every().saturday.at("07:42").do(run_task, run_automation_test, report_title="展厅巡检测试报告", report_url_prefix="http://nat.ubainsyun.com:31134", test_case="展厅巡检", ding_type="展厅巡检")
# schedule.every().sunday.at("07:42").do(run_task, run_automation_test, report_title="展厅巡检测试报告", report_url_prefix="http://nat.ubainsyun.com:31136", test_case="展厅巡检", ding_type="展厅巡检") # schedule.every().sunday.at("07:42").do(run_task, run_automation_test, report_title="展厅巡检测试报告", report_url_prefix="http://nat.ubainsyun.com:31134", test_case="展厅巡检", ding_type="展厅巡检")
try: try:
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论