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 |