TestNG控制case运行顺序

发表于:2015-9-30 10:43

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:初学selenium    来源:51Testing软件测试网采编

  Testing.xml 文档结构:
<test name="xxxx" preserve-order="false">
<!-- 参数定义的方法 -->
<parameter name="first-name" value="Cedric"/>
<!-- groups的用法,前提是需要存在classes的组,否则所有方法不被运行 -->
<groups>
<!-- 定义组中组的方法 -->
<define name="groups_name">
<include name="group1"/>
<include name="group2"/>
</define>
<run>
<!-- 此处用组名来区别 -->
<inclue name="groups_name" />
<exclue name="groups_name" />
</run>
</groups>
<!-- classes的用法,classes中包含类名,类名底下可以包含方法名或排除方法名 -->
<classes>
<class name="class1">
<methods>
<!-- 此处用方法名来区别 -->
<inclue name="method_name" />
<exclue name="method_name" />
</methods>
</class>
</classes>
</test>
  1.例如以下代码
package yycuser13.test.testcase;
import org.testng.annotations.*;
public class Test1{
@Test(groups={"login"})
public void login(){
System.out.println("my name id login");
}
@Test(groups={"login"})
public void login1(){
System.out.println("my name id login1");
}
@Test(groups={"logout"})
public void logout(){
System.out.println("my name id logout");
}
@Test(groups={"logout"})
public void logout1(){
System.out.println("my name id logout1");
}
}
  可以将测试用例分组,执行测试时,使用组来管理
  Testng.xml 使用下列写法
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
  <suite name="Suite" parallel="none">
  <test name="testloginandlogout ">
  <groups>
  <run>
  <include name="logout"/>
  <exclue name="login"/>
  </run>
  </groups>
  <classes>
  <class name="yycuser13.test.testcase.Test1">
  </class>
  </classes>
  </test>
  <!-- Test -->
  </suite> <!-- Suite -->
  以上的xml中设置了  只运行logout组
  2.例如下代码、
  package yycuser13.test.testcase;
  import org.testng.annotations.Test;
  public class Test1{
  @Test
  public void login(){
  System.out.println("my name id login");
  }
  @Test
  public void login1(){
  System.out.println("my name id login1");
  }
  @Test
  public void logout(){
  System.out.println("my name id logout");
  }
  @Test
  public void logout1(){
  System.out.println("my name id logout1");
  }
  }
  Testing.xml 文件配置如下
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
  <suite name="Suite" parallel="none" >
  <test name="Test">
  <classes>
  <class name="yycuser13.test.testcase.Test1"  preserve-order="true">
  <methods>
  <include name="login"/>
  <exclude name="login1"/>
  <exclude name="logout"/>
  <include name="logout1"/>
  </methods>
  </class>
  </classes>
  </test> <!-- Test -->
  </suite> <!-- Suite -->
  当preserve-order="true"是,可以保证节点下面的方法是按顺序执行的
  运行结果为:
  my name id login
  my name id logout1
  ===============================================
  Suite
  Total tests run: 2, Failures: 0, Skips: 0
  ===============================================
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号