selenium TestNg 通过XML管理参数

通过XML管理参数

xml文档

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite1">

	<!-- Test5.java Test6.java参数-->
	<test name="Test2" preserve-order="true"><!-- preserve-order为true 主要是控制test下节点classes执行顺序的 -->
		<parameter name="userName" value="test"/>
		<parameter name="userPassword" value="test"/>
		<parameter name="nameID" value="username_show"/>
		<parameter name="passwordId" value="password_show"/>
		<parameter name="btnId" value="password_show"/>
		<classes>
			<class name="com.test.fun.Test5"/>
			<class name="com.test.fun.Test6"/>
		</classes>
	</test>
	
</suite>

Test5.java 程序

package com.test.fun;

import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.AfterMethod;
import com.test.common.InitFunction;

public class Test5 extends InitFunction {
	  
	InitFunction initFun = new InitFunction();
	
  @Parameters({"userName","userPassword"})
  @Test
  public void f(String userName,String userPassword) {
	  driver.get(urlString);
	  initFun.login(userName, userPassword);
  }
  
  @BeforeMethod
  public void beforeMethod() {
	  System.out.println("案例:Test5  执行开始");
	  initFun.setDriver();
  }

  @AfterMethod
  public void afterMethod() {
	  CloseDriver();
	  System.out.println("案例:Test5  执行结束");
  }

}

Test6.java 程序

package com.test.fun;

import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.AfterMethod;
import com.test.common.InitFunction;

/*
 * 参数全部通过xml管理 案例
 */
public class Test6 extends InitFunction {
	
	InitFunction initFun = new InitFunction();
	
  @Parameters({"userName","userPassword","nameID","passwordId","btnId"})
  @Test
  public void f(String userName,String userPassword,String nameID,String passwordId,String btnId) {
	  driver.get(urlString);
	  initFun.login1(userName, userPassword, nameID, passwordId, btnId);
  }
  @BeforeMethod
  public void beforeMethod() {
	  System.out.println("案例:Test6  执行开始");
	  initFun.setDriver();
  }

  @AfterMethod
  public void afterMethod() {
	  initFun.CloseDriver();
	  System.out.println("案例:Test6  执行完成");
  }

}

InitFunction.java

package com.test.common;

import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;

import org.apache.commons.io.FileUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

public class InitFunction {
	
	public static WebDriver driver;
	
	public static WebElement elenium;
		
	public static String userName;// = "test";//账号
	public static String userPassword;// = "test";//密码	
	public static String urlString = "http://www.aaaaaa.com/login";//网址
	
	// 打开IE浏览器
	public void setDriver(){
				
		  System.setProperty("webdriver.ie.driver", "E:\\Soft\\SeleniumSoft\\IEDriverServer.exe");
		  DesiredCapabilities ieCapabilities = DesiredCapabilities
				     .internetExplorer();
				   ieCapabilities
				     .setCapability(
				       InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,
				       true);
		driver = new InternetExplorerDriver(ieCapabilities);
	}
	
	// 关闭页面
	public void CloseDriver(){
		driver.quit();
	}
	
	//---------------------------------1.begin_控件再封装 ------------------------
	// 控件.Sendkeys 优化 (By.id )
	public void ByIdSendkeysFun(String idStr,String keyStr){
		elenium = driver.findElement(By.id(idStr));
		elenium.clear();
		elenium.sendKeys(keyStr);
	}

	// 控件.Sendkeys 优化(By.name)
	public void ByNameSendkeysFun(String nameStr,String keyStr){
		elenium = driver.findElement(By.name(nameStr));
		elenium.clear();
		elenium.sendKeys(keyStr);
	}
	
	// 控件.click 优化 (By.id )
	public void ByIdClickFun(String idStr){ 
		elenium = driver.findElement(By.id(idStr));
		elenium.click();
	}

	// 控件.click 优化(By.name)
	public void ByNameClickFun(String nameStr){
		elenium = driver.findElement(By.name(nameStr));
		elenium.click();
	}
	
	public void login(String userName1,String userPassword1){
		  ByIdSendkeysFun("username_show", userName1);
		  ByIdSendkeysFun("password_show", userPassword1);
		  ByIdClickFun("btn_login");
	}
	
	public void login1(String userName1,String userPassword1,String nameID,String passwordId,String btnId){
		  ByIdSendkeysFun(nameID, userName1);
		  ByIdSendkeysFun(passwordId, userPassword1);
		  ByIdClickFun(btnId);
	}
}

猜你喜欢

转载自blog.csdn.net/wjok2009/article/details/89881623