TestNG注释

testNG注释:

1. @Before和@After 注释

       这两个就比较多,一般用于在测试构件上。关于测试构件以后详细介绍,测试构件一般有测试之前的操作和测试运行之后的清除数据的操作。

Before分类有@BeforeSuite,@BeforeTest, @BeforeGroups,@BeforeClass,@BeforeMethod

After分类有@AfterSuite,@ AfterTest, @AfterGroups,@ AfterClass,@ AfterMethod

2. @DataProvider注释

标记一个方法是用来给其他测试方法提供数据的方法。要求该方法必须返回是object[][].

3. @Factory

标记这个方法是一个工厂,方法必须返回的是一个对象。

4. @Listeners

在一个测试方法上定义一个监听。例如Selenium自动化测试中需要用到这个事件监听功能,方便我们输出日志。

5. @Parameters

描述了如何给一个测试方法传提参数。

6. @Test

在@Test下有很多选项可以设置,例如用例之间的依赖关系等。
 

以下介绍@Parameters

一、数据驱动测试概念

   数据驱动测试是相同的测试脚本使用不同的测试数据执行,测试数据和测试行为完全分离。

二、实施数据驱动测试的步骤:

1、编写测试脚本,脚本需要支持程序对象、文件或者数据库读入测试数据。

2、将测试脚本使用的测试数据存入程序对象、文件或者数据库等外部介质中。

3、运行脚本,循环调用存储在外部介质的测试数据。

4、验证所有的测试结果是否符合期望的结果。

三、使用TestNG进行数据驱动

使用@DataProvider注解定义当前方法中的返回对象作为测试脚本的测试数据集。

public class OneTestNG {
	private WebDriver driver;
	
  @Test(dataProvider = "searchData")
  public void testSearch(String s1, String s2,String res) {
	  driver.get("http://www.sogou.com");
	  driver.findElement(By.id("query")).sendKeys(s1+" "+s2);
	  driver.findElement(By.id("stb")).click();
	  try {
		Thread.sleep(3000);
	} catch (InterruptedException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	  
	  Assert.assertTrue(driver.getPageSource().contains(res));
  }
  
  

  @DataProvider(name = "searchData")
  public Object[][] data() {
    return new Object[][] {
      new Object[] { "花千骨", "演员","赵丽颖" },
      new Object[] { "原生之罪","演员", "翟天临 "},
      new Object[] { "三生三世十里桃花","演员", "杨幂 "}
      		
    };
  }
  @BeforeMethod
  public void beforeMethod() {
	  System.setProperty("webdriver.chrome.driver",".\\tools\\chromedriver.exe");
	  
	  driver=new ChromeDriver();
	  driver.manage().window().maximize();
	  driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
  }

  @AfterMethod
  public void afterMethod() {
	  driver.quit();
  }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值