|
From: Elise L. <el...@ch...> - 2004-06-24 00:02:36
|
here's my html:
...
<script language = "Javascript" type="text/javascript">
function year()
{
top.cudl.document.forms[0].elements[0].value="2005";
top.cudl.onYearChange();
}
</script>
</head>
<body>
testRequestAQuote
<form name="myYear" action="javascript:year();">
<button type="submit" name="yearButton">year</button>
</form>
...
Here is my JUnit test case:
public void testModelSelector() {
try {
final WebClient webClient = new WebClient();
final URL url = new
URL(url"http://127.0.0.1:8080/cudl/cudlQA.html");
// Get the first page
final HtmlPage page1 = (HtmlPage)webClient.getPage(url);
final List list = page1.getFrames();
final HtmlFrame frame2 = (HtmlFrame)list.get(1);
final HtmlPage test = (HtmlPage)frame2.getEnclosedPage();
test.getFormByName("myYear").submit();
} catch (Exception e) {
e.printStackTrace();
fail("got exception");
}
}
Elise
> > I'm evaluating htmlunit and am running into a pretty basic
> problem. I
> > can't submit a form that has a javascript action. Do I need to do
> > some init for JavaScript to work? I am using 1.3pre and this is my
> > code:
> >
> > final WebClient webClient = new WebClient();
> > final URL url = new URL(url);
> >
> > final HtmlPage page1 = (HtmlPage)webClient.getPage(url);
> > final List list = page1.getFrames();
> > final HtmlFrame frame2 = (HtmlFrame)list.get(1);
> > final HtmlPage test =
> (HtmlPage)frame2.getEnclosedPage();
> > test.getFormByName("myYear").submit();
> >
> > this is the stack:
> > com.gargoylesoftware.htmlunit.ScriptException: DomNode has not been
> > set for this SimpleScriptable:
> > com.gargoylesoftware.htmlunit.javascript.host.Select
> > at
> >
> com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.exec
> ute(JavaScript
> > Engine.java:264)
> > at
> >
> com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptI
> fPossible(Html
> > Page.java:700)
> > at
> com.gargoylesoftware.htmlunit.html.HtmlForm.submit(HtmlForm.java:156)
> > at
> com.gargoylesoftware.htmlunit.html.HtmlForm.submit(HtmlForm.java:130)
> > at
> com.chrome.cudlpsg.CUDLWBTests.testModelSelector(CUDLWBTests.java:75)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess
> orImpl.java:39
> > )
> > at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth
> odAccessorImpl
> > .java:25)
> > at java.lang.reflect.Method.invoke(Method.java:324)
> > at junit.framework.TestCase.runTest(TestCase.java:154)
> > at junit.framework.TestCase.runBare(TestCase.java:127)
> > at junit.framework.TestResult$1.protect(TestResult.java:106)
> > at junit.framework.TestResult.runProtected(TestResult.java:124)
> > at junit.framework.TestResult.run(TestResult.java:109)
> > at junit.framework.TestCase.run(TestCase.java:118)
> > at junit.framework.TestSuite.runTest(TestSuite.java:208)
> > at junit.framework.TestSuite.run(TestSuite.java:203)
> > at junit.textui.TestRunner.doRun(TestRunner.java:116)
> > at
> com.intellij.rt.execution.junit2.IdeaJUnitAgent.doRun(Unknown Source)
> > at junit.textui.TestRunner.start(TestRunner.java:172)
> > at
> >
> com.intellij.rt.execution.junit.TextTestRunner2.startRunnerWit
> hArgs(Unknown
> > Source)
> > at
> >
> com.intellij.rt.execution.junit2.JUnitStarter.prepareStreamsAn
> dStart(Unknown
> > Source)
> > at
> com.intellij.rt.execution.junit2.JUnitStarter.main(Unknown Source)
> >
> >
> >
> > Elise Lebeau
> > Software Engineer
> > Chrome Systems Corporation
> > email: <mailto:me...@ch...> el...@ch...
> > phone: 503.963.6320
> > Fax: 503.963.6310
> >
> >
> >
>
|