logging code example
Example 1: response logging
Response Logging
If you want to print the response body regardless of the
status code you can do:
get("/x").then().log().body() ..
This will print the response body regardless if an error occurred.
If you're only interested in printing the response body if an error
occur then you can use:
get("/x").then().log().ifError(). ..
You can also log all details in the response
including status line, headers and cookies:
get("/x").then().log().all(). ..
as well as only status line, headers or cookies:
get("/x").then().log().statusLine(). ..
get("/x").then().log().headers(). ..
get("/x").then().log().cookies(). ..
You can also configure to log the response
only if the status code matches some value:
get("/x").then().log().ifStatusCodeIsEqualTo(302). ..
Only log if the status code is equal to 302
get("/x").then().log().ifStatusCodeMatches(matcher). ..
Only log if the status code matches the supplied Hamcrest matcher
Example 2: logging.logger
import logging
logging.basicConfig(level=logging.WARNING)
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
logger.debug("some debugging...")
logger.error("some error...")
Example 3: what do you use for logging
I use Log4J for logging.
I always log important steps in the test
execution. That helps me to debug
when there is a failure.
Log4J is not a replacement for HTML reports.
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j- core</artifactId>
<version>2.11.0</version>
</dependency>
Example 4: LOGGING
import logging
LOG_FILENAME = 'example.log'
logging.basicConfig(filename=LOG_FILENAME,level=logging.DEBUG)
logging.debug('This message should go to the log file')