Pergunta

Eu estou tentando envolver minha cabeça em torno Canoo webtest

Eu configurar um webtest Groovy simples. Eu mesmo ter feito e executar o equivalente xml e eu recebo o mesmo erro quando ele tenta codificar a url.

Eu recebo um erro quando eu uso uma raiz de contexto. Eu não receber um erro quando eu uso apenas a url com a raiz de contexto. ie."http://somesite.com"

Além de haver letras extras e tal há também uma outra barra mas, aparentemente, o decodificador de código de byte estúpido poderia lidar com um barras com o http: // parte ... Por que não algo tão simples como um diretório

Gostaria de pensar webtest seria capaz de lidar com algo tão simples como um diretório dentro de um site ou uma raiz de contexto ou pelo menos detectar e codificar os dados corretamente. Carregar qualquer tipo de url seria de extrema importância se você estivesse escrevendo um aplicativo chamado "Web" test ..

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

ou

<?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)
Foi útil?

Solução

Eu tenho que trabalhar na invocação quando eu mudei a meta tag e página no meu 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">

para

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

I apresentou um bug no JIRA sobre isso desde que o erro só ocorre durante uma invocação e não sobre submete o formulário e clica em links.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top