First we need to configure the class for log4j and report methods under the utilities package.
The methods under this class helps us to get the logs and report for test cases status whenever it is failed or Pass.
Now, Under the package utilities create a class as “Customlogger.py” and create two methods as customLogger and allureLogs.
We have created the reports folder and configured that in the customLogger method to save the reports and logs under it.
We have created a customized method allureLogs() to save the data in allure reports.
For more information on allure report click on the link.
CustomLogger.py
import inspect
import logging
import allure
def customLogger():
# 1.) This is used to get the class / method name from where this customLogger method is called
logName = inspect.stack()[1][3]
# 2.) Create the logging object and pass the logName in it
logger = logging.getLogger(logName)
# 3.) Set the Log level
logger.setLevel(logging.DEBUG)
# 4.) Create the fileHandler to save the logs in the file
fileHandler = logging.FileHandler("../reports/Skill2lead.log", mode='a')
# 5.) Set the logLevel for fileHandler
fileHandler.setLevel(logging.DEBUG)
# 6.) Create the formatter in which format do you like to save the logs
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s : %(message)s',
datefmt='%d/%m/%y %I:%M:%S %p %A')
# 7.) Set the formatter to fileHandler
fileHandler.setFormatter(formatter)
# 8.) Add file handler to logging
logger.addHandler(fileHandler)
# 9.) Finally return the logging object
return logger
def allureLogs(text):
with allure.step(text):
pass
This will save the allure logs and customize log4j logs in the report folder under Selenium FrameWork.
Regarding allure report you can have a look in the generate allure report section.
Look into the below data how log4j test logs look like.
02/05/21 11:16:59 PM Sunday - WebDriverClass - INFO : Chrome Driver is initializing 02/05/21 11:17:09 PM Sunday - BaseClass - INFO : Web Page not Launched with URL : http://www.dummypoint.com/seleniumtemplate.html 02/05/21 11:17:09 PM Sunday - BaseClass - INFO : WebElement found with locator value Form using locatorType link 02/05/21 11:17:10 PM Sunday - BaseClass - INFO : Clicked on WebElement with locator value Form using locatorType link 02/05/21 11:17:10 PM Sunday - BaseClass - INFO : WebElement found with locator value reused_form using locatorType id 02/05/21 11:17:10 PM Sunday - BaseClass - INFO : WebElement is Displayed on web page with locator value reused_form using locatorType id 02/05/21 11:17:15 PM Sunday - BaseClass - INFO : WebElement found with locator value name using locatorType id 02/05/21 11:17:15 PM Sunday - BaseClass - INFO : Sent the text Code2Lead in WebElement with locator value name using locatorType id 02/05/21 11:17:15 PM Sunday - BaseClass - INFO : WebElement found with locator value email using locatorType id 02/05/21 11:17:16 PM Sunday - BaseClass - INFO : Sent the text abc@gmail.com in WebElement with locator value email using locatorType id 02/05/21 11:17:16 PM Sunday - BaseClass - INFO : WebElement found with locator value message using locatorType id 02/05/21 11:17:16 PM Sunday - BaseClass - INFO : Sent the text This is a Code2Lead in WebElement with locator value message using locatorType id 02/05/21 11:17:16 PM Sunday - BaseClass - INFO : WebElement found with locator value captcha_image using locatorType id 02/05/21 11:17:16 PM Sunday - BaseClass - INFO : Got the text SGH456 from WebElement with locator value captcha_image using locatorType id 02/05/21 11:17:16 PM Sunday - BaseClass - INFO : WebElement found with locator value captcha using locatorType id