seldom
seldom copied to clipboard
【功能】建议可以增加若是测试报告发送成功,自动删除本地报告功能
因为脚本是放在Jenkins上执行,每次执行的产生的报告,积累需手动执行删除,建议加个可配置项,可选择报告发送成功,则自动删除
你可以在程序的最后,加上删除报告的操作:
import os
from seldom import BrowserConfig
if __name__ == '__main__':
seldom.main(debug=False)
# ...
# del 报告和日志...
os.remove(BrowserConfig.REPORT_PATH) # 报告文件路径
os.remove(BrowserConfig.LOG_PATH) # log文件
seldom 将会在下个版本提供一个参数 来实现发送完邮件自动删除。
总之,自己实现一下也不复杂。
Traceback (most recent call last): File "D:\auto\313-auto\run.py", line 38, in <module> os.remove(BrowserConfig.LOG_PATH) # log文件路径 PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。: 'D:\\auto\\313-auto\\reports\\2022_04_07_10_08_05_log.log'
谢谢解答。
有个问题,发送邮件后,log文件还在占用,程序还未运行结束,所以log文件无法正常访问进行删除。
你可以在程序的最后,加上删除报告的操作:
import os from seldom import BrowserConfig if __name__ == '__main__': seldom.main(debug=False) # ... # del 报告和日志... os.remove(BrowserConfig.REPORT_PATH) # 报告文件路径 os.remove(BrowserConfig.LOG_PATH) # log文件seldom 将会在下个版本提供一个参数 来实现发送完邮件自动删除。
总之,自己实现一下也不复杂。
我也删不掉,加了个remove才能删
def set_level(self, colorlog: bool = True, format: str = None, level: str = "TRACE"):
if format is None:
format = self._console_format
self.remove()
sys.stderr = io.StringIO()
self.add(sys.stderr, level=level, format=format)
self.add(self.stderr_bak, level=level, colorize=colorlog, format=format)
self.add(self.logfile, level=level, colorize=colorlog, format=self._log_format, encoding="utf-8")
self.remove()