It sure can do that.
Each test step can have (in fact it's a good idea to always have) assertions. After a test steps completes all the assertions for that test step are evaluated. So for example your first step could have a 'contains' assertion that would look for some specific string in the response. If the string is not found, then the assertion fails.
If any of the assertions in a test step fail, then the test case will halt execution and the test case is marked as failed. If the need arises, there is a configurable on each test case that allows you to continue test case execution when assertions fail.