Java 如何开始使用Jemmy v2
我想学习如何测试JavaSwing用户界面,并想尝试一下JemmyV2。当我试图按照上面的说明去做时,我遇到了麻烦。我创建了一个新项目,目前只包含以下类,我想启动我想测试的应用程序,并创建对该应用程序的引用。 不幸的是,我似乎在做一些根本错误的事情,因为我要测试的应用程序一激活,就会抛出一个“java.lang.ClassCastException”异常Java 如何开始使用Jemmy v2,java,swing,jemmy,Java,Swing,Jemmy,我想学习如何测试JavaSwing用户界面,并想尝试一下JemmyV2。当我试图按照上面的说明去做时,我遇到了麻烦。我创建了一个新项目,目前只包含以下类,我想启动我想测试的应用程序,并创建对该应用程序的引用。 不幸的是,我似乎在做一些根本错误的事情,因为我要测试的应用程序一激活,就会抛出一个“java.lang.ClassCastException”异常 import org.netbeans.jemmy.*; import org.netbeans.jemmy.explorer.*; impo
import org.netbeans.jemmy.*;
import org.netbeans.jemmy.explorer.*;
import org.netbeans.jemmy.operators.*;
public class Main implements Scenario
{
public int runIt(Object param)
{
try {
//start application
new ClassReference("org.netbeans.jemmy.explorer.GUIBrowser").startApplication();
//wait frame
new JFrameOperator("Tic-Tac-Toe 3.0");
} catch(Exception e) {
e.printStackTrace();
return(1);
}
return(0);
}
public static void main(String[] argv)
{
String[] params = {"sut2.TicTacToe"};
org.netbeans.jemmy.Test.main(params);
}
}
我得到的例外情况是:
Shortcut test events
Using org.netbeans.jemmy.drivers.DefaultDriverInstaller driver installer
Executed test sut2.TicTacToe
Exception in thread "main" java.lang.ClassCastException: sut2.TicTacToe cannot be cast to org.netbeans.jemmy.Scenario
at org.netbeans.jemmy.Test.testForName(Test.java:265)
at org.netbeans.jemmy.Test.<init>(Test.java:113)
at org.netbeans.jemmy.Test.run(Test.java:176)
at org.netbeans.jemmy.Test.run(Test.java:202)
at org.netbeans.jemmy.Test.main(Test.java:250)
at Main.main(Main.java:25)
快捷测试事件
使用org.netbeans.jemmy.drivers.DefaultDriverInstaller驱动程序安装程序
已执行测试sut2.TicTacToe
线程“main”java.lang.ClassCastException中的异常:无法将sut2.TicTacToe转换为org.netbeans.jemmy.Scenario
位于org.netbeans.jemmy.Test.testForName(Test.java:265)
位于org.netbeans.jemmy.Test(Test.java:113)
位于org.netbeans.jemmy.Test.run(Test.java:176)
位于org.netbeans.jemmy.Test.run(Test.java:202)
位于org.netbeans.jemmy.Test.main(Test.java:250)
Main.Main(Main.java:25)
TictatCoe是一个实现ActionListener的类,但不扩展JFrame(我尝试了另一个更简单的java程序,但得到了相同的结果)。在这个类中,创建了一个JFrame对象,并添加了带有GUI组件的面板
您能告诉/告诉我我做错了什么,以及我应该如何正确设置Jemmy v2吗?看起来您将错误的
参数传递给了org.netbeans.Jemmy.Test.main
。它期望实现场景
。假设Main
在默认软件包中,请尝试以下操作:
public static void main(String[] argv) {
String[] params = { "Main" };
org.netbeans.jemmy.Test.main(params);
}
您可以根据需要指定Main
的包。看起来您向org.netbeans.jemmy.Test.Main
传递了错误的参数。它期望实现场景
。假设Main
在默认软件包中,请尝试以下操作:
public static void main(String[] argv) {
String[] params = { "Main" };
org.netbeans.jemmy.Test.main(params);
}
您可以根据需要指定Main
的包。谢谢,我错误地认为“参数”应该指向被测试的应用程序,而不是测试类本身。我现在可以开始尝试创建一个测试了。非常感谢。谢谢,我错误地认为“params”应该指向被测试的应用程序,而不是测试类本身。我现在可以开始尝试创建一个测试了。谢谢。