我的测试人生........

【转】四种方法实现自动化的逻辑部分和数据处理独立性-1

上一篇 / 下一篇  2013-01-15 22:41:29 / 个人分类:测试技术

四种方法实现自动化的逻辑部分和数据处理独立性

介绍四种方法实现selenium自动化逻辑部分和测试数据的独立的常用方法:

1) 使用testng.xml设置参数 

2) 使用DataProviders提供参数

3) 使用excel表格读取测试数据

4) 使用读取mysql数据库的方法获取测试数据

   其中1,2两种方法都涉及到TestNG的使用,请大家用此两种方法之前熟悉TestNG,在项目的JavaBuild Path里边需要添加testng.jar这个包。

以登录163邮箱的登录页面为例说明这三种测试方法:

注:我在测试的时候所有的程序段都放在com..test.java这个包下 

由于以下的程序段中都会用到login()这个方法,所以把这个login()相关的程序段也展示出来: 

注:login方法在Login()这个类里边

importorg.openqa.selenium.WebDriver;

importorg.openqa.selenium.WebElement;

importorg.openqa.selenium.support.FindBy;

importorg.testng.annotations.Test; 

@Test

publicclasslogin {

 

   @FindBy(id="idInput")   privateWebElementyonghuming;

   @FindBy(id="pwdInput")   privateWebElementmima;

 

   @FindBy(id="loginBtn")

   privateWebElementdenglu;

   public voidlogin(WebDriver driver,String username,String password)

      driver.get("http://mail.163.com");

 

       yonghuming.sendKeys(username);

       mima.sendKeys(password);     

       denglu.click();   

   }

}

 

一、使用testng.xml设置参数testLogin1.xml里边的内容为:

<?xmlversion="1.0"encoding="UTF-8"?>

 

<suitename="Suite"parallel="false">

 <parametername="username"value="justForYourTesting"/>

 <parametername="password"value="135135"/>

 <testname="testLogin1">

   <classes>

     <classname="com.test.java.testLogin1"/>   </classes>

 </test><!-- Test -->

</suite><!-- Suite -->

上面的usernamepassword两个参数是登录163邮箱的时候用到的用户名和密码。

packagecom.test.java;

importorg.openqa.selenium.WebDriver;

importorg.openqa.selenium.firefox.FirefoxDriver;

 

importorg.openqa.selenium.support.PageFactory;

 

importorg.testng.annotations.Parameters;

 

importorg.testng.annotations.Test;

publicclasstestLogin1 {

   @Test

@Parameters({"username","password"}) // usernamepassword两个变//量名称必须和testLogin.xml里边的参数名字一样

   publicvoidtestLogin(String username, String password)   {

   WebDriver driver=newFirefoxDriver();

   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的方式运行了.


TAG:

 

评分:0

我来说两句

Open Toolbar