selenium单例模式+testng.xml运行

解决问题:
1.批量运行用例
2.只实例化运行一个浏览器运行脚本
3.继承同样可以实现只实例化一个脚本
4.testng.xml运行用例时失败也会继续执行剩余的

testng.xml文件配置(包名.类名)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" verbose="1">
  <test name = "test" >
   <classes>
  <class name="kefuappointment.ShopBooking"></class>
  <class name="kefuappointment.TestMall"></class>
  <class name="kefuappointment.bookjava"></class>
   </classes>
</test>
</suite>

实现单例模式

public class SingletonWebDriver {

	public static  WebDriver instance = null;
    public static WebDriver getWebDriver(String browserDriverType,String browserDriverPath) {
        if(instance == null) {
          
            if("webdriver.chrome.driver".equalsIgnoreCase(browserDriverType)) {
                System.setProperty(browserDriverType, browserDriverPath);
                instance = new ChromeDriver();
                
            }else if ("webdriver.ie.driver".equalsIgnoreCase(browserDriverType)) {
                System.setProperty(browserDriverType, browserDriverPath);
                instance = new InternetExplorerDriver();
                
            }else if ("webdriver.gecko.driver".equalsIgnoreCase(browserDriverType)) {
                System.setProperty(browserDriverType, browserDriverPath);
                instance = new FirefoxDriver();
        }
    }   
        return instance;
    }

调用单例模式.实例化浏览器

SingletonWebDriver driv=new SingletonWebDriver();
	  WebDriver driver=driv.getWebDriver("webdriver.gecko.driver", "F:\\firefoxdriver\\geckodriver.exe");

你可能感兴趣的:(selenium)