大多数时候,我们都是通过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高一级的多线程模拟持续集成工具能做的事情,等等。有兴趣的朋友可以研究研究哦