Hello,
I want to test a website via https. 
I imported the certificate in $JAVA_HOME/jre/lib/secret/caserts.

I use the following testfile:

<!DOCTYPE project SYSTEM "../dtd/Project.dtd">

<project name="my.loginTest" default="test">
        <property name="webtest.home" value="G:\dev\webtest\R_1551"/>

  <property name="JAVA_HOME" value="g:\Programme\Java\jdk1.5.0_12\jre"
/>
  <echo>JAVA_HOME: ${JAVA_HOME}</echo>

  <property name="webtest.connectioninitializer"
        
value="com.canoo.webtest.security.SunJsseBaseConnectionInitializer"/>
  <property name="webtest.truststore.file"
value="${JAVA_HOME}\jre\lib\security\cacerts" />
 <property name="webtest.truststore.passphrase" value="changeit" /> 
  <echo>Zertifikate: ${webtest.truststore.file}</echo>
  <property name="webtest.trustAnchors" value="true" />
        <import file="${webtest.home}/lib/taskdef.xml"/>

        <target name="test">

                <webtest name="Login">
          &config;
           <config
                host="localhost"
                port="8443"
                protocol="https"
                basepath="mydemo/"
                saveresponse="true"
                showhtmlparseroutput="true"
            />
          <steps>
                <invoke url="pages/login.jsp" description="Go To
Login"/>
...

        </steps>
                </webtest>

        </target>


</project>


After calling that file via ant I get the following error Message:



test:
Project base dir set to: G:\dev\webtest\R_1551\myTest\tests
      [ant] calling target(s) [default] in build file
G:\dev\webtest\R_1551\myTest\tests\loginTest.xml
parsing buildfile G:\dev\webtest\R_1551\myTest\tests\loginTest.xml with
URI = file:///G:/dev/webtest/R_1551/myTest/tests/loginTest.xml
resolving systemId: file:///G:/dev/webtest/R_1551/myTest/dtd/Project.dtd
Project base dir set to: G:\dev\webtest\R_1551\myTest\tests
resolving systemId:
file:///G:/dev/webtest/R_1551/myTest/includes/config.xml
Override ignored for property webtest.home
     [echo] JAVA_HOME: g:\Programme\Java\jdk1.5.0_12\jre
     [echo] Zertifikate:
g:\Programme\Java\jdk1.5.0_12\jre\jre\lib\security\cacerts
Importing file G:\dev\webtest\R_1551/lib/taskdef.xml from
G:\dev\webtest\R_1551\myTest\tests\loginTest.xml
parsing buildfile G:\dev\webtest\R_1551\lib\taskdef.xml with URI =
file:///G:/dev/webtest/R_1551/lib/taskdef.xml
Override ignored for property taskdef.dir
Importing file G:\dev\webtest\R_1551\lib/classpath.xml from
G:\dev\webtest\R_1551\lib\taskdef.xml
parsing buildfile G:\dev\webtest\R_1551\lib\classpath.xml with URI =
file:///G:/dev/webtest/R_1551/lib/classpath.xml
Override ignored for property webtest.classpath.dir
      [ant] Entering G:\dev\webtest\R_1551\myTest\tests\loginTest.xml...
Build sequence for target(s) `test' is [test]
Complete build sequence is [test, ]

test:
  [webtest] - Starting webtest "Login"
(G:\dev\webtest\R_1551\myTest\tests\loginTest.xml:22: )
  [webtest] - Canoo Webtest: R_1551.
   [config] - Surfing with browser Mozilla/4.0 (compatible; MSIE 6.0b;
Windows 98)
    [steps] - >>>> Start Step: steps (1/1)
   [invoke] - >>>> Start Step: invoke "Go To Login" (1/1)
   [invoke] - -> gotoTarget by URL: pages/login.jsp
   [invoke] - getting response for url:
https://localhost:8443/mydemo/pages/login.jsp
   [invoke] - Using custom initializer:
com.canoo.webtest.security.SunJsseBaseConnectionInitializer
   [invoke] - Installing HostnameVerifier
   [invoke] - Running with: Canoo Webtest: R_1551.
   [invoke] - Exception thrown from this class:
javax.net.ssl.SSLException
   [invoke] - Message was: java.lang.RuntimeException: Unexpected error:
java.security.InvalidAlgorithmParameterException: the trustAnchors
parameter must be non-empty
   [invoke] - Cannot handle unexpected exception in step InvokePage at
G:\dev\webtest\R_1551\myTest\tests\loginTest.xml:33:  with
(taskName="invoke")
   [invoke] javax.net.ssl.SSLException: java.lang.RuntimeException:
Unexpected error: java.security.InvalidAlgorithmParameterException: the
trustAnchors parameter must be non-empty
   [invoke]     at
com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:166)
   [invoke]     at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1518
)
   [invoke]     at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1485
)
   [invoke]     at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.handleException(SSLSocketImpl
.java:1468)
   [invoke]     at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.handleException(SSLSocketImpl
.java:1394)
   [invoke]     at
com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:
64)
   [invoke]     at
java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
   [invoke]     at
java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
   [invoke]     at
org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(Ht
tpConnection.java:827)
   [invoke]     at
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpCon
nectionAdapter.flushRequestOutputStream(MultiThreadedHttpConnectionManag
er.java:1525)
   [invoke]     at
org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase
.java:1975)
   [invoke]     at
org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java
:993)
   [invoke]     at
org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMe
thodDirector.java:397)
   [invoke]     at
org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMetho
dDirector.java:170)
   [invoke]     at
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:3
96)
   [invoke]     at
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:3
46)
   [invoke]     at
com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConne
ction.java:126)
   [invoke]     at
com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection
(WebClient.java:1424)
   [invoke]     at
com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:1
381)
   [invoke]     at
com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:332)
   [invoke]     at
com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:399)
   [invoke]     at
com.canoo.webtest.steps.request.TargetHelper.getResponse(TargetHelper.ja
va:69)
   [invoke]     at
com.canoo.webtest.steps.request.AbstractTargetAction.getResponse(Abstrac
tTargetAction.java:68)
   [invoke]     at
com.canoo.webtest.steps.request.InvokePage.findTarget(InvokePage.java:13
4)
   [invoke]     at
com.canoo.webtest.steps.request.AbstractTargetAction$1.call(AbstractTarg
etAction.java:108)
   [invoke]     at
com.canoo.webtest.steps.request.TargetHelper.protectedGoto(TargetHelper.
java:88)
   [invoke]     at
com.canoo.webtest.steps.request.AbstractTargetAction.gotoTarget(Abstract
TargetAction.java:106)
   [invoke]     at
com.canoo.webtest.steps.request.AbstractTargetAction.doExecute(AbstractT
argetAction.java:78)
   [invoke]     at com.canoo.webtest.steps.Step.execute(Step.java:104)
   [invoke]     at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
   [invoke]     at org.apache.tools.ant.Task.perform(Task.java:364)
   [invoke]     at
com.canoo.webtest.ant.TestStepSequence.executeSteps(TestStepSequence.jav
a:43)
   [invoke]     at
com.canoo.webtest.ant.TestStepSequence.doExecute(TestStepSequence.java:3
1)
   [invoke]     at com.canoo.webtest.steps.Step.execute(Step.java:104)
   [invoke]     at org.apache.tools.ant.Task.perform(Task.java:364)
   [invoke]     at
com.canoo.webtest.ant.WebtestTask.execute(WebtestTask.java:164)


Has someone an idea, where/how to set the trustAnchors propertie?


Thanks,


Matthias Warmbold
_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest

Reply via email to