TestNG之测试方法依赖关系(dependsOnMethods、dependsOngroups)

一,dependsOnMethods:

通过方法名给出测试方法的依赖关系

正常的测试用例顺序应该是test1>test2>test3>test4

这里在test1写了依赖关系为test4,所以此时运行后的结果是如图中test4>test2>test3>test1

TestNG之测试方法依赖关系(dependsOnMethods、dependsOngroups)

 依赖关系的规则是:1, 优先被依赖关系方法

                                   2,没有依赖关系的

                                   3,需要依赖关系的

dependONmethods的异常抛出 :

TestNG之测试方法依赖关系(dependsOnMethods、dependsOngroups)

二,dependONgroups(以组名方式测试依赖方法)

对于多个被依赖的测试方法,可以通过方法名直接给出(dependsOnMethods = {"test2","test3"}),也可以通过组名给出被依赖的测试方法。 

组名添加:@Test(groups={“组名称”})

@Test(dependsOnGrops=“组名”)

注:方法名时用的是{};

TestNG之测试方法依赖关系(dependsOnMethods、dependsOngroups)

三,通过xml文件配置组名依赖方法( 主要是测试组的用法)

测试组:一个组可包含多个测试方法,可进行组嵌套

1,test1属于功能测试,test02属于接口测试,test03属于接口和功能测试 ,test4是不属于任何组

TestNG之测试方法依赖关系(dependsOnMethods、dependsOngroups)

2,仅运行API测试 时,xml文件的配置

TestNG之测试方法依赖关系(dependsOnMethods、dependsOngroups)

 

结果是只运行了API方法的测试用例,如果只运行功能测试,这时把api换成function即可

3,运行API和功能测试的用例方法

TestNG之测试方法依赖关系(dependsOnMethods、dependsOngroups)

 

 从结果可看出 test4不属于任何用户组 所以没有运行,inclulde 用于执行多个测试组用例的执行

4,exclude :执行除了某用例之外的其他用例

例如,执行除了API接口的其他用例

TestNG之测试方法依赖关系(dependsOnMethods、dependsOngroups)

5,利用正则表达式来写组名

这里先把组名API改成了 API test

正则用来代替组名较长的时候

TestNG之测试方法依赖关系(dependsOnMethods、dependsOngroups)

6,组嵌套

每个用例都要归属于 一个组名,所有组都归All管理,这样xml run一个All 即可;

TestNG之测试方法依赖关系(dependsOnMethods、dependsOngroups)

7,根据xml配置文件中的  groups 的<dependencies>来做用例组依赖执行

TestNG之测试方法依赖关系(dependsOnMethods、dependsOngroups)

xml配置文件配置如下

TestNG之测试方法依赖关系(dependsOnMethods、dependsOngroups)

 测试用例组的顺序是:先执行被依赖的组的方法用例,再执行没有依赖关系的 最后执行需要依赖关系的用例方法;