TESTNG听录音笔记

1. 是什么:有了它可以管理测试用例,做数据驱动,多线程模式下case的鲍旭类型

2. 如何生成testng的xml文件 -- based on Eclipse

Eclipse里装上testn插件,指定classname 线程数,自动申城xml

基本的TestNG脚本,true,是有序的。

如果配置不支持并行,threadcount不要设置为2. 这要求case可以并行运行,这时有依赖的方法就会失败。并行模式有两种选择,一个是类,一个是方法,如果选择了方法,如果count=2,则这两个方法同时吊起来,则可能是失败的。

parallel:并行模式,包括方法和类两种。

下面两个图是关于MEthod的。。。

上图,Newtest测试类中,只选择了两个测试方法,此时,g不是NewTest组的,c属于,那么runcase时该如何运行呢?是交集模式还是并行模式?此处会按照include方法名字去run。当groups和method标签共存时,以method为准。用在如下场景:当时间紧迫,需要并行run case时,怎样处理有依赖关系的testcase呢?看下图

singleThreaded=true 就可以保证方法级别并行运行的case也先后顺序执行,在需要这么处理的case方法后面加上这个就可以了

 

testNG分组:基于@test中的一个属性分组。

定义了两个组 @Test(groups={"functiontest"}) 这是测试类,

          public class NewTest{}

@Test(groups = {"P1"}) 这是常见的写法,case中定义的级别是P1的

public void test2(){

}

@Test表示当前所有的测试方法,都属于functiontest组,而test2方法既属于这个组,又属于P1组。

那么组如何指定呢? -- 回到xml文档中

include name = 中指定的就是组,这里支持正则表达式

 

更技术的:Method,很先进,见上面两个图

 

 

数据驱动:

dataProvider = "dp" 提供数据提供者的名字,这个方法有两个参数,

上图是dp的定义 数据分层

这个是分层,这么使用testdata.class时,dataprovider需要是静态的,否则运行时会报错

dp1(Method method )用于得到测试方法名字

未完待续

 

 

posted on 2014-04-15 23:57  麦兜布熊  阅读(290)  评论(0编辑  收藏  举报