TA的每日心情 | 开心 2024-10-4 10:34 |
---|
签到天数: 1208 天 连续签到: 1 天 [LV.10]测试总司令
|
转载
http://www.51testing.com/html/87/300987-832115.html
51上的代码,看着太费劲儿
四种方法实现自动化的逻辑部分和数据处理独立性
介绍四种方法实现selenium自动化逻辑部分和测试数据的独立的常用方法:
1) 使用testng.xml设置参数
2) 使用DataProviders提供参数
3) 使用excel表格读取测试数据
4) 使用读取mysql数据库的方法获取测试数据
其中1,2两种方法都涉及到TestNG的使用,请大家用此两种方法之前熟悉TestNG,在项目的Java Build Path里边需要添加testng.jar这个包。
一、login class
package com.test.com.test.java;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.testng.annotations.Test;
@Test
public class login {
@FindBy(id="idInput")
private WebElement yonghuming;
@FindBy(id="pwdInput")
private WebElement mima;
@FindBy(id="loginBtn")
private WebElement denglu;
public void login (WebDriver driver,String username,String password)
{
driver.get("http://mail.163.com");
yonghuming.sendKeys(username);
mima.sendKeys(password);
denglu.click();
}
}
二、使用testng.xml设置参数
testLogin1.xml里边的内容为:
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Suite" parallel="false">
<parameter name="username" value="justForYourTesting"/>
<parameter name="password" value="135135"/>
<test name="testLogin1">
<classes>
<class name="com.test.com.test.java.testLogin1"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
上面的username和password两个参数是登录163邮箱的时候用到的用户名和密码。
三、testLogin1 调用
package com.test.com.test.java;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.PageFactory;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class testLogin1 {
@Test
@Parameters({"username","password"}) // username和password两个变//量名称必须和testLogin.xml里边的参数名字一样
public void testLogin(String username, String password)
{
System.setProperty("webdriver.chrome.driver", "C:/chromedriver.exe");
WebDriver driver = new ChromeDriver();
login m=PageFactory.initElements(driver, login.class);
m.login(driver,username,password);
}
}
当程序运行到@Parameters({"username","password"})这条注解的时候会自动去testLogin.xml里边查找这两个参数的值。然后将这两个参数的值作为实参传递给testLogin(String,String)方法。
这种方法只能通过右键点击testLogin1.xml选择Run as > TestNG Suite的方式运行了. |
|