Hello,
in our JMX we have the following setting as true:
<boolProp name="Assertion.assume_success">true</boolProp>
What Jmeter does, in this case, is ignoring the code returned by the server and only check the condition set. So if the server answers with 402 or 403, the check is marked as success, if the condition is met.
RedLine ignores this setting, and marks all 402 or 403 as errors.
For example:
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Check Response Code" enabled="true">
<collectionProp name="Asserion.test_strings">
<stringProp name="-1447182356">200|402</stringProp>
</collectionProp>
<stringProp name="Assertion.custom_message"></stringProp>
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
<boolProp name="Assertion.assume_success">true</boolProp>
<intProp name="Assertion.test_type">1</intProp>
</ResponseAssertion>
It means success if the code is 200 or 402.
If Assertion.assume_success is set to false, 200 will be considered a success, but 402 will always be considered an error (as it is currently with Redline).
We are using Jmeter 4.0 as a setting for the test. Test 67395 should show you the behavior.
I believe the assume_success property is ignored in your code.
Best,
fabrizio