0
我使用的是htmlunit-2/.9版本,当我尝试获取当前的HTML页面内容并将其保存到临时文件以供将来参考时,我得到一个空指针异常我调用currentPage.asXml()
。空指针异常与HTML单元
任何指针或帮助将不胜感激。
这里是堆栈跟踪:
java.lang.NullPointerException
at **com.gargoylesoftware.htmlunit.SgmlPage.asXml(SgmlPage.java:206)**
at com.yahoo.vis.ddbuilder.validator.DDBuilderValidator.validateTemplate_1(DDBuilderValidator.java:308)
at com.yahoo.vis.ddbuilder.validator.DDBuilderValidator.validate(DDBuilderValidator.java:72)
at sun.reflect.GeneratedMethodAccessor78.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.yahoo.robot.components.interfaces.Executable.run(Executable.java:73)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
下面是代码片段,这是造成空指针。我运行这个测试大约100测试用例,满分为100它会随机出现故障20-30病例
private IValidationResponse validateTemplate_2(String url, Properties verifyProps, HtmlPage currentPage) throws FailingHttpStatusCodeException, MalformedURLException, IOException
{
IValidationResponse validationResponse = new DefaultValidationResponse();
String query = verifyProps.getProperty(IConstants.QUERY);
System.err.println("Verifying Query ::- "+query);
validationResponse.setQuery(query);
validationResponse.setActualResponseAsBuffer(new StringBuffer(currentPage.asXml()));
...
}
您可以添加'currentPage.asXml()'代码' –
currentPage是HtmlPage的对象,它是HTMLUnit类。 asXml()是HtmlUnit的API – user1736934
请阅读FAQ部分以更好地使用SO。它也将有助于未来的参考。 –