Question

J'essaie de faire le tour de ma tête canoo webtest

J'ai mis en place un simple test Web groovy. J'ai même créé et exécuté l'équivalent XML et j'obtiens la même erreur lorsqu'il tente de coder l'URL.

Je reçois une erreur lorsque j'utilise une racine de contexte.     Je ne reçois pas d'erreur en utilisant simplement l'URL sans la racine de contexte. ie. " http: //somesite.com"

Hormis les lettres supplémentaires et autres caractères similaires, il existe une autre barre oblique, mais apparemment, le stupide décodeur de code octet pourrait traiter les barres obliques avec la partie http: // ... Pourquoi ne pas utiliser quelque chose d'aussi simple qu'un répertoire

Je pense que Webtest serait capable de gérer quelque chose d'aussi simple qu'un répertoire dans un site ou une racine de contexte ou au moins de détecter et d'encoder les données correctement. Le chargement de n’importe quel type d’URL est d’une importance capitale si vous écrivez une application appelée "Test Web".

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)
Était-ce utile?

La solution

Je l'ai fait fonctionner sur l'appel lorsque j'ai changé les balises meta et page dans mon 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">

à

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

J'ai soumis un bogue JIRA à ce sujet car l'erreur se produit uniquement lors d'un appel et non lors de l'envoi du formulaire et des clics sur les liens.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top