I properly detect and verify (via verifyXPath) a successful login where the
response contains a statusCode=200, but when I run a test which provides an
invalid username and password to the login API the check for a statusCode=401
never gets executed. I see the 401 in the response but my test is failing
before I can execute the code to verify the statusCode. What am I doing wrong?
Here is my test:
---------------------------------------------
<?xml version="1.0"?>
<!DOCTYPE project SYSTEM "../../dtd/Project.dtd">
<project name="loginInvalidUser" default="test">
<target name="test">
<webtest name="Login Invalid User">
<steps>
<invoke url="http://${HOST}:${PORT}/identity/${VERSION}/login"
username="${INVALIDUSER}" password="${INVALIDPASSWORD}"
description="Login Invalid User"
/>
<verifyXPath
description="Check login status code equals 401"
xpath="//@statusCode='401'"
/>
</steps>
</webtest>
</target>
</project>
---------------------------------------------
The response I received from this test in both the ...response_invoke.xml and
the ...response_steps.xml files is:
---------------------------------------------
<?xml version='1.0' encoding='UTF-8'?><identity
xmlns="http://api.familysearch.org/identity/v1"
xmlns:fsapi-v1="http://api.familysearch.org/v1" version="1.0.20080107.1070"
statusMessage="Authentication failed."
statusCode="401"><fsapi-v1:errors><fsapi-v1:error
code="401"><fsapi-v1:message>Authentication
failed.</fsapi-v1:message></fsapi-v1:error></fsapi-v1:errors></identity>
---------------------------------------------
The WebTestReport.xml file contains:
---------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<summary Implementation-Title="Canoo Webtest" Implementation-Version="R_1646">
<testresult endtime="Wed Jan 16 13:58:57 MST 2008"
location="/home/default/CanooWebTest/Home/SLAT_Tests/tests/Login_Logout/loginInvalidUser.xml:8:
"
starttime="Wed Jan 16 13:58:57 MST 2008" successful="no"
testspecname="Login Invalid User">
<config>
<parameter name="port" value="80"/>
<parameter name="summary" value="yes"/>
<parameter name="protocol" value="http"/>
<parameter name="host" value="localhost"/>
<parameter name="resultpath"
value="/home/default/CanooWebTest/Home/SLAT_Tests/results"/>
<parameter name="saveprefix" value="response"/>
<parameter name="basepath" value="null"/>
<parameter name="resultfile" value="WebTestReport.xml"/>
<parameter name="haltonerror" value="no"/>
<parameter name="errorproperty" value="webtest.error"/>
<parameter name="saveresponse" value="yes"/>
<parameter name="haltonfailure" value="no"/>
<parameter name="failureproperty" value="webtest.failure"/>
<parameter name="showhtmlparseroutput" value="yes"/>
<parameter name="timeout" value="300"/>
</config>
<results>
<step>
<parameter name="description" value="Login Invalid User"/>
<parameter name="password" value="invalid"/>
<parameter name="resultFilename"
value="001_response_invoke.xml"/>
<parameter name="taskName" value="invoke"/>
<parameter name="url"
value="http://10.0.1.1:8080/identity/v1/login"/>
<parameter name="username" value="invalid"/>
<result>
<failed duration="192"/>
</result>
</step>
<step>
<parameter name="description" value="Check login status code
equals 401"/>
<parameter name="taskName" value="verifyXPath"/>
<parameter name="xpath" value="//@statusCode='401'"/>
<result>
<notexecuted duration="0"/>
</result>
</step>
<failure
filename="/home/default/CanooWebTest/Home/SLAT_Tests/tests/Login_Logout/loginInvalidUser.xml"
line="12" message="HTTP error 401"/>
</results>
</testresult>
</summary>
---------------------------------------------
What do I need to do to get the test to proceed to the "notexecuted" section
where I can make the check for the 401 statusCode?
Thanks,
Doug
----------------------------------------------------------------------
NOTICE: This email message is for the sole use of the intended recipient(s) and
may contain confidential and privileged information. Any unauthorized review,
use, disclosure or distribution is prohibited. If you are not the intended
recipient, please contact the sender by reply email and destroy all copies of
the original message.
_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest