|
From: lists <li...@th...> - 2004-06-18 00:10:53
|
Hi,
We are trying to use HtmlUnit. Out app uses basic authentication, and we are having problems with it.
Here is our test case:
package com.gargoylesoftware.htmlunit;
import java.net.URL;
import junit.framework.TestCase;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
public class SampleTest extends TestCase {
public void testHomePage() throws Exception {
final WebClient webClient = new WebClient();
final URL url = new URL("http://ourhost.com/ourdir/");
final CredentialProvider credentialProvider = new SimpleCredentialProvider("userid", "password");
webClient.setCredentialProvider(credentialProvider);
final HtmlPage page = (HtmlPage)webClient.getPage(url);
assertEquals( "Title", page.getTitleText() );
}
}
Here is the error we get on the console:
Jun 17, 2004 5:01:53 PM org.apache.commons.httpclient.HttpMethodBase processAuthenticationResponse
WARNING: No credentials available for the basicauthentication realm 'Our Realm'
And here is the stacktrace:
com.gargoylesoftware.htmlunit.ObjectInstantiationException: Exception when calling constructor [public com.gargoylesoftware.htmlunit.html.HtmlInlineFrame(com.gargoylesoftware.htmlunit.html.HtmlPage,org.w3c.dom.Element)]
at com.gargoylesoftware.htmlunit.html.SimpleHtmlElementCreator.create(SimpleHtmlElementCreator.java:91)
at com.gargoylesoftware.htmlunit.html.HtmlPage.getHtmlElement(HtmlPage.java:464)
at com.gargoylesoftware.htmlunit.html.HtmlElement.getHtmlElementsByTagNames(HtmlElement.java:721)
at com.gargoylesoftware.htmlunit.html.HtmlPage.initializeFramesIfNeeded(HtmlPage.java:1108)
at com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:172)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:356)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:276)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:220)
at com.gargoylesoftware.htmlunit.SampleTest.testHomePage(SampleTest.java:16)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
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 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:410)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:294)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:182)
Enclosed exception: ======= EXCEPTION START ========
EcmaError: lineNumber=[34] column=[0] lineSource=[null] name=[ConversionError] sourceName=[/ourapp/scripts/tabs.js] message=[The undefined value has no properties.] errorObject=[ConversionError: The undefined value has no properties.]
com.gargoylesoftware.htmlunit.ScriptException: The undefined value has no properties.
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:250)
at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:889)
at com.gargoylesoftware.htmlunit.html.HtmlPage.executeBodyOnLoadHandlerIfNeeded(HtmlPage.java:1096)
at com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:173)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:356)
at com.gargoylesoftware.htmlunit.html.HtmlInlineFrame.loadInnerPageIfPossible(HtmlInlineFrame.java:86)
at com.gargoylesoftware.htmlunit.html.HtmlInlineFrame.<init>(HtmlInlineFrame.java:75)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.gargoylesoftware.htmlunit.html.SimpleHtmlElementCreator.create(SimpleHtmlElementCreator.java:80)
at com.gargoylesoftware.htmlunit.html.HtmlPage.getHtmlElement(HtmlPage.java:464)
at com.gargoylesoftware.htmlunit.html.HtmlElement.getHtmlElementsByTagNames(HtmlElement.java:721)
at com.gargoylesoftware.htmlunit.html.HtmlPage.initializeFramesIfNeeded(HtmlPage.java:1108)
at com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:172)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:356)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:276)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:220)
at com.gargoylesoftware.htmlunit.SampleTest.testHomePage(SampleTest.java:16)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
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 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:410)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:294)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:182)
Enclosed exception:
ConversionError: The undefined value has no properties. (/ourapp/scripts/tabs.js; line 34)
at org.mozilla.javascript.NativeGlobal.constructError(NativeGlobal.java:597)
at org.mozilla.javascript.NativeGlobal.constructError(NativeGlobal.java:557)
at org.mozilla.javascript.ScriptRuntime.getProp(ScriptRuntime.java:712)
at org.mozilla.javascript.gen.c18.call(/ourapp/scripts/tabs.js:34)
at org.mozilla.javascript.ScriptRuntime.call(ScriptRuntime.java:1191)
at org.mozilla.javascript.gen.c31.call(Embedded script:2)
at org.mozilla.javascript.optimizer.OptRuntime.callSimple(OptRuntime.java:275)
at org.mozilla.javascript.gen.c41.call(body.onLoad:1)
at org.mozilla.javascript.gen.c41.exec(body.onLoad)
at org.mozilla.javascript.Context.evaluateReader(Context.java:820)
at org.mozilla.javascript.Context.evaluateString(Context.java:784)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:242)
at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:889)
at com.gargoylesoftware.htmlunit.html.HtmlPage.executeBodyOnLoadHandlerIfNeeded(HtmlPage.java:1096)
at com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:173)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:356)
at com.gargoylesoftware.htmlunit.html.HtmlInlineFrame.loadInnerPageIfPossible(HtmlInlineFrame.java:86)
at com.gargoylesoftware.htmlunit.html.HtmlInlineFrame.<init>(HtmlInlineFrame.java:75)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.gargoylesoftware.htmlunit.html.SimpleHtmlElementCreator.create(SimpleHtmlElementCreator.java:80)
at com.gargoylesoftware.htmlunit.html.HtmlPage.getHtmlElement(HtmlPage.java:464)
at com.gargoylesoftware.htmlunit.html.HtmlElement.getHtmlElementsByTagNames(HtmlElement.java:721)
at com.gargoylesoftware.htmlunit.html.HtmlPage.initializeFramesIfNeeded(HtmlPage.java:1108)
at com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:172)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:356)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:276)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:220)
at com.gargoylesoftware.htmlunit.SampleTest.testHomePage(SampleTest.java:16)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
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 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:410)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:294)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:182)
== CALLING JAVASCRIPT ==
DocReady()
======= EXCEPTION END ========
Any help is appreciated.
Thanks,
Chad
|