문제

나는 canoo webtest에 대해 머리를 감싸려고 노력하고 있습니다.

간단한 그루비 웹 테스트를 설정했습니다.나는 동등한 XML을 만들고 실행했는데 URL을 인코딩하려고 할 때 동일한 오류가 발생합니다.

컨텍스트 루트를 사용할 때 오류가 발생합니다.컨텍스트 루트 없이 URL을 사용하면 오류가 발생하지 않습니다. ie."http://somesite.com"

추가 문자 등이 있는 것 외에 또 다른 슬래시도 있지만 분명히 멍청한 바이트 코드 디코더는 http:// 부분이 있는 슬래시를 처리할 수 있습니다...디렉토리만큼 간단한 것은 어떨까요?

나는 webtest가 사이트나 컨텍스트 루트 내의 디렉토리처럼 간단한 것을 처리하거나 적어도 데이터를 올바르게 감지하고 인코딩할 수 있을 것이라고 생각합니다."웹"테스트라는 애플리케이션을 작성하는 경우 모든 유형의 URL을 로드하는 것이 가장 중요합니다.

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

또는

<?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>

스택트레이스:

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)
도움이 되었습니까?

해결책

JSP에서 메타 및 페이지 태그를 변경할 때 호출에서 작동하도록 했습니다.

~에서

<%@ 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">

오류는 호출 중에만 발생하고 양식 제출 및 링크 클릭 시에는 발생하지 않기 때문에 이에 대해 JIRA 버그를 제출했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top