Eric Jensen (Bug 46237):
The attached source files add a SkeletonAuthorizationFilter for the AccessLogSampler that reads the HTTP basic auth field of the log file and uses it plus a pre-configured skeleton key password via the "skeleton.password" property to authenticate the corresponding request. This is useful for load testing sites whose logs include behaviors that would differ across users. The test environment can be updated such that everyone's password is "skeleton" and authentication will be performed appropriately.
This is achieved without patching any existing jmeter source.
Also included is a FilterChain which allows specifying multiple filters as properties and calls them all (in no particular order), i.e.
PS: someone should add the ability for the log parsers to stop the test when they hit the end of the file
PPS: i had to implement TestCloneable on these Filters otherwise they would be silently ignored by AccessLogSampler This is bad behavior and potentially a bug, as LogFilter does not implement it.
Created attachment accesslog_skel_auth.tar: SkeletonAuthManager.java, SkeletonAuthorizationFilter.java, and FilterChain.java
Eric Jensen (Bug 46237): The attached source files add a SkeletonAuthorizationFilter for the AccessLogSampler that reads the HTTP basic auth field of the log file and uses it plus a pre-configured skeleton key password via the "skeleton.password" property to authenticate the corresponding request. This is useful for load testing sites whose logs include behaviors that would differ across users. The test environment can be updated such that everyone's password is "skeleton" and authentication will be performed appropriately.
This is achieved without patching any existing jmeter source.
Also included is a FilterChain which allows specifying multiple filters as properties and calls them all (in no particular order), i.e.
use cookies per ip (session) and basic auth
accesslog.sampler.filterchain.1=org.apache.jmeter.protocol.http.util.accesslog.SkeletonAuthorizationFilter accesslog.sampler.filterchain.2=org.apache.jmeter.protocol.http.util.accesslog.SessionFilter
PS: someone should add the ability for the log parsers to stop the test when they hit the end of the file
PPS: i had to implement TestCloneable on these Filters otherwise they would be silently ignored by AccessLogSampler This is bad behavior and potentially a bug, as LogFilter does not implement it.
Created attachment accesslog_skel_auth.tar: SkeletonAuthManager.java, SkeletonAuthorizationFilter.java, and FilterChain.java
OS: All