优化相关日志

This commit is contained in:
yanchunhuo 2021-09-26 18:24:49 +08:00
parent 37162bac47
commit 452996c9cc
7 changed files with 111 additions and 73 deletions

View File

@ -1,18 +1,26 @@
# 作者 yanchunhuo
# 创建时间 2018/01/19 22:36
# github https://github.com/yanchunhuo
from base.read_report_config import Read_Report_Config
from common.strTool import StrTool
from common.dateTimeTool import DateTimeTool
from common.network import Network
from common.strTool import StrTool
import multiprocessing
import subprocess
import platform
import subprocess
def generate_windows_reports(report_dir,port):
subprocess.check_output("start cmd.exe @cmd /c allure serve -p " + port + " " + report_dir, shell=True)
def generate_windows_reports(test_time, port):
generate_report_command='allure generate output/api/report_data -o output/api/report/api_report_%s'%(test_time)
subprocess.check_output(generate_report_command,shell=True)
open_report_command='start cmd.exe @cmd /c "allure open -p %s output/api/report/api_report_%s"'%(port,test_time)
subprocess.check_output(open_report_command,shell=True)
if __name__=='__main__':
if __name__ == '__main__':
report_config = Read_Report_Config().report_config
port = report_config.api_port
notice_title = 'API自动化测试报告'
test_time=DateTimeTool.getNowTime('%Y_%m_%d_%H_%M_%S_%f')
notice_markdown_text = '* API生成时间%s \n' % test_time
if 'Windows' == platform.system():
get_allure_process_id_command = 'netstat -ano|findstr "0.0.0.0:%s"' % port
try:
@ -23,12 +31,12 @@ if __name__=='__main__':
try:
subprocess.check_call(kill_allure_process_command, shell=True)
except:
print('关闭allure进程,进程id:' + get_allure_process_id + ',该进程监听已监听端口:' + port)
print('%s关闭allure进程,进程id:%s,该进程监听已监听端口:%s'%(DateTimeTool.getNowTime(),get_allure_process_id,port))
except:
print('allure未查找到监听端口%s的服务' % port)
print('生成报告,使用端口' + port)
print('报告地址:http://%s:%s/' % (Network.get_local_ip(), port))
process=multiprocessing.Process(target=generate_windows_reports,args=('output/api/',port))
print('%sallure未查找到监听端口%s的服务' % (DateTimeTool.getNowTime(),port))
print('%s生成报告,使用端口%s'%(DateTimeTool.getNowTime(),port))
print('%s报告地址:http://%s:%s/' % (DateTimeTool.getNowTime(),Network.get_local_ip(), port))
process = multiprocessing.Process(target=generate_windows_reports, args=(test_time, port))
process.start()
process.join()
else:
@ -51,11 +59,13 @@ if __name__=='__main__':
allure_process_id = allure_process_id.strip()
port_process_id = port_process_id.strip()
if allure_process_id == port_process_id and not is_find and allure_process_id and port_process_id:
print('关闭allure进程,进程id:' + allure_process_id.strip() + ',该进程监听已监听端口:' + port)
print('%s关闭allure进程,进程id:%s,该进程监听已监听端口:%s'%(DateTimeTool.getNowTime(),allure_process_id.strip(),port))
subprocess.check_output("kill -9 " + allure_process_id.strip(), shell=True)
is_find = True
break
print('生成报告,使用端口' + port)
print('报告地址:http://%s:%s/' % (Network.get_local_ip(), port))
subprocess.check_output("nohup allure serve -p " + port + " output/api/ >logs/generate_api_test_report.log 2>&1 &",shell=True)
print('%s生成报告,使用端口%s'%(DateTimeTool.getNowTime(),port))
print('%s报告地址:http://%s:%s/' % (DateTimeTool.getNowTime(),Network.get_local_ip(), port))
generate_report_command='allure generate output/api/report_data -o output/api/report/api_report_%s'%(test_time)
subprocess.check_output(generate_report_command,shell=True)
open_report_command='nohup allure open -p %s output/api/report/api_report_%s 2>&1 &'%(port,test_time)
subprocess.check_output(open_report_command,shell=True)

View File

@ -1,24 +1,33 @@
#-*- coding:utf8 -*-
# 作者 yanchunhuo
# 创建时间 2018/01/19 22:36
# github https://github.com/yanchunhuo
from base.read_report_config import Read_Report_Config
from common.custom_multiprocessing import Custom_Pool
from common.dateTimeTool import DateTimeTool
from common.network import Network
from common.strTool import StrTool
import os
import subprocess
import platform
import subprocess
def generate_windows_reports(report_dir,port):
subprocess.check_output("start cmd.exe @cmd /c allure serve -p " + port + " " + report_dir, shell=True)
if __name__=='__main__':
def generate_windows_reports(report_dir,test_time,port):
generate_report_command='allure generate %s/report_data -o %s/report/app_ui_report_%s'%(report_dir,report_dir,test_time)
subprocess.check_output(generate_report_command,shell=True)
open_report_command='start cmd.exe @cmd /c "allure open -p %s %s/report/app_ui_report_%s"'%(port,report_dir,test_time)
subprocess.check_output(open_report_command,shell=True)
if __name__ == '__main__':
report_config = Read_Report_Config().report_config
start_port = report_config.app_ui_start_port
notice_title = 'APP UI自动化测试报告'
test_time=DateTimeTool.getNowTime('%Y_%m_%d_%H_%M_%S_%f')
notice_markdown_text = '* APP UI生成时间%s \n' % test_time
report_dirs = []
devices_dirs = os.listdir('output/app_ui/')
for device_dir in devices_dirs:
for report_dir in os.listdir('output/app_ui/'+device_dir):
for report_dir in os.listdir('output/app_ui/' + device_dir):
report_dirs.append('output/app_ui/' + device_dir + '/' + report_dir)
if 'Windows' == platform.system():
@ -28,19 +37,19 @@ if __name__=='__main__':
port = str(int(start_port) + i)
get_allure_process_id_command = 'netstat -ano|findstr "0.0.0.0:%s"' % port
try:
get_allure_process_id=subprocess.check_output(get_allure_process_id_command, shell=True)
get_allure_process_id=get_allure_process_id.decode('utf-8')
get_allure_process_id=StrTool.getStringWithLBRB(get_allure_process_id, 'LISTENING', '\r\n').strip()
kill_allure_process_command='taskkill /F /pid %s'%get_allure_process_id
get_allure_process_id = subprocess.check_output(get_allure_process_id_command, shell=True)
get_allure_process_id = get_allure_process_id.decode('utf-8')
get_allure_process_id = StrTool.getStringWithLBRB(get_allure_process_id, 'LISTENING', '\r\n').strip()
kill_allure_process_command = 'taskkill /F /pid %s' % get_allure_process_id
try:
subprocess.check_call(kill_allure_process_command,shell=True)
subprocess.check_call(kill_allure_process_command, shell=True)
except:
print('关闭allure进程,进程id:' + get_allure_process_id + ',该进程监听已监听端口:' + port)
print('%s关闭allure进程,进程id:%s,该进程监听已监听端口:%s'%(DateTimeTool.getNowTime(),get_allure_process_id,port))
except:
print('allure未查找到监听端口%s的服务' % port)
print('生成报告' + report_dirs[i] + ',使用端口' + port)
print('报告地址:http://%s:%s/' % (Network.get_local_ip(), port))
p = p_pool.apply_async(generate_windows_reports,(report_dirs[i],port))
print('%sallure未查找到监听端口%s的服务' %(DateTimeTool.getNowTime(),port))
print('%s生成报告%s/report/app_ui_report_%s,使用端口%s'%(DateTimeTool.getNowTime(),report_dirs[i],test_time,port))
print('%s报告地址:http://%s:%s/' % (DateTimeTool.getNowTime(),Network.get_local_ip(), port))
p = p_pool.apply_async(generate_windows_reports, (report_dirs[i],test_time,port))
p_pool.close()
p_pool.join()
else:
@ -51,7 +60,7 @@ if __name__=='__main__':
allure_process_ids = allure_process_ids.split('\n')
for i in range(len(report_dirs)):
port=str(int(start_port)+i)
port = str(int(start_port) + i)
# 获得当前监听port端口的进程id
get_port_process_ids_command = "netstat -anp|grep -i " + port + "|grep -v grep|awk '{print $7}'|awk -F '/' '{print $1}'"
port_process_ids = subprocess.check_output(get_port_process_ids_command, shell=True)
@ -65,11 +74,13 @@ if __name__=='__main__':
allure_process_id = allure_process_id.strip()
port_process_id = port_process_id.strip()
if allure_process_id == port_process_id and not is_find and allure_process_id and port_process_id:
print('关闭allure进程,进程id:' + allure_process_id.strip() + ',该进程监听已监听端口:' + port)
print('%s关闭allure进程,进程id:%s,该进程监听已监听端口:%s'%(DateTimeTool.getNowTime(),allure_process_id.strip(),port))
subprocess.check_output("kill -9 " + allure_process_id.strip(), shell=True)
is_find = True
break
print('生成报告'+report_dirs[i]+',使用端口' + port)
print('报告地址:http://%s:%s/' % (Network.get_local_ip(), port))
subprocess.check_output("nohup allure serve -p " + port + " "+report_dirs[i]+" >>logs/generate_app_ui_test.log 2>&1 &",shell=True)
print('%s生成报告%s/report/app_ui_report_%s,使用端口%s'%(DateTimeTool.getNowTime(),report_dirs[i],test_time,port))
print('%s报告地址:http://%s:%s/' % (DateTimeTool.getNowTime(),Network.get_local_ip(), port))
generate_report_command='allure generate %s/report_data -o %s/report/app_ui_report_%s'%(report_dirs[i],test_time)
subprocess.check_output(generate_report_command,shell=True)
open_report_command='nohup allure open -p %s %s/report/app_ui_report_%s 2>&1 &'%(port,report_dirs[i],test_time)
subprocess.check_output(open_report_command,shell=True)

View File

@ -1,21 +1,29 @@
#-*- coding:utf8 -*-
# 作者 yanchunhuo
# 创建时间 2018/01/19 22:36
# github https://github.com/yanchunhuo
from base.read_report_config import Read_Report_Config
from common.custom_multiprocessing import Custom_Pool
from common.network import Network
from common.strTool import StrTool
from common.custom_multiprocessing import Custom_Pool
from common.dateTimeTool import DateTimeTool
from common.network import Network
import platform
import subprocess
def generate_windows_reports(report_dir,port):
subprocess.check_output("start cmd.exe @cmd /c allure serve -p " + port + " " + report_dir, shell=True)
def generate_windows_reports(report_dir,test_time,port):
generate_report_command='allure generate %s/report_data -o %s/report/web_ui_report_%s'%(report_dir,report_dir,test_time)
subprocess.check_output(generate_report_command,shell=True)
open_report_command='start cmd.exe @cmd /c "allure open -p %s %s/report/web_ui_report_%s"'%(port,report_dir,test_time)
subprocess.check_output(open_report_command,shell=True)
if __name__=='__main__':
report_config = Read_Report_Config().report_config
ieport=report_config.web_ui_ie_port
chromeport=report_config.web_ui_chrome_port
firefoxport=report_config.web_ui_firefox_port
notice_title='WEB UI自动化测试报告'
test_time=DateTimeTool.getNowTime('%Y_%m_%d_%H_%M_%S_%f')
notice_markdown_text='* WEB UI生成时间%s \n'%test_time
if 'Windows' == platform.system():
# 初始化进程池
p_pool = Custom_Pool(3)
@ -30,12 +38,12 @@ if __name__=='__main__':
try:
subprocess.check_call(kill_allure_process_command,shell=True)
except:
print('关闭allure进程,进程id:' + get_allure_process_id + ',该进程监听已监听端口:' + ieport)
print('%s关闭allure进程,进程id:%s,该进程监听已监听端口:%s'%(DateTimeTool.getNowTime(),get_allure_process_id,ieport))
except:
print('allure未查找到监听端口%s的服务' % ieport)
print('生成ie报告,使用端口' + ieport)
print('ie报告地址:http://%s:%s/' % (Network.get_local_ip(), ieport))
p = p_pool.apply_async(generate_windows_reports,('output/web_ui/ie',ieport))
print('%sallure未查找到监听端口%s的服务' % (DateTimeTool.getNowTime(),ieport))
print('%s生成ie报告,使用端口%s'%(DateTimeTool.getNowTime(),ieport))
print('%sie报告地址:http://%s:%s/' % (DateTimeTool.getNowTime(),Network.get_local_ip(), ieport))
p = p_pool.apply_async(generate_windows_reports,('output/web_ui/ie',test_time,ieport))
if chromeport:
# 获得当前监听chrome端口的进程id
get_chromeport_process_id_command = 'netstat -ano|findstr "0.0.0.0:%s"' % chromeport
@ -47,12 +55,12 @@ if __name__=='__main__':
try:
subprocess.check_call(kill_allure_process_command,shell=True)
except:
print('关闭allure进程,进程id:' + get_allure_process_id + ',该进程监听已监听端口:' + chromeport)
print('%s关闭allure进程,进程id:%s,该进程监听已监听端口:%s'%(DateTimeTool.getNowTime(),get_allure_process_id,chromeport))
except:
print('allure未查找到监听端口%s的服务' % chromeport)
print('生成chrome报告,使用端口' + chromeport)
print('chrome报告地址:http://%s:%s/' % (Network.get_local_ip(), chromeport))
p = p_pool.apply_async(generate_windows_reports,('output/web_ui/chrome',chromeport))
print('%sallure未查找到监听端口%s的服务' % (DateTimeTool.getNowTime(),chromeport))
print('%s生成chrome报告,使用端口%s'%(DateTimeTool.getNowTime(),chromeport))
print('%schrome报告地址:http://%s:%s/' % (DateTimeTool.getNowTime(),Network.get_local_ip(), chromeport))
p = p_pool.apply_async(generate_windows_reports,('output/web_ui/chrome',test_time,chromeport))
if firefoxport:
# 获得当前监听ie端口的进程id
get_firefoxport_process_id_command = 'netstat -ano|findstr "0.0.0.0:%s"' % firefoxport
@ -64,12 +72,12 @@ if __name__=='__main__':
try:
subprocess.check_call(kill_allure_process_command,shell=True)
except:
print('关闭allure进程,进程id:' + get_allure_process_id + ',该进程监听已监听端口:' + firefoxport)
print('%s关闭allure进程,进程id:%s,该进程监听已监听端口:%s'%(DateTimeTool.getNowTime(),get_allure_process_id,firefoxport))
except:
print('allure未查找到监听端口%s的服务' % firefoxport)
print('生成firefox报告,使用端口' + firefoxport)
print('firefox报告地址:http://%s:%s/' % (Network.get_local_ip(), firefoxport))
p = p_pool.apply_async(generate_windows_reports,('output/web_ui/firefox',firefoxport))
print('%sallure未查找到监听端口%s的服务' % (DateTimeTool.getNowTime(),firefoxport))
print('%s生成firefox报告,使用端口%s'%(DateTimeTool.getNowTime(),firefoxport))
print('%sfirefox报告地址:http://%s:%s/' % (DateTimeTool.getNowTime(),Network.get_local_ip(), firefoxport))
p = p_pool.apply_async(generate_windows_reports,('output/web_ui/firefox',test_time,firefoxport))
p_pool.close()
p_pool.join()
else:
@ -92,13 +100,16 @@ if __name__=='__main__':
allure_process_id = allure_process_id.strip()
ieport_process_id = ieport_process_id.strip()
if allure_process_id == ieport_process_id and not is_find and allure_process_id and ieport_process_id:
print('关闭allure进程,进程id:' + allure_process_id.strip() + ',该进程监听已监听端口:' + ieport)
print('%s关闭allure进程,进程id:%s,该进程监听已监听端口:%s'%(DateTimeTool.getNowTime(),allure_process_id.strip(),ieport))
subprocess.check_output("kill -9 " + allure_process_id.strip(), shell=True)
is_find =True
break
print('生成ie报告,使用端口'+ieport)
print('ie报告地址:http://%s:%s/' % (Network.get_local_ip(), ieport))
subprocess.check_output("nohup allure serve -p " + ieport + " output/web_ui/ie >logs/ie_generate_web_ui_test_report.log 2>&1 &",shell=True)
print('%s生成ie报告,使用端口%s'%(DateTimeTool.getNowTime(),ieport))
print('%sie报告地址:http://%s:%s/' % (DateTimeTool.getNowTime(),Network.get_local_ip(), ieport))
generate_report_command='allure generate output/web_ui/ie/report_data -o output/web_ui/ie/report/web_ui_report_%s'%(test_time)
subprocess.check_output(generate_report_command,shell=True)
open_report_command='nohup allure open -p %s output/web_ui/ie/report/web_ui_report_%s 2>&1 &'%(ieport,test_time)
subprocess.check_output(open_report_command,shell=True)
if chromeport:
# 获得当前监听chrome端口的进程id
get_chromeport_process_ids_command = "netstat -anp|grep -i " + chromeport + "|grep -v grep|awk '{print $7}'|awk -F '/' '{print $1}'"
@ -113,13 +124,16 @@ if __name__=='__main__':
allure_process_id = allure_process_id.strip()
chromeport_process_id = chromeport_process_id.strip()
if allure_process_id == chromeport_process_id and not is_find and allure_process_id and chromeport_process_id:
print('关闭allure进程,进程id:' + allure_process_id.strip() + ',该进程监听已监听端口:' + chromeport)
print('%s关闭allure进程,进程id:%s,该进程监听已监听端口:%s'%(DateTimeTool.getNowTime(),allure_process_id.strip(),chromeport))
subprocess.check_output("kill -9 " + allure_process_id.strip(), shell=True)
is_find = True
break
print('生成chrome报告,使用端口' + chromeport)
print('chromeport报告地址:http://%s:%s/' % (Network.get_local_ip(), chromeport))
subprocess.check_output("nohup allure serve -p " + chromeport + " output/web_ui/chrome >logs/chrome_generate_web_ui_test_report.log 2>&1 &",shell=True)
print('%s生成chrome报告,使用端口%s'%(DateTimeTool.getNowTime(),chromeport))
print('%schromeport报告地址:http://%s:%s/' % (DateTimeTool.getNowTime(),Network.get_local_ip(), chromeport))
generate_report_command='allure generate output/web_ui/chrome/report_data -o output/web_ui/chrome/report/web_ui_report_%s'%(test_time)
subprocess.check_output(generate_report_command,shell=True)
open_report_command='nohup allure open -p %s output/web_ui/chrome/report/web_ui_report_%s 2>&1 &'%(chromeport,test_time)
subprocess.check_output(open_report_command,shell=True)
if firefoxport:
# 获得当前监听firefox端口的进程id
get_firefoxport_process_ids_command = "netstat -anp|grep -i " + firefoxport + "|grep -v grep|awk '{print $7}'|awk -F '/' '{print $1}'"
@ -134,10 +148,13 @@ if __name__=='__main__':
allure_process_id = allure_process_id.strip()
firefoxport_process_id = firefoxport_process_id.strip()
if allure_process_id == firefoxport_process_id and not is_find and allure_process_id and firefoxport_process_id:
print('关闭allure进程,进程id:'+allure_process_id.strip()+',该进程监听已监听端口:'+firefoxport)
print('%s关闭allure进程,进程id:%s,该进程监听已监听端口:%s'%(DateTimeTool.getNowTime(),allure_process_id.strip(),firefoxport))
subprocess.check_output("kill -9 " + allure_process_id, shell=True)
is_find = True
break
print('生成firefox报告,使用端口' + firefoxport)
print('firefoxport报告地址:http://%s:%s/' % (Network.get_local_ip(), firefoxport))
subprocess.check_output("nohup allure serve -p " + firefoxport + " output/web_ui/firefox >logs/firefox_generate_web_ui_test_report.log 2>&1 &",shell=True)
print('%s生成firefox报告,使用端口%s'%(DateTimeTool.getNowTime(),firefoxport))
print('%sfirefoxport报告地址:http://%s:%s/' % (DateTimeTool.getNowTime(),Network.get_local_ip(), firefoxport))
generate_report_command='allure generate output/web_ui/firefox/report_data -o output/web_ui/firefox/report/web_ui_report_%s'%(test_time)
subprocess.check_output(generate_report_command,shell=True)
open_report_command='nohup allure open -p %s output/web_ui/firefox/report/web_ui_report_%s 2>&1 &'%(firefoxport,test_time)
subprocess.check_output(open_report_command,shell=True)

View File

@ -34,7 +34,7 @@ if __name__=='__main__':
print('%s初始化完成......'%DateTimeTool.getNowTime())
# 执行pytest前的参数准备
pytest_execute_params=['-c', 'config/pytest.ini', '-v', '--alluredir', 'output/api/']
pytest_execute_params=['-c', 'config/pytest.ini', '-v', '--alluredir', 'output/api/report_data/']
# 判断目录参数
dir = 'cases/api/'
if args.dir:

View File

@ -3,7 +3,7 @@
# @author yanchunhuo
# @description
# @created 2021-05-20T17:15:52.185Z+08:00
# @last-modified 2021-05-20T18:04:37.466Z+08:00
# @last-modified 2021-09-26T18:22:40.222Z+08:00
# github https://github.com/yanchunhuo
from common.dateTimeTool import DateTimeTool
from common.pytest import deal_pytest_ini_file
@ -25,7 +25,7 @@ if __name__=='__main__':
deal_pytest_ini_file()
# 执行pytest前的参数准备
pytest_execute_params=['-c', 'config/pytest.ini', '-v', '--alluredir', 'output/app_ui_monkey/']
pytest_execute_params=['-c', 'config/pytest.ini', '-v', '--alluredir', 'output/app_ui_monkey/report_data/']
# 判断目录参数
dir = 'cases/app_ui_monkey/'
if args.dir:

View File

@ -55,7 +55,7 @@ def start_app_device_test(index,device_info,keyword,dir,markexpr,capture,reruns,
desired_capabilities_desc = desired_capabilities['bundleId']
print('%s当前设备开始测试的desired_capabilities为:%s'%(DateTimeTool.getNowTime(),desired_capabilities))
# 执行pytest前的参数准备
pytest_execute_params = ['-c', 'config/pytest.ini', '-v', '--alluredir', 'output/app_ui/'+device_info['device_desc']+'/'+desired_capabilities_desc]
pytest_execute_params = ['-c', 'config/pytest.ini', '-v', '--alluredir', 'output/app_ui/%s/%s/report_data/'%(device_info['device_desc'],desired_capabilities_desc)]
# 判断目录参数
if not dir:
dir = 'cases/app_ui/'
@ -148,7 +148,7 @@ if __name__=='__main__':
p_pool.join()
else:
# 执行pytest前的参数准备
pytest_execute_params = ['-c', 'config/pytest.ini', '-v', '--alluredir', 'output/app_ui/windows']
pytest_execute_params = ['-c', 'config/pytest.ini', '-v', '--alluredir', 'output/app_ui/windows/report_data/']
# 判断目录参数
if not dir:
dir = 'cases/app_ui/'

View File

@ -60,7 +60,7 @@ if __name__=='__main__':
FileTool.replaceFileContent('config/web_ui_config.conf','\r\n','\n')
FileTool.replaceFileContentWithLBRB('config/web_ui_config.conf','='+current_browser,'current_browser','\n')
# 执行pytest前的参数准备
pytest_execute_params=['-c', 'config/pytest.ini', '-v', '--alluredir', 'output/web_ui/'+current_browser+'/','-n',Read_WEB_UI_Config().web_ui_config.test_workers,'--dist','loadfile']
pytest_execute_params=['-c', 'config/pytest.ini', '-v', '--alluredir', 'output/web_ui/'+current_browser+'/report_data/','-n',Read_WEB_UI_Config().web_ui_config.test_workers,'--dist','loadfile']
# 判断目录参数
dir = 'cases/web_ui/'
if args.dir: