Pregunta

Estoy tratando de entender la página web de canoo

Configuré una simple prueba web maravillosa. Incluso hice y ejecuté el equivalente xml y obtengo el mismo error cuando intenta codificar la url.

Me sale un error cuando uso una raíz de contexto.     No obtengo un error cuando solo uso la URL sin la raíz del contexto. ie."http://somesite.com"

Aparte de que hay letras adicionales y de que también hay otra barra oblicua, pero aparentemente el estúpido decodificador de código de bytes podría manejar barras con la http: // parte ... ¿Por qué no algo tan simple como un directorio?

Creo que webtest podría manejar algo tan simple como un directorio dentro de un sitio o una raíz de contexto o al menos detectar y codificar los datos correctamente. Cargar cualquier tipo de URL sería de suma importancia si estuviera escribiendo una aplicación llamada "Web" test ..

invoke(url: "http://somesite.com/CONTEXTRoot", description: "Load dev java site")
verifyTitle("Title to check")

o

<?xml version="1.0" ?>
<!DOCTYPE project SYSTEM "../dtd/Project.dtd">
<project default="test">
    <target name="test">
        <webtest name="check login and welcome page load and work">
            <invoke description="Go to dev site" 
                    url="http://devsite.com/CONTEXTRoot/" />                
            <clickButton label="Enter Application" />
        </webtest>
    </target>
</project>

Stacktrace:

E:\canoo\WebSiteFunctionalTests\tests\WebSiteWebTest.xml:11: Unexpected exception caught: sun.io.MalformedInputException
at com.canoo.webtest.steps.StepUtil.handleException(StepUtil.java:120)
at com.canoo.webtest.steps.Step.handleException(Step.java:379)
at com.canoo.webtest.steps.Step.execute(Step.java:110)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    ...
  Caused by: sun.io.MalformedInputException
    at sun.io.ByteToCharUTF8.convert(ByteToCharUTF8.java:262)
    at sun.nio.cs.StreamDecoder$ConverterSD.convertInto(StreamDecoder.java:314)
    at sun.nio.cs.StreamDecoder$ConverterSD.implRead(StreamDecoder.java:364)
    at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:250)
    at java.io.InputStreamReader.read(InputStreamReader.java:212)
    at org.cyberneko.html.HTMLScanner.load(HTMLScanner.java:1166)
    at org.cyberneko.html.HTMLScanner.read(HTMLScanner.java:1127)
    at org.cyberneko.html.HTMLScanner$ContentScanner.scan(HTMLScanner.java:1913)
    at org.cyberneko.html.HTMLScanner.scanDocument(HTMLScanner.java:893)
    at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:495)
    at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:448)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.parse(HTMLParser.java:680)
    at com.gargoylesoftware.htmlunit.html.HTMLParser.parse(HTMLParser.java:240)
    at com.gargoylesoftware.htmlunit.DefaultPageCreator.createHtmlPage(DefaultPageCreator.java:127)
    at com.gargoylesoftware.htmlunit.DefaultPageCreator.createPage(DefaultPageCreator.java:101)
    at com.canoo.webtest.engine.Configuration$2.createPage(Configuration.java:655)
¿Fue útil?

Solución

Lo hice funcionar en la invocación cuando cambié el meta y la etiqueta de página en mi jsp

de

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

a

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">

Envié un error JIRA sobre esto ya que el error solo ocurre durante una invocación y no en los envíos de formularios y clics de enlaces.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top