selenium java 高级技巧篇(必学)多浏览器执行(十二)

 

 

首先创建一个basecase 类

package seleniumCase;

import org.apache.log4j.Logger;
import org.apache.log4j.jmx.LoggerDynamicMBean;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class BaseCase {
	private static Logger logger=Logger.getLogger(BaseCase.class);
   public WebDriver getDriver(String driverType) {
	   
	   WebDriver driver;
	   if(driverType.equalsIgnoreCase("chrome")) {
		   logger.debug("将要进行谷歌浏览器初始化");
		   System.setProperty("webdriver.chrome.driver",
					"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe");
		   driver=new ChromeDriver();
		   return driver;
	   }else if(driverType.equalsIgnoreCase("firefox")){
		   logger.debug("将要进行火狐浏览器初始化");
		   System.setProperty("webdriver.gecko.driver","D:\\webdriver\\geckodriver\\geckodriver.exe");
		   driver=new FirefoxDriver();
		   
		   return driver;
	   }
	   else {
		   logger.error("失败:没有找到相关类型的浏览器驱动");
		   return null;
		   
	   }
   }
}

然后在testNG或者junit类中beforeClass方法中编写代码

package seleniumCase;

import org.testng.annotations.Test;

import Help.HaveOrNo;
import seleniumHandle.LoginHandle;
import seleniumTest.WebDriverA;

import org.testng.annotations.BeforeMethod;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.AssertJUnit;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Parameters;
import org.testng.annotations.AfterTest;

public class LoginCase1 extends BaseCase{
	static Logger logger = Logger.getLogger(LoginCase1.class);

	WebDriver driver;
	WebDriverWait wait;
	HaveOrNo checkElement = new HaveOrNo();
	LoginHandle loginHandle;
	
	@Parameters({"userName","passWord","url"})
	@Test
	public void login(String userName,String passWord,String url) {
		driver.get(url);
		logger.debug("浏览器打开成功");
		
	}


	@BeforeMethod
	public void beforeMethod() {
		System.out.println("beforeMethod");
	}

	@AfterMethod
	public void afterMethod() {
		System.out.println("afterMethod");
	}
@Parameters({"browser"})
	@BeforeClass
	public void beforeClass(String browser) {
		PropertyConfigurator.configure("log4j.properties");
		BaseCase baseCase=new BaseCase();
		driver =baseCase.getDriver(browser);
		driver.manage().window().maximize();
		wait = new WebDriverWait(driver, 3000);
		loginHandle = new LoginHandle(driver);
		logger.debug("浏览器driver初始化成功");
	}

	@AfterClass
	public void afterClass() {
		driver.close();
		System.out.println("afterClass");
	}

	@BeforeTest
	public void beforeTest() {
		System.out.println("beforeTest");
	}

	@AfterTest
	public void afterTest() {
		System.out.println("afterTest");
	}


}

最后设置testNg.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="Suite">
	<test thread-count="5" name="Test">
		<parameter name="passWord" value="1gggg" />
		<parameter name="userName" value="13437868119" />
		<parameter name="url" value="https://www.imooc.com" />
		<parameter name="browser" value="chrome"/>
		<classes>
		
			<class name="seleniumCase.LoginCase1">
				<methods>
					<include name="login"></include>
				</methods>
			</class>
		</classes>
	</test> <!-- Test -->
	<test thread-count="5" name="Test1">
		<parameter name="passWord" value="1gggg" />
		<parameter name="userName" value="13437868119" />
		<parameter name="url" value="https://www.imooc.com" />
		<parameter name="browser" value="firefox"/>
		<classes>
		
			<class name="seleniumCase.LoginCase1">
				<methods>
					<include name="login"></include>
				</methods>
			</class>
		</classes>
	</test> <!-- Test -->
</suite> <!-- Suite -->

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值