生成日志 Python
生成日志 Python
我刚开始学习编程,我不明白为什么在我的测试用例完成后无法生成日志。\n这是生成日志的代码:\n
class LogGen: @staticmethod def loggen(): logging.basicConfig(filename=".\\Logs\\automation.log", format='%(asctime)s: %(levelname)s: %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p') logger = logging.getLogger() logger.setLevel(logging.INFO) return logger
\n这是我调用这个方法的代码:\n
from selenium import webdriver from pageObjects.storetest import store_test from utilities.readProperties import ReadConfig from selenium.webdriver.common.keys import Keys import time from utilities.customeLogger import LogGen class Test_001_learning: baseURL = ReadConfig.getApplicationURL() email = ReadConfig.getUseremail() password = ReadConfig.getPassword() logger = LogGen.loggen() PURCHASEPRICE = "100" DOWNPAYMENT = "10" HOMEINSURANCE = "10" PROPERTYTAXES = "10" HOADUES = "10" def test_store(self, setup): self.logger.info("********* Test_001_Learning ********") self.logger.info("********* LOggin test ********") self.driver = setup self.driver.get(self.baseURL) self.driver.get(self.baseURL) self.lp = store_test(self.driver) self.lp.setemail(self.email) self.lp.setpassword(self.password) self.lp.button1() title = self.driver.title if title == "Dashboard / nopCommerce administration": assert True self.logger.info("********* Test Pass ********") else: self.driver.save_screenshot(".\\Screenshots\\" + "test_calculator2.png") assert False self.lp.button2() self.driver.close()
\n但是测试用例完成后没有生成任何日志。\n提前感谢您的帮助!
问题的出现原因:
默认情况下,pytest会覆盖任何自定义的日志配置,以便捕获测试运行中发出的任何日志;这对于测试应用程序是否正确发出日志非常有用。可以通过关闭logging插件来禁用此功能。
问题的解决方法:
可以通过在命令行中使用pytest -p no:logging ...
命令来关闭日志记录功能,这样就不会捕获任何日志,并且会应用自己的日志配置。
另外,pytest还有一个很好的功能,即实时日志记录。启用此功能后,它将捕获日志并将其写入终端或文件。可以通过在pytest.ini
或pyproject.toml
中进行配置来替换LogGen。在测试中,只需使用根记录器,无需在代码中进行任何配置。
如果在使用pytest -p no:logging
命令时,所有的测试用例都开始运行,可以尝试添加其他参数,例如pytest -p no:logging -v -s testCases/test1learning.py
。
如果在命令行中执行命令时出现错误,请检查错误信息,可能是由于命令被错误地粘贴到代码中而导致的。应该在终端中执行命令,而不是在代码中粘贴。
如果仍然遇到问题,请检查错误信息,看看是否将命令粘贴到了customeLogger.py
代码中。在修复代码之前,该代码无法运行。
以上是关于"Generate Log Python"问题的原因和解决方法的总结。