一步步教你如何实现自动化测试数据驱动

对于自动化测试,数据驱动是必不可少的,本章演示如何实现简单的数据驱动,后续会更新 java+selenium+testNG读取csv实现数据驱动

1、创建 Java Project

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

创建package和class 名字自取,project如下
在这里插入图片描述
2、环境配置

public static WebDriver driver;
 @BeforeTest
 public void beforeTest() { //测试之前的配置
  System.setProperty("webdriver.gecko.driver", "E:/AutoTest/geckodriver.exe");
  driver = new FirefoxDriver();
  driver.get("http://www.baidu.com");
  driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
 }
@BeforeMethod
 public void beforeMethod() {
 }
 @AfterMethod
 //打算结束后不关闭浏览器,直接在当前页面继续测试
 public void afterMethod() {
  driver.findElement(By.id("kw")).clear();
 }
 @AfterTest
 public void afterTest() {
  driver.quit();
 }

3、数据驱动
3.1 创建一个注解为DataProvider的方法

@DataProvider(name = "data")//注解为DataProvider (数据提供者,name=data)
 public static Object[][] dataProvider() {//创建一个二维数组,并返回如下的值
  return new Object[][] { { "老九门", "演员", "赵丽颖" },
   { "自动化测试", "工具", "selenium " }, 
   { "功夫", "主演", "周星驰" } };
 }
@Test(dataProvider = "data")//测试脚本 定义dataProvider=数据提供者的name
//定义3个String类型的变量 ,数量取决于二维数组
 public void testDemo(String data1, String data2, String result) throws InterruptedException {
  driver.findElement(By.id("kw")).sendKeys("" + data1 + data2);
  driver.findElement(By.id("su")).click();
  Thread.sleep(2000);
  //断言检测搜索的结果是否与预期result一致
  Assert.assertTrue(driver.getPageSource().contains(result));
 }

4、完整代码

public class ProviderDemo {
 public static WebDriver driver;
 @BeforeTest
 public void beforeTest() {
  System.setProperty("webdriver.gecko.driver", "E:/AutoTest/geckodriver.exe");
  driver = new FirefoxDriver();
  driver.get("http://www.baidu.com");
  driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
 }
@BeforeMethod
 public void beforeMethod() {
 }
 @AfterMethod
 public void afterMethod() {
  driver.findElement(By.id("kw")).clear();
 }
 @AfterTest
 public void afterTest() {
  driver.quit();
 }
 @DataProvider(name = "data")
 public static Object[][] dataProvider() {
  return new Object[][] {
   { "老九门", "演员", "赵丽颖" },
   { "自动化测试", "工具", "selenium " }, 
   { "功夫", "主演", "周星驰" } };
 }
 @Test(dataProvider = "data")
 public void testDemo(String data1, String data2, String result) throws InterruptedException {
  driver.findElement(By.id("kw")).sendKeys("" + data1 + data2);
  driver.findElement(By.id("su")).click();
  Thread.sleep(2000);
  Assert.assertTrue(driver.getPageSource().contains(result));
 }
}

5、看下运行结果
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值