0

如何在 Jemmy http://java.net/projects/jemmy中启动多个测试类。我尝试使用这样的代码,但它不起作用。它只启动一项测试。

public class Controller {
    public static void main(String[] args) {
        try {
            Class[] testClasses=AllClassesInPackageFinder.getClasses("test");//finds all classes in package with test.
            String[] classFullNames= new String[testClasses.length];
            for (int i=0; i<testClasses.length; i++){
                classFullNames[i]=testClasses[i].getName();
            }
            org.netbeans.jemmy.Test.main(classFullNames);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        } catch (IOException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }
    }
}
4

2 回答 2

0

如果您创建一个名为“Suite”的单独类,您可以在其中定义测试的顺序以及应该执行哪些测试。这里有一个例子:

public class Suite {

public static Test suite() {
    NbModuleSuite.Configuration conf = NbModuleSuite.emptyConfiguration().
            addTest(CreateNewProjectTest.class, "testCreateProject").
            addTest(AddingElementsTest.class, "testOpenExistingProject", "testOpenTestcase",
                    "testAddElement1", "testAddElement2", "testAddElement3", "testPressOk").
            addTest(OtherClassWithSomeTest.class, "test1", "test2", "test3",
                    "test4", "test5", "test6", "test7", "test8");

    return conf.clusters(".*").enableModules(".*").honorAutoloadEager(true).suite();
}

}

如您所见,您可以定义类的顺序(第一个添加的将是第一个执行的),并且在每个类中您也可以定义每个方法的顺序。

于 2015-03-09T15:13:09.343 回答
0

您应该使用 JUnit 或 TestNG 等测试工具来执行测试。

Jemmy 本身并不是一个测试工具。

于 2012-05-15T12:46:25.947 回答