Hi,
We are writing some tests for an existing web application. For testing
purposes the first page just contains links to other pages within the
application. Using webtest we are "invoking" the first page then
following the link to a subsequent page. When webtest is trying to read
the second page it fails with the following exception:-
Unexpected exception caught: java.lang.IllegalArgumentException
at
com.canoo.webtest.steps.StepUtil.handleException(StepUtil.java:120)
at
com.canoo.webtest.steps.Step.handleException(Step.java:387)
at com.canoo.webtest.steps.Step.execute(Step.java:118)
at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown
Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at
com.canoo.webtest.ant.TestStepSequence.executeSteps(TestStepSequence.java:43)
at
com.canoo.webtest.ant.TestStepSequence.doExecute(TestStepSequence.java:31)
at com.canoo.webtest.steps.Step.execute(Step.java:103)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at
com.canoo.webtest.ant.WebtestTask.executeSteps(WebtestTask.java:236)
at
com.canoo.webtest.ant.WebtestTask.execute(WebtestTask.java:208)
at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown
Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at
org.apache.tools.ant.Target.performTasks(Target.java:385)
at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
at
org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
at
org.apache.tools.ant.Project.executeTargets(Project.java:1189)
at
org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown
Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at
org.apache.tools.ant.Target.performTasks(Target.java:385)
at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
at
org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
at
org.apache.tools.ant.Project.executeTargets(Project.java:1189)
at
org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown
Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at
org.apache.tools.ant.Target.performTasks(Target.java:385)
at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
at
org.apache.tools.ant.Project.executeTarget(Project.java:1306)
at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at
org.apache.tools.ant.Project.executeTargets(Project.java:1189)
at org.apache.tools.ant.Main.runBuild(Main.java:758)
at org.apache.tools.ant.Main.startAnt(Main.java:217)
at
org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
at
org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
Caused by: java.lang.IllegalArgumentException: Host name may not be null
at
org.apache.commons.httpclient.HttpHost.<init>(HttpHost.java:68)
at
org.apache.commons.httpclient.HostConfiguration.setHost(HostConfiguration.java:253)
at
org.apache.commons.httpclient.HostConfiguration.setHost(HostConfiguration.java:315)
at
com.gargoylesoftware.htmlunit.HttpWebConnection.getHostConfiguration(HttpWebConnection.java:156)
at
com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConnection.java:95)
at
com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection(WebClient.java:1439)
at
com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:1370)
at
com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:326)
at
com.gargoylesoftware.htmlunit.html.BaseFrame.loadInnerPageIfPossible(BaseFrame.java:125)
at
com.gargoylesoftware.htmlunit.html.BaseFrame.loadInnerPage(BaseFrame.java:95)
at
com.gargoylesoftware.htmlunit.html.HtmlPage.loadFrames(HtmlPage.java:1780)
at
com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:176)
at
com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:454)
at
com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:330)
at
com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:355)
at
com.gargoylesoftware.htmlunit.html.HtmlAnchor.doClickAction(HtmlAnchor.java:96)
at
com.gargoylesoftware.htmlunit.html.HtmlAnchor.doClickAction(HtmlAnchor.java:121)
at
com.gargoylesoftware.htmlunit.html.HtmlElement.click(HtmlElement.java:1249)
at
com.gargoylesoftware.htmlunit.html.HtmlElement.click(HtmlElement.java:1208)
at
com.gargoylesoftware.htmlunit.html.HtmlElement.click(HtmlElement.java:1177)
at
com.canoo.webtest.steps.request.ClickLink.findTarget(ClickLink.java:70)
at
com.canoo.webtest.steps.request.AbstractTargetAction.doExecute(AbstractTargetAction.java:72)
at com.canoo.webtest.steps.Step.execute(Step.java:103)
... 57 more
--- Nested Exception ---
java.lang.IllegalArgumentException: Host name may not be null
at
org.apache.commons.httpclient.HttpHost.<init>(HttpHost.java:68)
at
org.apache.commons.httpclient.HostConfiguration.setHost(HostConfiguration.java:253)
at
org.apache.commons.httpclient.HostConfiguration.setHost(HostConfiguration.java:315)
at
com.gargoylesoftware.htmlunit.HttpWebConnection.getHostConfiguration(HttpWebConnection.java:156)
at
com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConnection.java:95)
at
com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection(WebClient.java:1439)
at
com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:1370)
at
com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:326)
at
com.gargoylesoftware.htmlunit.html.BaseFrame.loadInnerPageIfPossible(BaseFrame.java:125)
at
com.gargoylesoftware.htmlunit.html.BaseFrame.loadInnerPage(BaseFrame.java:95)
at
com.gargoylesoftware.htmlunit.html.HtmlPage.loadFrames(HtmlPage.java:1780)
at
com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:176)
at
com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:454)
at
com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:330)
at
com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:355)
at
com.gargoylesoftware.htmlunit.html.HtmlAnchor.doClickAction(HtmlAnchor.java:96)
at
com.gargoylesoftware.htmlunit.html.HtmlAnchor.doClickAction(HtmlAnchor.java:121)
at
com.gargoylesoftware.htmlunit.html.HtmlElement.click(HtmlElement.java:1249)
at
com.gargoylesoftware.htmlunit.html.HtmlElement.click(HtmlElement.java:1208)
at
com.gargoylesoftware.htmlunit.html.HtmlElement.click(HtmlElement.java:1177)
at
com.canoo.webtest.steps.request.ClickLink.findTarget(ClickLink.java:70)
at
com.canoo.webtest.steps.request.AbstractTargetAction.doExecute(AbstractTargetAction.java:72)
at com.canoo.webtest.steps.Step.execute(Step.java:103)
at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown
Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at
com.canoo.webtest.ant.TestStepSequence.executeSteps(TestStepSequence.java:43)
at
com.canoo.webtest.ant.TestStepSequence.doExecute(TestStepSequence.java:31)
at com.canoo.webtest.steps.Step.execute(Step.java:103)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at
com.canoo.webtest.ant.WebtestTask.executeSteps(WebtestTask.java:236)
at
com.canoo.webtest.ant.WebtestTask.execute(WebtestTask.java:208)
at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown
Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at
org.apache.tools.ant.Target.performTasks(Target.java:385)
at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
at
org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
at
org.apache.tools.ant.Project.executeTargets(Project.java:1189)
at
org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown
Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at
org.apache.tools.ant.Target.performTasks(Target.java:385)
at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
at
org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
at
org.apache.tools.ant.Project.executeTargets(Project.java:1189)
at
org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown
Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at
org.apache.tools.ant.Target.performTasks(Target.java:385)
at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
at
org.apache.tools.ant.Project.executeTarget(Project.java:1306)
at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at
org.apache.tools.ant.Project.executeTargets(Project.java:1189)
at org.apache.tools.ant.Main.runBuild(Main.java:758)
at org.apache.tools.ant.Main.startAnt(Main.java:217)
at
org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
at
org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
We also get the same problem running verifyLinks with a depth of 1 from
the first page. Any ideas what is causing this problem? Could it be
related to relative links? If so does anybody know how to get around the
problem.
Thanks in advance
Gareth Webbley
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU