我对编码是新手,我不明白为什么在测试用例完成后不能生成日志
下面是生成日志的代码
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
下面是我调用此方法的代码:
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()
但是在测试用例完成后,不会生成任何日志
提前谢谢你
默认情况下,
pytest
使用自己的日志配置覆盖任何自定义日志配置,以便捕获测试运行中发出的任何日志;这对于测试应用程序是否正确发送日志非常有用。您可以通过关闭logging
插件来禁用此功能:现在不会捕获任何日志,并应用您自己的日志配置
备选方案:实时日志
然而,
pytest
还有一个整洁的特性live logging;启用时,它将捕获日志并将它们写入终端或文件或两者。因此,您可以使用在pytest.ini
或pyproject.toml
中完成的配置来替换LogGen
。以pyproject.toml
为例:在测试中,只需使用根记录器;无需在代码中配置任何内容:
无耻的自我提升:查看my other answer了解更多配置示例
相关问题 更多 >
编程相关推荐