通过代码来执行testng.xml

大多数时候,我们都是通过Eclipse IDE上的操作命令来执行testng 框架下的case 运行。那如果我们不想通过这种方式,而是想通过代码调用来实现执行该怎么办?下面是我搜集的两种方式供大家参考,两种方式都是使用TestNG 类里的方法

1. 通过testNG 类的testNG.setTestClasses添加需要执行的case 类名,然后调用testNG.run()方法

                TestNG testNG = new TestNG();
                testNG.setTestClasses(new Class[]{xxx.class,yyy.class});
                testNG.run();

2. 通过testNG 类的testNG.setTestSuites添加需要执行的suites 名(也就是testng.xml文件名),然后调用testNG1.run()方法

                TestNG testNG = new TestNG();
                List<String> suites = new ArrayList<String>();
                suites.add(suite.getSuiteName());
                testNG.setTestSuites(suites);
                testNG.run();

是不是很简单?

在我的实际项目中,我会配合MVC框架结构一起使用,用java swing做一个小操作界面,方式一个小button. 把上面代码放到按钮的click 事件中,就可以run起来了。另外MVC框架整合到我们的自动化测试框架中,也有很多好处,比如操作起来更友好,可以把一些相关配置过程放到里面用界面的形式来做配置,也可以做上log, report功能,做一个树形结构放case,选择case来执行,做一个比suite高一级的多线程模拟持续集成工具能做的事情,等等。有兴趣的朋友可以研究研究哦

上一篇:测试系统工程师TSE的职责与培养


下一篇:C# System.Object基类