Java+Selenium3框架设计准备篇3-TestNG实现DDT(1)

        这篇介绍如何利用TestNG实现DDT(数据驱动测试 Data Driver Test),什么是数据驱动测试呢?想想一下这个场景,假如我有50个用户,需要测试登录。你会怎么测试呢。第一个肯定是写50个测试脚本去验证登录。第二个就是采用DDT,把用户名和密码写到一个表格里,然后依次从表格读取去运行这个登录用例。

我们来试试2个用户登录,数据存储在二维数组。

package lessons;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

public class TestDDT {
	
	@Test(dataProvider="testdata")
	public void TestLogin(String username, String password) throws InterruptedException{

		System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");
		WebDriver driver = new ChromeDriver();
		driver.manage().window().maximize();
		driver.get("https://www.baidu.com");
		
		// click login link
		driver.findElement(By.xpath("//*[@id='u1']/a[7]")).click();
		Thread.sleep(2000);
		
		driver.findElement(By.xpath("//*[@id='TANGRAM__PSP_8__userName']")).clear();
		driver.findElement(By.xpath("//*[@id='TANGRAM__PSP_8__userName']")).sendKeys(username);
		driver.findElement(By.xpath("//*[@id='TANGRAM__PSP_8__password']")).clear();
		driver.findElement(By.xpath("//*[@id='TANGRAM__PSP_8__password']")).sendKeys(password);
		
	}
	
	@DataProvider(name="testdata")
	public Object[][] TestDataFeed(){
		//创建一个二维数组
		Object [][] baidudata=new Object[2][2];
		
		// 设置数组的元素值,这里是设置第一个用户名
		baidudata[0][0]="Selenium1@baidu.com";
		
		// 设置第一个用户密码
		baidudata[0][1]="Password1";
		
		// 设置第二个用户名称
		baidudata[1][0]="Selenium2@baidu.com";
		
		// 设置第二个用户密码
		baidudata[1][1]="Password2";
		
		// 返回数据传给脚本
		return baidudata;
	
	}

}
下一篇介绍利用外部excel文件实现数据驱动测试。


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值