【问题标题】:Spring Roo unable to generate Selenium tests because of Xerces error由于 Xerces 错误,Spring Roo 无法生成 Selenium 测试
【发布时间】:2011-02-22 18:24:23
【问题描述】:

看了Roo Google IO 之后,我决定使用this tutorial 进行尝试,但是在尝试创建 Selenium 测试时我遇到了困难。

~.web roo> selenium test --controller ~.web.PizzaOrderController
Created SRC_MAIN_WEBAPP/selenium
Created SRC_MAIN_WEBAPP/selenium/test-pizzaorder.xhtml
Created SRC_MAIN_WEBAPP/selenium/test-suite.xhtml
Undo create SRC_MAIN_WEBAPP/selenium/test-suite.xhtml
Undo create SRC_MAIN_WEBAPP/selenium/test-pizzaorder.xhtml
Undo create SRC_MAIN_WEBAPP/selenium
com.sun.org.apache.xerces.internal.dom.DeferredCommentImpl cannot be cast to org.w3c.dom.Element

this forum 的一位人士建议从类路径中删除 Xerces,因为 Java 6 有自己的基于 Xerces 的 XML 解析器。但是,我还没有找到从 classpath 中删除某些内容的明确方法,只有 setting it(我认为每次都会很乏味)。

有人知道从类路径中删除 jars 的明确方法吗?有没有人遇到过这个 Roo 问题并以其他方式解决过?


更新

根据要求,这里是更详细的输出:

roo> development mode
Development mode set to true
roo> selenium test --controller ~.web.PizzaOrderController
Created SRC_MAIN_WEBAPP/selenium
Created SRC_MAIN_WEBAPP/selenium/test-pizzaorder.xhtml
Created SRC_MAIN_WEBAPP/selenium/test-suite.xhtml
Undo create SRC_MAIN_WEBAPP/selenium/test-suite.xhtml
Undo create SRC_MAIN_WEBAPP/selenium/test-pizzaorder.xhtml
Undo create SRC_MAIN_WEBAPP/selenium
com.sun.org.apache.xerces.internal.dom.DeferredCommentImpl cannot be cast to org.w3c.dom.Element
java.lang.ClassCastException: com.sun.org.apache.xerces.internal.dom.DeferredCommentImpl cannot be cast to org.w3c.dom.Element
    at org.springframework.roo.addon.web.menu.MenuOperationsImpl.addMenuItem(MenuOperationsImpl.java:88)
    at org.springframework.roo.addon.web.selenium.SeleniumOperationsImpl.manageTestSuite(SeleniumOperationsImpl.java:185)
    at org.springframework.roo.addon.web.selenium.SeleniumOperationsImpl.generateTest(SeleniumOperationsImpl.java:140)
    at org.springframework.roo.addon.web.selenium.SeleniumCommands.generateTest(SeleniumCommands.java:35)
    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.springframework.roo.support.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:191)
    at org.springframework.roo.process.manager.ProcessManagerHostedExecutionStrategy$1.callback(ProcessManagerHostedExecutionStrategy.java:34)
    at org.springframework.roo.process.manager.internal.DefaultProcessManager.doTransactionally(DefaultProcessManager.java:169)
    at org.springframework.roo.process.manager.internal.DefaultProcessManager.execute(DefaultProcessManager.java:132)
    at org.springframework.roo.process.manager.ProcessManagerHostedExecutionStrategy.execute(ProcessManagerHostedExecutionStrategy.java:32)
    at org.springframework.roo.shell.AbstractShell.executeCommand(AbstractShell.java:158)
    at org.springframework.roo.shell.jline.JLineShell.promptLoop(JLineShell.java:200)
    at org.springframework.roo.shell.jline.JLineShell.run(JLineShell.java:126)
    at java.lang.Thread.run(Thread.java:619)

【问题讨论】:

    标签: java dom classpath xerces spring-roo


    【解决方案1】:

    您能否输入“开发模式”,按回车键,然后重新运行 Selenium 命令并包含以下更详细的堆栈跟踪?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多