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