通过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);
}
}