2012-06-03 3 views
4

예전에는 PalmOS에서 응용 프로그램을 처리하는 방법 ("Gremlins")을 테스트하기 위해 임의의 이벤트 ("여기를 탭하고 해당 텍스트 필드에 가비지를 입력하십시오 ...")를 생성 할 수있는 에뮬레이터가있었습니다. 이것은 퍼지와 비슷하지만 GUI의 경우입니다. Java Swing 응용 프로그램에서이를 쉽게 수행 할 수있는 방법이 있습니까?스윙 응용 프로그램을 퍼지 (fuzzing)하는 방법이 있습니까?

편집 :

내가 이벤트 해고되는 지정할 수 없도록하려면 있습니다. 어떤 코드를 에 자동으로 생성하여을 생성하고 random ("Math.random()"이벤트처럼). 이벤트가 유용하거나 버그를 발견 할 가능성은 매우 적습니다. 그러나 그것은 많은 사건들을 해고함으로써 상쇄된다.

+0

앱에서 "파일 열기"대화 상자를 열 수 없다가 나중에 드라이브의 모든 내용을 삭제할 수 있기를 바랍니다. –

+0

인터페이스에 문제가있는 경우 사용자가하기 전에이 방법으로 찾으십시오. – xmjx

+0

Windows의 모든 응용 프로그램을 사용하면 파일 열기 대화 상자에서 폴더를 삭제하고 만들 수 있습니다. 그것은 반드시 앱의 버그가 아닙니다. –

답변

5

시도 FEST Swing 구성 요소에 이름으로 액세스 한 다음 상호 작용할 수있게하여 Swing GUI의 기능 테스트 프로세스를 간소화합니다.

FEST 사이트에서 예 :

dialog.comboBox("domain").select("Users"); 
dialog.textBox("username").enterText("alex.ruiz"); 
dialog.button("ok").click(); 
dialog.optionPane().requireErrorMessage() 
        .requireMessage("Please enter your password"); 

편집 :

는 다른 방법으로, 당신이 달성하려고하는 무엇 인 Math.random(), 루프, findBomponentAt를 (사용하여 정말 간단합니다 int, int) 및 Robot 클래스입니다. 특히 로봇 클래스는 마우스 및 키보드 이벤트 스푸핑 방법을 가지고 있기 때문에 유용 할 수 있습니다.

+0

시원하게 들리지만 내가 원하는 것은 아닙니다. 나는 자동/무작위/사건들이 해고되기를 바란다. "Math.random()"에서와 같이 "Random Access Memory"와는 다릅니다. – xmjx

+0

그렇다면 달성하고자하는 것은 무엇이든간에 [Math.random()] (http://docs.oracle.com/javase/1.5.0/docs/api/java/)을 사용하여 직접 작성해야합니다. lang/Math.html # random % 28 % 29), 루프, [findBomponentAt (int, int)] (http://docs.oracle.com/javase/1.5.0/docs/api/java/awt/Container .html) 및 [Robot] (http://docs.oracle.com/javase/1.5.0/docs/api/java/awt/Robot.html) 클래스를 참조하십시오. 특히'로봇 '클래스는 마우스와 키보드 이벤트를 속이는 방법을 사용하기 때문에 사용이 가능합니다. – npe

+0

원본 답변을 편집 했으므로 이제 할 수 있습니다. 다행히 도울 수있다. :-) – npe