提交 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,6 +57,10 @@ class NewUnifiedPlatform: ...@@ -57,6 +57,10 @@ class NewUnifiedPlatform:
if element_type == "click": if element_type == "click":
safe_click((locator_type, locator_value), wd) safe_click((locator_type, locator_value), wd)
if "登录" in step_name:
INFO("已经点击登录了,请耐心等待")
sleep(40)
else:
sleep(5) sleep(5)
SELENIUM_LOG_SCREEN(wd, "75") SELENIUM_LOG_SCREEN(wd, "75")
......
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",
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论